<?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; web 2.0</title>
	<atom:link href="http://learningtheworld.eu/tag/web-20/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>Brain Food</title>
		<link>http://learningtheworld.eu/2007/brain-food/</link>
		<comments>http://learningtheworld.eu/2007/brain-food/#comments</comments>
		<pubDate>Thu, 18 Jan 2007 21:00:02 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[conferences]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[@media]]></category>
		<category><![CDATA[@media 2007]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[aria]]></category>
		<category><![CDATA[atmedia]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[e-accessibility]]></category>
		<category><![CDATA[edean]]></category>
		<category><![CDATA[geek meeting]]></category>
		<category><![CDATA[Mobile Web]]></category>
		<category><![CDATA[ubiquitous web]]></category>
		<category><![CDATA[UbiWeb]]></category>
		<category><![CDATA[unconference]]></category>
		<category><![CDATA[upcoming:event=175023]]></category>
		<category><![CDATA[WAI]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[webmontag]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/2007/brain-food/</guid>
		<description><![CDATA[There are two (un)conferences on January 29th that I can recommend, and a third in June: the 7th Webmontag in Frankfurt, the First European e-Accessibility Forum in Paris, and @media 2007 in London. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>There are two <strong>(un)conferences</strong> on January 29th that I can recommend, and a third in June:</p>

<ol>
<li>
<p id="webmontag" class="description">The geek meeting in <strong>Frankfurt</strong> known as <strong><a href="http://www.webmontag.de/doku.php?id=frankfurt" class="url summary">Webmontag</a></strong> will be held for the seventh time at the <a href="http://www.brotfabrik.info/index.php?id=10" class="location">Brotfabrik</a>. So far there are <span class="dtstart" title="20070129T1900+0100">short</span> <span class="dtend" title="20070129T2100+0100">lectures</span> about a social photosharing network, semantic webworking <acronym title="peer to peer">P2P</acronym> transactions, and a wireless match maker, but you are free to present your own work and research.</p>

<p>After all, this is an informal meeting organized through a Wiki where you can <strong>participate and share your knowledge</strong>. Not necessarily technical knowledge, also designers, project managers, and information architects have been spotted&nbsp;&mdash; I wish they would speak up more often. Admission is free, so if you are in the Frankfurt area you have no excuse not to attend.</p>
</li>

<li>
<p id="e-accessibility">The second conference almost slipped my radar: it&rsquo;s the <strong><a href="http://inova.snv.jussieu.fr/evenements/colloques/servonline/Description/index_en.php" class="url summary">First European e-Accessibility Forum</a></strong> in <strong class="location">Paris</strong>, organized by the French accessibility entity <a href="http://www.braillenet.org">BrailleNet</a> and <a href="http://www.edean.org"><acronym>EDeAN</acronym></a> (European Design for All e-Accessibility Network). While I can&rsquo;t say much about BrailleNet, EDeAN is the official accessibility outreach organization of the <acronym title="European Union">EU</acronym>. So far they have kept a low profile doing politics and research in the background, but it&rsquo;s about time more people learn about their existence.</p>

<p class="description">For only &euro;&nbsp;90 you get a day packed with high quality accessibility information from industry leaders: Microsoft&rsquo;s French Technical Director speaks about accessibility in the Web 2.0 context. <acronym>IBM</acronym>s <a href="http://www-03.ibm.com/developerworks/blogs/page/schwer" rel="met colleague">Rich Schwerdtfeger</a>, member of both the <acronym title="Web Accessibility Initiative">WAI</acronym> Protocols and Formats Working Group and the <acronym title="Hypertext Markup Language">HTML</acronym> Working Group, is next with accessible rich internet applications (<a href="http://www.w3.org/TR/aria-roadmap/"><acronym>ARIA</acronym></a>). Among other speakers, there will be <a href="http://www.wait-till-i.com" rel="met colleague">Christian Heilmann</a> (Yahoo!), <a href="http://www.w3.org/People/cooper/" rel="colleague">Michael Cooper</a> (<acronym title="World Wide Web Consortium">W3C</acronym>&nbsp;/ <acronym title="Web Accessibility Initiative">WAI</acronym>), Steven Faulkner (developer of the Web Accessibility Toolbar), Dave Wilton (Legal &amp; General, the insurance company that got best practice credits in the <acronym title="United Kingdom">UK</acronym>&rsquo;s <acronym title="Publicly Available Specification">PAS</acronym>&nbsp;78), Julie Howell (former accessibility champion of the Royal National Institute of the Blind), <a href="http://www.w3.org/People/Dom/" rel="colleague">Dominique Hazaël-Massieux</a> (<acronym>W3C</acronym>), and Miguel González-Sancho (European Commission). They will talk about accessibility and the Mobile Web, the <a href="http://www.w3.org/UbiWeb/"><acronym title="Ubiquitous Web">UbiWeb</acronym></a>, harmonization of European accessibility and a European label, or present a couple of case studies from print, banking, and job websites.</p>
<p>You better be fast for that one, registration is only open until Saturday, <span class="dtstart" title="20070129T0900+0100">January</span> <span class="dtend" title="20070129T1800+0100">20th</span>.</p>
</li>

<li id="atmedia" class="description">Last but not least the website for the <strong><a href="http://www.vivabit.com/atmedia2007/" class="url summary">@media</a> conference</strong> has been updated yesterday, so you can register for the event in <strong><span class="location">London</span>, June <span class="dtstart" title="20070607T0930+0100">7th</span> and <span class="dtend" title="20070608T1800+0100">8th</span></strong>, or earlier in Asia and the <acronym title="United States">US</acronym>. <a href="/2006/atmedia-day-one/">Last year&rsquo;s event</a> was fun and inspirational, so start fast-talking your employer now!</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2007/brain-food/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
