<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Learning the World &#187; role</title>
	<atom:link href="http://learningtheworld.eu/tag/role/feed/" rel="self" type="application/rss+xml" />
	<link>http://learningtheworld.eu</link>
	<description></description>
	<lastBuildDate>Tue, 06 Nov 2012 00:17:33 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.1</generator>
	<item>
		<title>Accessible Drop-Down Menus</title>
		<link>http://learningtheworld.eu/2008/accessible-drop-down-menus/</link>
		<comments>http://learningtheworld.eu/2008/accessible-drop-down-menus/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 08:00:09 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[ageing]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[aria]]></category>
		<category><![CDATA[arrow keys]]></category>
		<category><![CDATA[assistive technologies]]></category>
		<category><![CDATA[AT]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[blur]]></category>
		<category><![CDATA[buffer]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[DHTML]]></category>
		<category><![CDATA[drop-down]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[event delegation]]></category>
		<category><![CDATA[fly-out]]></category>
		<category><![CDATA[focus]]></category>
		<category><![CDATA[Hick's Law]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[image replacement]]></category>
		<category><![CDATA[internationalization]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[keyboard access]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[menulist]]></category>
		<category><![CDATA[multi-level menus]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[pull-down]]></category>
		<category><![CDATA[role]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[screen reader]]></category>
		<category><![CDATA[screenreader]]></category>
		<category><![CDATA[sIFR]]></category>
		<category><![CDATA[tab order]]></category>
		<category><![CDATA[text resize]]></category>
		<category><![CDATA[WCAG]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/?p=171</guid>
		<description><![CDATA[A few days ago a co-worker asked if <strong><acronym title="Dynamic HTML">DHTML</acronym> drop-down menus pose a problem with accessibility</strong>. Since the Web Content Accessibility Guidelines 1.0 (<acronym>WCAG</acronym>) declared all JavaScript <em>evil</em> in 1999, assistive technologies (<acronym>AT</acronym>) have made significant progress. So we cannot condemn pull-down menus altogether, but there are various reasons to keep an eye on them buggers.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>A few days ago a co-worker asked if <strong><acronym title="Dynamic HTML">DHTML</acronym> drop-down menus pose a problem with accessibility</strong>. Since the Web Content Accessibility Guidelines 1.0 (<acronym>WCAG</acronym>) declared all JavaScript <em>evil</em> in 1999, assistive technologies (<acronym>AT</acronym>) have made significant progress. So we cannot condemn pull-down menus altogether, but there are various reasons to keep an eye on them buggers:</p>

<ol>
<li id="ageing"><p><strong>Older people</strong> have difficulties with drop-down and <a href="http://www.w3.org/TR/wai-age-literature/">multi-level menus</a>, because their manual dexterity, eye-hand coordination and space perception decreases. Also some move the mouse when clicking, or tremble, hence it&#8217;s more likely they slip off the menu. Hell, that happens to <em>me</em> frequently!</p>
<p>However, did you notice the Windows Start Menu is more forgiving when you slip off an item? There&#8217;s a little delay before the secondary level is hidden. Perhaps we need an event-capturing script tolerating a slip from the menu rather than the immediate reaction of the <code>mouseout</code> event.</p></li>
<li id="hicks-law"><p>Nested menus are <strong>more complex</strong>. According to <a href="http://en.wikipedia.org/wiki/Hick%27s_law">Hick&#8217;s Law</a> orientation in a multi-level menu can take longer than multiple clicks in a flat menu with good information architecture. See an <a href="http://learningtheworld.eu/2007/usability-analysis/#hicks-law">earlier article</a> for the math.</p></li>
<li id="keyboard-access"><p>The navigation must be <strong>accessible by keyboard alone</strong>. The result should be the same, whether you hover over an item or tab to it. So check for the <code>focus</code> event and <acronym title="Cascading Style Sheets">CSS</acronym> pseudo-class. Don&#8217;t forget to test backwards tabbing (<kbd>shift tab</kbd>). By the way, mobile devices have no mouse either&hellip;</p>
<p>The <strong>tab order</strong> should be consistent and logical, <abbr>i.e.</abbr> not jumping around on a page. Also the focused item should be visible, for example highlighted with the default 1px dotted border some browsers draw around it. Some people think this is ugly and remove the default border. That is a no-no.</p>
<p>And if you <em>really</em> want desktop behavior, add support for the <strong>arrow keys</strong> (<code>event.keyCode</code> 37-40). Keep in mind though that screen readers have predefined functions for the arrow keys in combination with the <kbd>ctrl</kbd>, <kbd>shift</kbd>, or <kbd>alt</kbd> keys. In JavaScript those keys can be detected with the <code>event.ctrlKey</code>, <code>event.altKey</code>, and <code>event.shiftKey</code> properties. Also <strong>crossbrowser event delegation</strong> for <code>focus</code> or <code>blur</code> events can be a bitch, thankfully <a href="http://www.quirksmode.org/blog/archives/2008/04/delegating_the.html"><acronym title="Peter-Paul Koch">PPK</acronym> has a solution</a>.</p></li>
<li id="skip-content"><p>Users of <acronym>AT</acronym> should have means to <strong>skip content</strong>. That&#8217;s possible with semantic markup: a menu as (nested) list(s) enables them to jump to the next block. Also there should be <em>a few</em> skip links at the beginning of the code pointing to important sections on the page, such as content, navigation, or search. Mobile users also profit from that technique (try surfing eBay with Opera Mini <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" />  ).</p></li>
<li id="links"><p><strong>Pages never link to themselves.</strong> When I click on a link (the menu being no exception) I expect to land on a <em>different</em> page. Therefore it&#8217;s confusing to land on the same page. This happened to me recently when I was filling out a form on my mobile phone and got the same page with an error message. It took me a while to realize where I was. It&#8217;s the same whether you have a tiny screen or a low screen resolution to see things larger when you are visually impaired: you only see a small part of the page, so it&#8217;s hard to realize when something unexpected happens.</p></li>
<li id="aria"><p>You can add some semantic sugar with the <strong><acronym title="Accessible Rich Internet Applications">ARIA</acronym> <code>role</code></strong> property. In this case <code>&lt;ul role=&quot;navigation&quot;&gt;</code> would be appropriate. I strongly encourage you to use <acronym>ARIA</acronym> as it is widely supported by browsers and screen readers, enhances a disabled user&#8217;s experience, and doesn&#8217;t break old browsers. A most <a href="http://dev.opera.com/articles/view/introduction-to-wai-aria/">recent introduction</a> has been written by Gez Lemon for the Opera Developer Community.</p></li>
<li id="buffer"><p>If a second level navigation is initially hidden with <code>display:none</code> it won&#8217;t be in the <strong>screen reader buffer</strong>. Therefore off-screen positioning is a better idea, else you need to <a href="http://juicystudio.com/article/improving-ajax-applications-for-jaws-users.php">update the buffer</a> by writing random values into a hidden <code>input</code> field.</p></li>
<li id="scaling"><p>A common problem in menus is <strong>limited horizontal space</strong>. Text should be scalable, and it must not jut-out into other page elements when it is <strong>enlarged</strong>. Even normal text can break a narrow menu when you think of internationalization. In German there are many composite words. While building a website for a competing brand I came across a menu item on the Philips website for &ldquo;male grooming.&rdquo; The German word &bdquo;<span xml:lang="de" lang="de">Körperhaarpflegesystem</span>&rdquo; is guaranteed to blow every menu! <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> </p>
<p>Another common problem that prevents scaling in menus are <strong>text graphics</strong>. I know marketing just <em>loves</em> to see the corporate font in the main menu, but text in images can&#8217;t be scaled, people with visual impairments can&#8217;t change text and background colors for higher contrast, and <strong>Flash Image Replacement</strong> like sIFR still has <a href="http://virtuelvis.com/archives/2005/04/i-hate-sifr">accessibility issues</a>, is known to <a href="http://www.456bereastreet.com/archive/200712/choose_an_accessible_image_replacement_method/#comment26">distort fonts</a>, is <a href="http://www.mezzoblue.com/archives/2004/10/26/sifr/">CPU intensive and slow</a>. The bottom line is: don&#8217;t use text as images, make textual information text.</p></li>
</ol>

<p id="technical-issues">So much for accessibility. Besides there are a few <strong>technical issues</strong> to consider: mobile devices often have problems with JavaScript or with layers. Some proxies in large companies <a href="http://www.robertnyman.com/2006/04/25/an-important-lesson-learned-about-ajax-and-accessibility/">filter JavaScript</a> for security reasons, so you can&#8217;t rely on the ubiquitous availability, your script has to be unobtrusive, and you can&#8217;t rely on <code>noscript</code> either. Don&#8217;t even think of creating a menu from JavaScript arrays.</p>

<p>Moreover there&#8217;s a well-known bug in <acronym title="Internet Explorer">IE</acronym>6 responsible for showing <code>select</code> lists always in front of any layers (like your second level menu), regardless of a <code>z-index</code>. Thankfully there are plugins like <a href="http://brandonaaron.net/docs/bgiframe/">bgiframe</a> for jQuery to solve this. Multi-level menus can bloat the code, event handling can be CPU intensive (use <a href="http://icant.co.uk/sandbox/eventdelegation/">event delegation</a>). And if large amounts of menu code is at the beginning, the real content gets further behind and less relevant for search engines.</p>

<p>In <strong>conclusion</strong>, for an alleged quicker entry you pay with many disadvantages. Often drop-down menus just conceal a poorly planned information architecture. I would reconsider their usage.</p>

<p>Did I forget something? What&#8217;s your opinion on drop-down menus? Love them or hate them?</p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2008/accessible-drop-down-menus/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The XHTML Access Module</title>
		<link>http://learningtheworld.eu/2008/xhtml-access-module/</link>
		<comments>http://learningtheworld.eu/2008/xhtml-access-module/#comments</comments>
		<pubDate>Fri, 11 Jan 2008 20:45:21 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[aria]]></category>
		<category><![CDATA[element]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[ria]]></category>
		<category><![CDATA[Richard Schwerdtfeger]]></category>
		<category><![CDATA[role]]></category>
		<category><![CDATA[T.V. Raman]]></category>
		<category><![CDATA[tv]]></category>
		<category><![CDATA[working draft]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[XHTML 1.1]]></category>
		<category><![CDATA[XHTML 2.0]]></category>
		<category><![CDATA[xhtml-role]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/2008/xhtml-access-module/</guid>
		<description><![CDATA[I would like to introduce the <strong><acronym title="Extensible Hypertext Markup Language">XHTML</acronym> Access Module</strong>, a new working draft released by the <acronym>XHTML</acronym>&#160;2 Working Group of the World Wide Web Consortium (<acronym>W3C</acronym>). The module is intended to improve accessibility and extend <acronym>XHTML</acronym> Roles.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I would like to introduce the <strong><a href="http://www.w3.org/TR/xhtml-access/"><acronym title="Extensible Hypertext Markup Language">XHTML</acronym> Access Module</a></strong>, a new working draft released by the <acronym>XHTML</acronym>&nbsp;2 Working Group of the World Wide Web Consortium (<acronym>W3C</acronym>). As you know, the <em>X</em> in <acronym>XHTML</acronym> stands for &ldquo;extensible.&rdquo; Also you may have heard that <acronym>XHTML</acronym> 1.1 and 2 are modular specifications, so it&rsquo;s easier and more flexible to extend the core modules by bolting some extra modules on whenever special features are required. I have described before how to extend <acronym>XHTML</acronym> with the <a href="/2007/xhtml-with-target/">Target Module</a> or the <a href="http://www.alistapart.com/articles/waiaria#implementations">Accessible Rich Internet Applications (<acronym>ARIA</acronym>) modules</a>. So the <acronym>XHTML</acronym> Access Module is a new module intended to <strong>improve accessibility</strong> and extend <a href="http://www.alistapart.com/articles/waiaria#role"><acronym>XHTML</acronym> Roles</a>.</p>

<p>Otherwise the draft&rsquo;s abstract and introduction are vague and leave room for interpretation what this is exactly about. What I have understood is:</p>

<ol>
<li>This module defines <strong>a new element</strong> with the name <code>access</code>.</li>
<li>The element can be used to define an <strong>access key</strong> for any other element.</li>
<li>Another usage <em>could</em> be as a skip link as there is a <code>targetid</code> and <code>targetrole</code> attribute.</li>
</ol>

<p>For me it remained unclear whether this element belongs in the <code>head</code> like <code>link</code> elements, or in the <code>body</code> like anchors or <code>label</code> elements. Anyway, among other <a href="http://www.w3.org/TR/2002/WD-xhtml2-20020805/mod-attribute-collections.html#col_Common">Common attributes</a> it can have a <code>title</code> plus a few <strong>new attributes</strong>: <code>key</code>, <code>targetid</code>, <code>targetrole</code>, and <code>activate</code>.</p>

<ul>
<li>The <code>key</code> attribute is optional and defines an <strong>access key</strong> in a generic way. So far there was only the <code>accesskey</code> attribute for anchors and form elements, now any fancy Web&nbsp;2.0 <code>div</code> element impersonating something else can receive focus by striking a key. Browser vendors are encouraged to emphasize the responsive character in a word, like underlining it. Also the working draft provides a description what user agents should do if there are conflicts with existing shortcut keys. So the team paid attention to the discussions about the reasonableness of the <code>accesskey</code> attribute.</li>
<li>The <code>targetid</code> and <code>targetrole</code> attributes <strong>assign targets</strong> by <code>id</code> or <code>role</code>. There can be more than one of each, comma separated. I imagine that&rsquo;s like tabbing through elements, but with a shortcut key.</li>
<li>The last new <code>access</code> attribute is <code>activate</code>. I must admit I have no clear idea what &ldquo;activate&rdquo; could mean or what this attribute is good for. An element receives focus, so there should be a perceivable effect, some sort of feedback to the user. If an author does not want this, there are ways to suppress default renderings by <acronym title="Cascading Stylesheets">CSS</acronym>. If she doesn&rsquo;t want the <code>focus</code> event to trigger something, there&rsquo;s JavaScript to cancel it.</li>
</ul>

<p>I thought of playing with the new element, but it&rsquo;s too early for a <strong>test implementation</strong>. The working draft still lacks a <acronym title="Extensible Markup Language">XML</acronym> Schema that could be used in namespaces. It would be possible to <a href="/2007/xhtml-with-target/#dtd-extension">extend a <acronym title="Document Type Definition">DTD</acronym></a> without much conflicts, alas the module doesn&rsquo;t come in one box, but in two (again). So you would need to append both the <em>qname</em> module and the <em>access</em> module instead of simply adding <em>the</em> access module. I don&rsquo;t understand the rationale for this separation, but I see it&rsquo;s more painful for an author to implement it that way.</p>

<p>However, the <code>access</code> element provides a better and more generic functionality than existing alternatives, it fills the gap of missing access keys, and if I got it right it defines a standardized method for skip links, although this could be expressed clearer. Apart from the usual suspects there is Google&rsquo;s accessibility specialist <strong><a href="http://emacspeak.sourceforge.net/raman/">T. V. Raman</a></strong> on the team, and <strong><a href="http://www-128.ibm.com/developerworks/blogs/page/schwer">Richard Schwerdtfeger</a></strong> from the team that built more accessibility into Firefox, the Open Document Format, and IAccessible2 as an accessibility interface for screen readers. So my bet is we will see support for this element in our favorite browser as soon as this draft is more mature. Your turn, Microsoft.</p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2008/xhtml-access-module/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A-listed</title>
		<link>http://learningtheworld.eu/2007/a-listed/</link>
		<comments>http://learningtheworld.eu/2007/a-listed/#comments</comments>
		<pubDate>Tue, 10 Apr 2007 10:00:13 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[A List Apart]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[ALA]]></category>
		<category><![CDATA[aria]]></category>
		<category><![CDATA[barcamp]]></category>
		<category><![CDATA[berlin]]></category>
		<category><![CDATA[Frankfurt]]></category>
		<category><![CDATA[iico]]></category>
		<category><![CDATA[properties]]></category>
		<category><![CDATA[ria]]></category>
		<category><![CDATA[role]]></category>
		<category><![CDATA[states]]></category>
		<category><![CDATA[talks]]></category>
		<category><![CDATA[upcoming:event=166143]]></category>
		<category><![CDATA[upcoming:event=175017]]></category>
		<category><![CDATA[web2.0]]></category>
		<category><![CDATA[xhtml-role]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/2007/a-listed/</guid>
		<description><![CDATA[Web 2.0 applications can enhance <em>usability</em>, alas a lot of issues remain to make them <em>accessible</em>. Gez Lemon has come up with scripting solutions to inform screen readers about the change of content, but when I talked with Jan Eric Hellbusch he deemed it rather confusing because the user&#8217;s work flow is interrupted. The <acronym title="World Wide Web Consortium">W3C</acronym>&#8217;s standards draft for <strong>Accessible Rich Internet Applications</strong> (<acronym>ARIA</acronym>) addresses those limitations. I held talks about the upcoming standards in Cologne and Frankfurt, which resulted in writing a blog entry about the topic that eventually became an article for <strong>A List Apart</strong>. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><strong>Web 2.0 applications</strong> can enhance <em>usability</em>, alas a lot of issues remain to make them <em>accessible</em>. Gez Lemon has come up with <a href="http://juicystudio.com/article/making-ajax-work-with-screen-readers.php" title="JuicyStudio: Making Ajax Work with Screen Readers">scripting solutions</a> to inform screen readers about the change of content, but when I talked with <a href="http://www.barrierefreies-webdesign.de" hreflang="de">Jan Eric Hellbusch</a> he deemed it rather confusing because the user&rsquo;s work flow is interrupted.</p>

<p>The <acronym title="World Wide Web Consortium">W3C</acronym>&rsquo;s standards draft for <strong>Accessible Rich Internet Applications (<acronym>ARIA</acronym>)</strong> addresses those limitations. It provides new ways of communicating meaning, importance, and relationships, and it fills gaps in the <acronym title="Extensible Hypertext Markup Language">(X)HTML</acronym> specifications and increases usability for all users by enabling navigation models familiar from desktop applications. Best of all, you can start using <acronym>ARIA</acronym> right away to enhance the accessibility of your websites.</p>

<p>I held talks about the upcoming standards in Cologne and Frankfurt, which resulted in writing a blog entry about the topic that eventually became an <a href="http://www.alistapart.com/articles/waiaria">article for <strong>A List Apart</strong></a>. <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> </p>

<p><strong>Update:</strong> there&rsquo;s also a <a href="http://www.barrierekompass.de/weblog/index.php?itemid=541">German translation</a> of the article at <span xml:lang="de" lang="de">Barrierekompass</span>.</p>

<p>If you&rsquo;d like to learn more I&rsquo;ll be speaking at the <strong><a href="http://barcampfrankfurt.pbwiki.com">BarCamp in Frankfurt</a></strong> on April 21-22, and the <strong><a href="http://www.iico.de/c_referenten_und_vortraege/tech.html#kliehm">Infopark Internet Congress</a></strong> in Berlin on May 11th.</p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2007/a-listed/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
	</channel>
</rss>
