<?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>Bruce Lawson's  personal site &#187; ARIA</title>
	<atom:link href="http://www.brucelawson.co.uk/category/accessibility-web-standards/aria/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brucelawson.co.uk</link>
	<description></description>
	<lastBuildDate>Wed, 08 Feb 2012 10:12:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Nesting ARIA roles</title>
		<link>http://www.brucelawson.co.uk/2012/nesting-aria-roles/</link>
		<comments>http://www.brucelawson.co.uk/2012/nesting-aria-roles/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 13:45:31 +0000</pubDate>
		<dc:creator>Bruce</dc:creator>
				<category><![CDATA[accessibility  web standards]]></category>
		<category><![CDATA[ARIA]]></category>

		<guid isPermaLink="false">http://www.brucelawson.co.uk/?p=4118</guid>
		<description><![CDATA[A couple of people have asked me recently if it&#8217;s possible to nest ARIA roles. The answer: yes. Not all of them, of course. Think of HTML elements; you can nest &#60;div&#62;s inside &#60;nav&#62;s and &#60;nav&#62;s within &#60;header&#62;s, but you can&#8217;t put an &#60;a&#62; inside an &#60;input&#62; or put an &#60;input&#62; inside another &#60;input&#62; &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of people have asked me recently if it&#8217;s possible to nest ARIA roles. The answer: yes.</p>
<p>Not all of them, of course. Think of HTML elements; you can nest &lt;div&gt;s inside &lt;nav&gt;s and &lt;nav&gt;s within &lt;header&gt;s, but you can&#8217;t put an &lt;a&gt; inside an   &lt;input&gt; or put an &lt;input&gt; inside another  &lt;input&gt; &#8211; they just wouldn&#8217;t make sense.</p>
<p>In ARIA, it&#8217;s perfectly fine to have <code>role=article</code> inside <code>role=main</code> (which is completely analogous to an HTML5 &lt;article&gt; inside a &lt;div id=&#8221;main&#8221;&gt;.</p>
<p>It&#8217;s also fine (as far as I know) to have roles like main inside a &lt;table role=&#8221;presentation&#8221;&gt;. Although the table is presentational only (it&#8217;s an old-fashioned layout table), it doesn&#8217;t mean that all the contents are presentational &#8211; one cell could contain the entire main content of a site and therefore quite legitimately have a <code>role="main"</code>.</p>
<p>The rule of thumb I use is: if your nesting feels right, it probably is right.</p>
<p>Note also that the <a href="http://validator.html5.nu">HTML5 validator</a> also validates ARIA. Even if your content isn&#8217;t HTML5, it&#8217;s still worth running it through the validator.</p>
<p>Note, I&#8217;m  not an ARIA expert. Please, if I&#8217;ve made a mistake, let me know!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brucelawson.co.uk/2012/nesting-aria-roles/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>JavaScript and screenreaders</title>
		<link>http://www.brucelawson.co.uk/2011/javascript-and-screenreaders/</link>
		<comments>http://www.brucelawson.co.uk/2011/javascript-and-screenreaders/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 10:03:12 +0000</pubDate>
		<dc:creator>Bruce</dc:creator>
				<category><![CDATA[accessibility  web standards]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Opera]]></category>

		<guid isPermaLink="false">http://www.brucelawson.co.uk/?p=3307</guid>
		<description><![CDATA[For three years Jared Smith and his lovable chums at WebAIM have conducted a survey of screenreader users, analysed the result and posted them. This year&#8217;s results are out. Let&#8217;s take a moment to give them a round of applause. There is much to digest, but one figure really caught my attention: only 1.6% of [...]]]></description>
			<content:encoded><![CDATA[<p>For three years  <a href="http://webaim.org/contact/#jaredsmith">Jared Smith</a> and his lovable chums at <a href="http://webaim.org/">WebAIM</a> have conducted a survey of screenreader users, analysed the result and posted them. <a href="http://webaim.org/projects/screenreadersurvey3/">This year&#8217;s results are out</a>. Let&#8217;s take a moment  to give them a round of applause.</p>
<p>There is much to digest, but one figure really caught my attention: only 1.6% of respondents had JavaScript disabled. Turning that round, <strong>98.4% of screenreader users had JavaScript enabled</strong>.</p>
<p>Hopefully this will finally bury the WCAG1-era myth that JavaScript is automatically bad for accessibility or that pages that depend on scripting are inaccessible to assistive technologies. </p>
<p>This myth came about from the early days of screenreaders, which took a snapshot of the rendered page into a buffer and, when a user was navigating a page, he was really navigating that snapshot. If a page was changed with script the user wouldn&#8217;t know because another snapshot wasn&#8217;t triggered. (Even in this model, some JavaScript was fine. If, for example, your page contained lots of <code>document.write</code>s that executed immediately, and wrote HTML to the page, that would be available.)</p>
<p>As the Web made more use of &#8220;Ajax&#8221;, screenreaders became  more sophisticated and now can handle most scripted interactions. This doesn&#8217;t mean that JavaScript is always fine to use; just as you can write inaccessible HTML and CSS, it&#8217;s possible to script away accessibility. An understanding of <a href="http://dev.opera.com/articles/view/introduction-to-wai-aria/">WAI ARIA</a> is vital to professional JavaScripters.</p>
<p>(It&#8217;s also important to understand that not all accessibility needs are assistive technology needs. Christian Heilmann and Antonia Hyde showed that some scripting can be empowering for people with cognitive problems with their <a href="http://icant.co.uk/easy-youtube/">Easy YouTube</a> and <a href="http://www.wait-till-i.com/2008/06/13/easy-flickr-just-the-photos-please/">Easy Flickr</a>.)</p>
<p>So we know that script doesn&#8217;t scare off assistive technologies, and we know from Yahoo! developer  Nicholas C. Zakas&#8217; report <a href="http://developer.yahoo.com/blogs/ydn/posts/2010/10/how-many-users-have-javascript-disabled/">How many users have JavaScript disabled?</a> that only 1% of visitors to Yahoo! have turned off JavaScript. Does this mean that we can safely forget about those who can&#8217;t use JavaScript.</p>
<p>Well, no. But <strong>JavaScript-required is not an accessibility problem, it&#8217;s  a usability problem</strong>. As Zakas says</p>
<blockquote><p>While the percentage of visitors with JavaScript disabled seems like a low number, keep in mind that small percentages of big numbers are also big numbers.</p></blockquote>
<p>We spend a lot of time making our sites work with old browsers, using JavaScript shivs and polyfills but we don&#8217;t talk much about users without JavaScript. The Opera mini browser, for example, is the most-widespread mobile browser out there but, because it renders on a server, interactivity is limited (See <a href="http://dev.opera.com/articles/view/opera-mini-web-content-authoring-guidelines/">Opera Mini: web content authoring guidelines</a> for more information.)</p>
<p>How far can an application that requires Web Sockets, local storage, cross-domain messaging, canvas be expected to degrade gracefully?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brucelawson.co.uk/2011/javascript-and-screenreaders/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>HTML5: bolt-on or built-in accessibility?</title>
		<link>http://www.brucelawson.co.uk/2010/html5-bolt-on-or-built-in-accessibility/</link>
		<comments>http://www.brucelawson.co.uk/2010/html5-bolt-on-or-built-in-accessibility/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 10:51:32 +0000</pubDate>
		<dc:creator>Bruce</dc:creator>
				<category><![CDATA[accessibility  web standards]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://www.brucelawson.co.uk/?p=2636</guid>
		<description><![CDATA[Parallel with the discussion in the comments to my post HTML5 details element, built-in and bolt-on accessibility, some cleverer minds than mine (Edward O&#8217;Connor, John Foliot, Tab Atkins, Jonas Sicking) have been working on a proposal Retain several newly-introduced semantic elements, attributes, and controls to retain structures that some have proposed be scrapped, such as [...]]]></description>
			<content:encoded><![CDATA[<p>Parallel with the discussion in the comments to my post <a href="/2010/html5-details-element-built-in-and-bolt-on-accessibility/">HTML5 details element, built-in and bolt-on accessibility</a>, some cleverer minds than mine (Edward O&#8217;Connor, John Foliot, Tab Atkins, Jonas Sicking) have been working on a proposal  <a href="http://www.w3.org/html/wg/wiki/ChangeProposals/KeepNewElements">Retain several newly-introduced semantic elements, attributes, and controls</a> to retain  structures that some have proposed be scrapped, such as <code>aside</code>, <code>details</code>, <code>figure</code>, <code>meter</code>, <code>progress</code> and the <a href="http://dev.w3.org/html5/spec/editing.html#the-hidden-attribute"><code>hidden</code></a> attribute. </p>
<p>It&#8217;s a short but must-read if you&#8217;re interested in the debates between bolt-on and built-in accessibility in <abbr>HTML</abbr>5.</p>
<p>I had no hand in its authoring, but fully support the proposal and arguments. (I tried to add my name to the end of the proposal to demonstrate immoral support, but am so crap I couldn&#8217;t even remember my W3C password.)</p>
<p>See also this <a href="http://lists.w3.org/Archives/Public/public-html/2010Apr/1150.html">interesting and impassioned email from John Foliot</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brucelawson.co.uk/2010/html5-bolt-on-or-built-in-accessibility/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>jQuery accessible HTML5 video captioning plugin</title>
		<link>http://www.brucelawson.co.uk/2010/jquery-accessible-html5-video-captioning-plugin/</link>
		<comments>http://www.brucelawson.co.uk/2010/jquery-accessible-html5-video-captioning-plugin/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 10:45:27 +0000</pubDate>
		<dc:creator>Bruce</dc:creator>
				<category><![CDATA[accessibility  web standards]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://www.brucelawson.co.uk/?p=2503</guid>
		<description><![CDATA[Last month, I wrote an article on Accessible HTML5 Video with JavaScripted captions and dreamed that some clever JavaScripters would take it up and improve it, making it more generic so that a developer could mark up a transcript with timestamps, call in a library and -hey presto!- there would be captions. Those nice chaps [...]]]></description>
			<content:encoded><![CDATA[<p>Last month, I wrote an article on <a href="http://dev.opera.com/articles/view/accessible-html5-video-with-javascripted-captions/">Accessible HTML5 Video with JavaScripted captions</a> and dreamed that some clever JavaScripters would take it up and improve it, making it more generic so that a developer could mark up a transcript with timestamps, call in a library and -hey presto!- there would be captions.</p>
<p>Those nice chaps at 360innovate have started work on a jQuery plugin called <a href="http://www.360innovate.co.uk/blog/2010/02/jcaps-making-html5-video-captions-easier-with-jquery-plugin/">jCaps</a>.</p>
<p>As it&#8217;s all open licensed, if anyone fancies participating, it would be jolly. Here&#8217;s a wishlist that I&#8217;d love to see, and would write if I were not so scripting-challenged:</p>
<ol>
<li>
<p>It would be useful to point to the transcriptions via the <code>aria-describedby</code> attribute on the video element, the values of which point to the <code>id</code> of an element containing the transcript (which could therefore be an <code>article</code>, a <code>div</code> or whatever). You can have multiple values on <code>aria-describedby</code> (like you can with <code>class</code>) so that allows you to point to different translations.</p>
<p>This allows you to have transcripts anywhere in the source, so greater flexibility for laying out the page.</p>
</li>
<li>
<p>If there are multiple transcripts for a single video, they need to have a <code>lang</code> attribute, and the script should construct a <code>select</code> element so the user can choose the language they wish to see transcripts in. (The first one offered should be the transcript that matches the <code>lang</code> attribute on the <code>html</code> element; if there isn&#8217;t one, the default should be the first in source order.</p>
</li>
<li>
<p>I&#8217;d love to see a sexy (and stylable) skin around the <code>video</code> element that had a YouTube-stylee user interface that houses all the buttons for turning on captions, transcripts and the language picker.</p>
</li>
</ol>
<p>Anyone up for the challenge, and generous enough to release it as a BSD-licensed library/plug-in?</p>
<div class="nb">
<p><strong>Note that this technique will have a limited shelf-life. The <abbr>HTML</abbr> Accessibility Working Group have two specifications that will enable captioning etc to be done natively once the spec is agreed and (of course) implemented.</strong></p>
<ul>
<li><a href="http://www.w3.org/WAI/PF/HTML/wiki/Media_TextAssociations">Media Text Associations</a></li>
<li><a href="http://www.w3.org/WAI/PF/HTML/wiki/Media_MultitrackAPI">Media Multitrack API</a></li>
</ul>
<p>See my related post: <a href="/2010/accessibility-jam-tomorrow/">Some accessibility today or full accessibility jam tomorrow?</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.brucelawson.co.uk/2010/jquery-accessible-html5-video-captioning-plugin/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Meffys, @media, standards.next</title>
		<link>http://www.brucelawson.co.uk/2009/meffys-atmedia-standardsnext/</link>
		<comments>http://www.brucelawson.co.uk/2009/meffys-atmedia-standardsnext/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 11:23:06 +0000</pubDate>
		<dc:creator>Bruce</dc:creator>
				<category><![CDATA[accessibility  web standards]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Opera]]></category>

		<guid isPermaLink="false">http://www.brucelawson.co.uk/?p=1756</guid>
		<description><![CDATA[Corblimey what a week and no mistake guv. (Sorry, still getting the last Lahndahn molecules out of my system.) The Meffys Firstly, on Tuesday, I attended a formal event on behalf of Opera as our Opera Mini mobile web browser was up for Best Mobile Application at the Mobile Entertainment Forum&#8216;s Meffys awards. I&#8217;m not [...]]]></description>
			<content:encoded><![CDATA[<p>Corblimey what a week and no mistake guv. (Sorry, still getting the last Lahndahn molecules out of my system.)</p>
<h3>The Meffys</h3>
<p>Firstly, on Tuesday, I attended a formal event on behalf of Opera as our Opera Mini mobile web browser was up for Best Mobile Application at the <a href="http://www.m-e-f.org/">Mobile Entertainment Forum</a>&#8216;s <a href="http://www.m-e-f.org/news/meffys_winners_showcase_vibrant_mobile_entertainment_industry/">Meffys awards</a>. I&#8217;m not really a suit-and-tie  business dinner type person, but duty called so I went along in my wedding-and-funeral suit for the onerous task of drinking free mojitos while listening to the host <a href="http://en.wikipedia.org/wiki/Hardeep_Singh_Kohli">Hardeep Singh Kohli</a>. (Lots of people said they found him too abrasive, but I thought he was a good choice.)</p>
<p>Lo and behold &#8211; we won! Feeling very proud and, forgetting my acceptance speech that our <abbr>PR</abbr> types had prepared, I clambered onto the stage and made an impromptu thankyou speech which would have the PR team having palpitations were it recorded anywhere, did a quick video interview for a journalist and took the coveted award home back for a couple of relaxed tie-less beers with David Storey and Chris Mills in the hotel bar.</p>
<h3>@media</h3>
<p>At media was primarily a great gathering of the clans&mdash;I thought that the line up was playing it safe (entirely understandable in the current climate). I [particularly enjoyed persuading 30 people away from some poncey overpriced South Bank bistro in favour of a Waterloo greasy spoon where they stayed open especially to serve us snake and pygmy pie with beans and chips and a pint of lager for under a tenner.</p>
<p>The best speech for me was Robin Christopherson&#8217;s, in which he discussed ARIA and CAPTCHA as well as phone accessibility. I  made an unscheduled appearance on stage as the <abbr>HTML</abbr> 5 cowboy during Molly&#8217;s presentation and donated the backless faux-leather chaps to Chris Wilson of Microsoft who&#8217;s the co-chair of the <abbr>W3C</abbr>&#8216;s <abbr>HTML</abbr> 5 working group. He said that he would pass them onto Ian Hickson. I hope that they do the rounds of <abbr>HTML</abbr> 5 movers-and-shakers.</p>
<h3>Standards.next</h3>
<p>On Saturday the first <a href="http://www.standards-next.org/">standards.next</a> informal emerging tech bootcamp took place. I was delighted how it went, having co-organised it with Henny Swan. We cajoled a stellar line-up of speakers to sit in a friendly (but very hot and sticky) atmosphere and really get under the skin of <abbr>HTML</abbr> 5. I humbly thank every one of them.</p>
<h4>Me</h4>
<p>I over-ran on time without finishing my slides, discussing some myths that are causing unnecessary FUD and doing a basic demo of markup for a blog.</p>
<ul>
<li>Slides: <a href="http://people.opera.com/brucel/talks/2009/standardsnext/standards-next.ods">HTML 5: Are you mything the point? (.ods, 1.8 M)</a> (<a href="http://blip.tv/file/2299151"><abbr>HTML</abbr> 5 Myths: Video</a>)</li>
<li><a href="http://people.opera.com/brucel/talks/2009/standardsnext/basic-1.html"><abbr>HTML</abbr> 5: Basic blog markup</a></li>
<li><a href="http://people.opera.com/brucel/talks/2009/standardsnext/basic-2.html"><abbr>HTML</abbr> 5: Basic blog markup, with <abbr>IE</abbr> styling trick</a></li>
<li><a href="http://people.opera.com/brucel/talks/2009/standardsnext/multi-header-footers.html"><abbr>HTML</abbr> 5: Using multiple headers and footers for multiple blog posts</a></li>
<li><a href="http://people.opera.com/brucel/talks/2009/standardsnext/with-comments.html"><abbr>HTML</abbr> 5: Nested articles for comments</a></li>
<li><a href="http://people.opera.com/brucel/demo/canvas/index.html"><abbr>HTML</abbr> 5: Canvas game demo</a></li>
<li><a href="http://people.opera.com/brucel/demo/html5-forms-demo.html"><abbr>HTML</abbr> 5 Forms demo</a></li>
</ul>
<h4>Remy Sharp</h4>
<p>Remy demoed the state of play with the new JavaScript <abbr>API</abbr>s. You can check out his <a href="http://remysharp.com/talks/#2009_standardsnext"><abbr>HTML</abbr> 5 JavaScript <abbr>API</abbr>s slides</a> and try his <a href="http://html5demos.com/"><abbr>HTML</abbr> 5 JavaScript demoes</a>, or watch the <a href="http://blip.tv/file/2297936"><abbr>HTML</abbr> JavaScript: video</a> of his presentation.</p>
<h4>Dean Edwards</h4>
<p>For the first half of <a href="http://blip.tv/file/2299313">Dean Edwards&#8217; <abbr>HTML5</abbr>.js talk</a>, most people couldn&#8217;t grasp the magnitude of what they were seeing. Dean was showing his new JavaScript library that plugs the holes in browsers&#8217; <abbr>HTML</abbr> 5 implementations. If a browser does do something natively, ther library does nothing; otherwise it fills that gap&mdash;so now you can have Web Forms with all browsers, <code>canvas</code> in <abbr>IE. As a bonus, it&#8217;s all keyboard accessible, everything looks like native </abbr><abbr>UI</abbr> controls and it even inherits  the native Windows themes. I&#8217;m looking forward to helping beta test this baby.</p>
<h4>Martin Kliehm</h4>
<p>Martin showed several demoes of the new <code>canvas</code> element that blew my mind. I&#8217;d rather assumed that it was just for wiggly graphics and maybe on-the-fly graphing but Martin showed some combinations of <code>canvas</code> interacting with video (because once everything is in the browser rather than plugins, they can all talk to each other).</p>
<p>There is real potential for new interaction models for people with learning disabilities, older people and kids.</p>
<ul>
<li><a href="http://www.slideshare.net/kliehm/standardsnext-canvas-1651377">Martin Kliehm: <abbr>HTML</abbr> 5 <code>canvas</code> slides</a></li>
<li><a href="http://delicious.com/kliehm/standardsnext">Martin Kliehm: <abbr>HTML</abbr> 5 <code>canvas</code> links</a></li>
<li><a href="http://www.flickr.com/photos/martin-kliehm/sets/72157620689437384/">Martin Kliehm: <abbr>HTML</abbr> 5 <code>canvas</code> demo videos</a></li>
</ul>
<h4>Steve Faulkner</h4>
<p>Steve discussed the <a href="http://www.slideshare.net/stevefaulkner/html-5-accessibility">accessibility issues of the <abbr>HTML</abbr> 5 spec and its relationship with ARIA</a>. I came away from Steve and Martins&#8217; talks convinced that the biggest barrier will be the lack of real support for <code>canvas</code> accessibility and commend Steve for fighting this in the Working Group. I shall be standing with him in future.</p>
<p>I want to thank all the speakers who volunteered to share their knowledge, passion and expertise with us, and thanks to all who attended, and interacted with all the speakers to help us firm up our knowledge.</p>
<p>Although there were some problems (heat, pillars in the way), the event went exactly as Henny and I hoped: a relaxed pub (&pound;1.95 a pint of bitter and you can take your own sandwiches in!), short focussed speeches of 30 minutes so speakers don&#8217;t feel the need to pad and a genuinely interested crowd who participated rather than passively absorbed the information. This lady is an excellent example:</p>
<p><a href="http://www.flickr.com/photos/24374884@N08/3674972526/"><img src="http://farm4.static.flickr.com/3540/3674972526_78641b5540.jpg" width="500" height="354" alt="Stephanie (?) have a riveting time at standards.next" class="border standalone" /></a></p>
<h4><abbr>HTML</abbr> 5 Doctor</h4>
<p>I plugged it at @media and standards.next (and forgot to give out the moo cards), and we&#8217;ve launched the bare bones of it today &#8211; <a href="http://www.html5doctor.com/"><abbr>HTML</abbr> 5 Doctor</a> (named in  homage to an early Zeldman feature called &#8220;Ask Dr. Web&#8221;).</p>
<h4>High Standards t-shirts</h4>
<p>If you got a freebie High Standards t-shirt from us at standards.next, please post a picture of you wearing it to Flickr and tag it <a href="http://www.flickr.com/photos/tags/highstandards/">highstandards</a>, because I want to remember how lovely you are.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brucelawson.co.uk/2009/meffys-atmedia-standardsnext/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>The accessibility of HTML 5 autofocus</title>
		<link>http://www.brucelawson.co.uk/2009/the-accessibility-of-html-5-autofocus/</link>
		<comments>http://www.brucelawson.co.uk/2009/the-accessibility-of-html-5-autofocus/#comments</comments>
		<pubDate>Wed, 27 May 2009 11:23:07 +0000</pubDate>
		<dc:creator>Bruce</dc:creator>
				<category><![CDATA[accessibility  web standards]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://www.brucelawson.co.uk/?p=1680</guid>
		<description><![CDATA[Last week, I published an HTML 5 contact form WordPress plugin that used the HTML autofocus attribute to put the focus into the first form field. Marc Aplet commented about the accessibility of doing that, for which I am very grateful as it made me think more deeply about it. Thanks to those on twitter [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, I published an <a href="/2009/html-5-wordpress-contact-form-plugin/"><abbr>HTML</abbr> 5 contact form WordPress plugin</a> that used the <abbr>HTML</abbr> <code>autofocus</code> attribute to put the focus into the first form field.</p>
<p><a href="/2009/html-5-wordpress-contact-form-plugin/#comment-610157">Marc Aplet commented</a>  about the accessibility of doing that, for which I am very grateful as it made me think more deeply about it. Thanks to those on twitter who helped me further with my thinking.</p>
<p>Note that  potential accessibility problems are not restricted to the <abbr>HTML</abbr> 5 use of autofocus; current JavaScript ways of doing it  cause the same problems.</p>
<p>I believe that autofocussing into a form is a usability win for most people if the purpose of the page is that form&mdash;for example, the Google hompage. So, I wouldn&#8217;t autofocus into the search box or comment field on this page  because the primary purpose of this page is discussing this article  which requires prior reading. Most people are lurkers, not commenters, so it&#8217;s against usability to autofocus into the comment form. But a contact form is the primary purpose of a contact page, and it saves users a keystroke to put the caret into the first field&mdash;particularly usable for mobile phone users.</p>
<p>However, screenreader users find themselves dumped in the middle of a form, potentially without context (athough it&#8217;s always possible to tell the screenreader to repeat the <code>title</code> of the page, and we all give our pages useful titles, don&#8217;t we?). </p>
<p>Moreover, many forms have explanatory or introductory information preceeding them. My contact form does, although that&#8217;s somewhat flippant. A better example is <a href="http://directory.salford.ac.uk/">Salford University&#8217;s Online Staff Directory Quick Search Page</a>. The explanatory information is correctly outside the <code>form</code> element, as JAWS and (I think) Windows-Eye ignore any text that&#8217;s not inside <code>legend</code> and <code>label</code> elements when they&#8217;re in Forms mode.</p>
<p>What we need, then, is a way to associate some explanatory descriptive text that&#8217;s <em>outside</em> the form with the form itself (in a similar way that <code>label</code> and <code>input</code> are explicitly  associated). Then a screenreader user could be alerted to the presence of this descriptive material by this programmatic association, and optionally choose to have it read out to them.</p>
<p>Enter <code>aria-describedby</code>. The <a href="http://www.w3.org/TR/wai-aria/#aria-describedby">ARIA spec says</a> </p>
<blockquote cite="http://www.w3.org/TR/wai-aria/#aria-describedby"><p>An accessible description may be computed by concatenating the text equivalents for nodes pointed to by an aria-describedby attribute on the current node.</p></blockquote>
<p>So, I recoded the plugin (<a href="/downloads/easy-contact-html5.zip">download it</a>; it&#8217;s at your own risk etc) so that the descriptive matter is enclosed in a <code>div id="form-description"</code>. The <code>form</code> element has the attribute <code>aria-describedby="form-description"</code> (because the description is for the whole form).</p>
<p>I don&#8217;t know if any screenreaders offer a keystroke to query this information yet (it&#8217;s over a year since I&#8217;ve been near a screenreader), but as the vendors have worked closely with the WAI-ARIA authors I imagine it won&#8217;t be long.</p>
<p>I also amended the plugin so that it has a belt-and-braces approach to the form fields that are required. In addition to the <abbr>HTML</abbr> 5 <code>required</code> attribute, I&#8217;ve added <code>aria-required="true"</code> as this is probably closer to implementation by screenreader vendors. </p>
<p>Because there are already two programmatic methods of indicating that a field is required, I&#8217;ve removed the traditional method of including an asterisk in the markup, as it&#8217;s possible to style the form fields with CSS&mdash;I&#8217;ve used a thick black border. (I tried to  use attribute selectors to generate the string &#8220;required&#8221; immediately after the form field, but that gets surrounded by the field border rather than living outside it. The result is minging, even by this site&#8217;s low design standards.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brucelawson.co.uk/2009/the-accessibility-of-html-5-autofocus/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>

