<?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>Marco's accessibility blog &#187; ARIA</title>
	<atom:link href="http://www.marcozehe.de/category/aria/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.marcozehe.de</link>
	<description>Musings, tips and tricks about the accessible software world</description>
	<lastBuildDate>Tue, 31 Jan 2012 20:22:51 +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>From WAI-ARIA to HTML5 and back&#8230;or maybe not?</title>
		<link>http://www.marcozehe.de/2011/12/05/from-wai-aria-to-html5-and-back-or-maybe-not/</link>
		<comments>http://www.marcozehe.de/2011/12/05/from-wai-aria-to-html5-and-back-or-maybe-not/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 12:01:17 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[ConstraintValidation]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5Forms]]></category>
		<category><![CDATA[WAI-ARIA]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=291</guid>
		<description><![CDATA[Over the weekend, I gave a presentation at the German Multimediatreff. I talked about how to make things more accessible by combining HTML5 and WAI-ARIA in smart ways, using HTML5 where available and appropriate, and enhancing the user experience where &#8230; <a href="http://www.marcozehe.de/2011/12/05/from-wai-aria-to-html5-and-back-or-maybe-not/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Over the weekend, I gave a presentation at the German <a href="http://www.multimediatreff.de"><span lang="de">Multimediatreff</span></a>. I talked about how to make things more accessible by combining HTML5 and WAI-ARIA in smart ways, using HTML5 where available and appropriate, and enhancing the user experience where HTML5 still has gaps in the implementation. This is a recap of what I showed.</p>
<h3>The premise</h3>
<p>The base for my talk is my third <a href="http://www.marcozehe.de/2008/07/16/easy-aria-tip-3-aria-invalid-and-role-alert/">easy ARIA tip</a>, where I enhanced a form with some basic local form validation to help users fill it out and avoid errors upon submission. If you are not or no longer familiar with what I did there, stop reading here and go read that post again as a recap. If you are caught up, let&#8217;s move on!</p>
<h3>From WAI-ARIA to HTML5</h3>
<p>Since then, a lot of time has passed, and we&#8217;re now much better equipped with native markup magic that HTML5 supplies us. Thankfully, Firefox and also other browsers implement most, if not all, these features now, so we can move ahead with our changes. To remind you, WAI-ARIA is there to enhance, not substitute, native markup, so whereever possible, we should use native markup when available. These changes are:</p>
<ol>
<li>Strip all JavaScript: Let&#8217;s start clean and see how far the new native markup stuff gets us!</li>
<li>Throw out all <em><code>aria-required="true"</code></em> instances and replace them with the HTML5 <em>required</em> attribute. This gives us automatic flagging of a required field not only via accessibility APIs, but also through visual indicators. Also, a required field is automatically flagged as invalid if it is empty.</li>
<li>For the field &#8216;name&#8217;, add a <em>pattern</em> attribute containing a regular expression that defines a valid name consist of some characters, one space, and some more characters. This will cover most cases, and if you&#8217;d like something more complex, consider me giving you some homework. <img src='http://www.marcozehe.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
<li>The field &#8220;email&#8221; gets the <em>type</em> &#8220;email&#8221;, the field &#8220;website&#8221; gets the <em>type</em> &#8220;url&#8221; set. This gives us proper validation of e-mail addresses and URLs respectively right upon entry. Moreover, on mobile devices with a virtual keyboard, the most common extra keys are usually provided right out of the box.</li>
</ol>
<p>In addition, for a better error message, I am using the non-standard <em>x-moz-errormessage</em> attribute on the &#8220;name&#8221; field to tell users that the name was entered wrong rather than the standard &#8220;patterns don&#8217;t match&#8221; error message the browsers usually throw at users in the instance of them having entered a wrong value.</p>
<p>In addition, the name field contains (already in the ARIA example) a title attribute that tells users that a name must consist of at least two words.</p>
<p>Filling out this form now gives us validation upon submission. Firefox sets focus back to any invalid field it finds when users press the &#8220;submit&#8221; button. In addition, an error message is displayed describing the problem.</p>
<h3>&#8230;and back</h3>
<p>Our original example, however, was better in that it provided validation right at the point when an entry lost focus. Since this is a dynamically created alert box that is not yet a native HTML5 element, we <strong>have</strong> to resort to WAI-ARIA again to make this work the same, but using the HTML5 validation benefits. So, let&#8217;s enhance our example:</p>
<ol>
<li>Bring back the first two functions from the original ARIA version unchanged. These remove any existing alert box, and they create a new alert with the given message.</li>
<li>Adjust the function that is called in the <em>onblur</em> handler of the &#8220;name&#8221; and &#8220;email&#8221; fields (see below):
<ol>
<li>First, we have to adjust the function name to something that doesn&#8217;t clash with a reserved word. I used <code>testIfEntryIsValid</code>.</li>
<li>Now, get rid of the search string and error message parameters. These are no longer needed because the validation is done by the browser, and we simply use the HTML5 form constraints API to ask the browser for the relevant info. Also, the browser provides us with the appropriate error message, so no need to generate one ourselves here.</li>
<li>In the if clause, simply ask if the call to the checkValidity() method of the element we obtained in the line above gives us a &#8220;true&#8221; or &#8220;false&#8221; result. If true, simply remove the old alert. If false, create an alert and use the element&#8217;s validationMessage property as the message parameter. The browser will handle the rest for us.</li>
<li>Remove the lines that set <em>aria-invalid</em>. These are no longer needed, since the browser&#8217;s constraint validation will provide the invalid or valid states automatically.</li>
</ol>
</li>
<li>For the &#8220;name&#8221; and &#8220;email&#8221; fields, add back <em>onblur</em> handlers pointing to the above function and simply pass in the field&#8217;s ID.</li>
</ol>
<p>Testing this example, it shows that we&#8217;ve got our original functionality back. In addition, if we ignore the intermediate error messages, the browser&#8217;s validation mechanism will throw us back to any of the wrongly filled out fields upon a submission attempt. Note that not all browsers do this last step. Safari on the Mac, for example, will submit the form even if it contains invalid entries.</p>
<h3>In summary</h3>
<p>The new version of our form is much improved over the version we had originally. It still contains some WAI-ARIA where it makes sense, since there is no native HTML5 alert box yet. But the rest is HTML5. The JavaScript code is a bit less bloated since we don&#8217;t have to do our own validation any more, and we benefit from all the builtin constraint validation mechanisms.</p>
<p>Feedback is welcome! But before you throw things at me for my sloppy JavaScript, please keep in mind that this is just a proof of concept. If you would like to re-use this technique, I encourage you to put your best knowledge to use and put in better handling of events or such, appropriate for your web application. <img src='http://www.marcozehe.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>The example pages can be found (in English and German) at <a href="http://www.marco-zehe.de/examples/">this address</a>. Happy hacking!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2011/12/05/from-wai-aria-to-html5-and-back-or-maybe-not/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Firefox 7 is released, new features in accessibility</title>
		<link>http://www.marcozehe.de/2011/09/27/firefox-7-is-released-new-features-in-accessibility/</link>
		<comments>http://www.marcozehe.de/2011/09/27/firefox-7-is-released-new-features-in-accessibility/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 15:55:21 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Firefox7]]></category>
		<category><![CDATA[fx7]]></category>
		<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=282</guid>
		<description><![CDATA[Firefox Update 7 has just hit the net, and while it&#8217;s still hot, I wanted to share a few items specific to accessibility that are included. First and foremost, we participated in the improvements to memory usage and speed. More &#8230; <a href="http://www.marcozehe.de/2011/09/27/firefox-7-is-released-new-features-in-accessibility/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Firefox Update 7 has just <a href="http://mzl.la/pYvVck">hit the net</a>, and while it&#8217;s still hot, I wanted to share a few items specific to accessibility that are included.</p>
<p>First and foremost, we participated in the improvements to memory usage and speed. More accessibility classes participate in our garbage collection mechanism, reducing the memory consumption greatly. Long sessions with a screen reader running should no longer result in huge amounts of memory being consumed. This is especially evident if you run with multiple tabs and open lots of pages.</p>
<p>A bug was fixed that caused large additions to xul:tree elements to hang for long times when accessibility was turned on. This could be observed in add-ons such as Adblock Plus on occasion.</p>
<p>If <code>role="presentation"</code> has been specified on an element and this element is made focusable, for example by setting <code>tabindex="0"</code> on it, the role of presentation is now ignored, and an accessible is created for the element nevertheless. This is to avoid situations where one would suddenly land on a focused item for which there is no accessible. This was the cause for some screen reader confusion.</p>
<p>On HTML table elements, the way the <em>summary</em> attribute and caption elements were handled has been switched around. Now, if the caption element is present, it becomes the primary source (ARIA not withstanding) for the name of the table. <em>summary</em> is now being converted into the accessible description, which is used to communicate additional information to users. Only if the caption element is omitted, <em>summary</em> will still become the accessible name&#8217;s source. Until Firefox 6, <em>summary</em> would always become the accessible name&#8217;s primary source. This brings Firefox in line with other browsers. Also, if assistive technologies query for the relation between the caption and table elements, the relation is now LABELLED_BY instead of DESCRIBED_BY.</p>
<p>In addition, some crash bugs were fixed that were found in earlier updates of Firefox, so this version is not only less memory-hungry and faster, but more stable, too. Happy browsing!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2011/09/27/firefox-7-is-released-new-features-in-accessibility/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Review: The all-new Yahoo! Mail web application</title>
		<link>http://www.marcozehe.de/2011/09/21/review-the-all-new-yahoo-mail-web-application/</link>
		<comments>http://www.marcozehe.de/2011/09/21/review-the-all-new-yahoo-mail-web-application/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 16:42:38 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[Yahoo!]]></category>
		<category><![CDATA[Yahoo!Mail]]></category>
		<category><![CDATA[YMail]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=276</guid>
		<description><![CDATA[Yahoo! recently announced the availability of their all-new mail web application. They also made announcements on the Yahoo! Access channels about the much improved accessibility of this new mail interface. Well, it&#8217;s time to look at it! So shall we? &#8230; <a href="http://www.marcozehe.de/2011/09/21/review-the-all-new-yahoo-mail-web-application/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yahoo! recently announced the availability of their all-new <a href="http://mail.yahoo.com/">mail web application</a>. They also made announcements on the <a href="http://http://twitter.com/#!/yahooaccess" title="link to Twitter profile">Yahoo! Access channels</a> about the much improved accessibility of this new mail interface. Well, it&#8217;s time to look at it! So shall we?</p>
<p>For my testing, I used the latest release of <a href="http://www.mozilla.com/">Firefox</a>, version 6.0.2, and <a href="http://www.nvda-project.org/">NVDA</a> 2011.2 (the current release). I also found that it is a good idea to look in the <a href="http://help.yahoo.com/l/us/yahoo/mail/ymail/accessibility/;_ylt=AsnD11WYAcKziEKUHBIgXvRFPXpG">Mail Accessibility help</a>, and there especially the <a href="http://help.yahoo.com/l/us/yahoo/mail/ymail/accessibility/basics-65.html;_ylt=AraO19eFQ9Jia8q3Kdp_gqdkantG">keyboard shortcuts</a>.</p>
<h3>First steps</h3>
<p>Armed with this information, I logged into my Yahoo! mail account. First, I was prompted to switch to the new Yahoo! mail. Go ahead and do so if you haven&#8217;t done already.</p>
<p>I was then greeted with the What&#8217;s New tab of the new interface. This is a web document one can browse to find out the latest headlines, but at the top it also gives you the choice to switch to your inbox. It tells you how many unread messages you have, and how many in total.</p>
<h3>The inbox</h3>
<p>I went ahead and activated the link to go to the inbox. What followed was a switch to focus mode from the default browse mode. The reason became evident: i was no placed in the messages list, a rich widget that allows for navigation through the messages with the <kbd>arrow</kbd> keys up and down. Speech feedback is just marvelous, one gets all the relevant information one would expect to hear, just like one was in a desktop client like Thunderbird or Outlook.</p>
<p>Also, as can be seen in the above linked to shortcuts list, a lot of shortcuts that are familiar from desktop clients simply work in this e-mail client, too: <kbd>delete</kbd> deletes a message and provides great speech feedback, <kbd>r</kbd> initiates a reply, <kbd>f</kbd> forwards one. Yes, these are different from Thunderbird and Outlook, but hey, with each new program, you have to learn some new shortcuts, even when switching from Outlook to Thunderbird. <img src='http://www.marcozehe.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h3>Reading a message</h3>
<p>Pressing <kbd>enter</kbd> opens a message for reading. And here&#8217;s one of the beauties of this WAI-ARIA enabled e-mail client: The markup used is really being used in a sensible and intelligent way. While the messages list definitely needs to be treated in application mode, the message itself is a document and thus should make use of NVDA&#8217;s browse mode (virtual cursor). And this is exactly what happens. Without having to do anything, NVDA will switch to its browse mode and start reading the e-mail you just opened. If this is an ordinary e-mail message, there is a reply box right at the bottom, so one can answer the e-mail from here. There is no quote functionality, though, so if you want to do some fancy stuff, you&#8217;ll have to use the full e-mail dialog that you can reach by hitting <kbd>r</kbd> from the messages list.</p>
<p>Pressing <kbd>escape</kbd> brings one out of the message and back into the message list. It remembers the position, so one gets put right at the spot where one wants to continue browsing messages.</p>
<h3>More to find</h3>
<p>Tabbing around the main interface, one finds several tool bars. Again the keyboard navigation is very smart: Tab jumps from the higher-level items such tool bars to the next, while, when in a toolbar, one can inspect each available option within it using <kbd>left</kbd> and <kbd>right</kbd> arrow keys. So even if a tool bar contains 10 items, tabbing will only stop once on the tool bar. If you do not want to go through the 10 items, you don&#8217;t have to.</p>
<p>The Contacts tab works in a similar fashion as the mail tab, where you can manage your contact list, import from other accounts etc. The switch between application and browse modes is seamless as on the inbox tab, and information is presented in a very comprehensive manner.</p>
<p>Speaking of tabs: There are instructions given on navigation wherever something might work slightly differently from what one is used to from desktop applications. For example when focused on the tabs, one is instructed to navigate left and right, and that <kbd>enter</kbd> will actually make that tab active. In Windows applications, simply focusing different tabs already makes them active, so this is a slight difference between the interaction models which is clearly communicated. Very nice!</p>
<h3>Social networks</h3>
<p>The fourth of the default tabs is called &#8220;Updates&#8221;, and it allows you to connect your Yahoo! profile with those you have on Facebook, Twitter etc. While the tab itself is mainly for configuring those updates and for sending updates to the connected social networks, the reading updates app gets launched in a new browser tab. That one is a regular web site that gives you a good, and more importantly, fully accessible overview of your Facebook and Twitter timelines. While both social networks still have their accessibility issues to sort out, Yahoo!&#8217;s interface to these is fully accessible and hardly leaves anything to be desired.</p>
<h3>Setting prefs</h3>
<p>From the main navigation area, you can open the options/preferences for mail and other parts of the Yahoo! set of web applications. Especially in the mail preferences, you can set a few things to make your life a bit easier. One is to have messages displayed in paginated form, which gets rid of the preview pane and other stuff that might get in the way of accessibility. Also, you can set to have the inbox tab selected upon login automatically. This is something that I set since I want to do mail when I log into mail first.</p>
<p>You can also connect other mail accounts here. This is one of the few areas which irritated me: The link to add an account is at the very top of this virtual document, near the &#8220;Save changes&#8221; button, not down in the explanation of what adding accounts actually means, as I would have expected it to appear.</p>
<h3>Third-party apps</h3>
<p>One can include third-party apps in the Yahoo! mail interface. There is an app called &#8220;My social networks&#8221;, for example. These, as they are being developed and delivered by third-parties, are not guaranteed to have the same level of accessibility. Some may even be entirely inaccessible, because they use plugins such as Flash or Silverlight and may not adhere to accessibility standards within these platforms. But Yahoo! is not to blame for that. Instead, accessibility should be evangelized to those content providers that have the powers to make their apps accessible.</p>
<h3>In summary</h3>
<p>What Yahoo! are delivering here is a really outstanding example of putting the WAI-ARIA and other HTML accessibility techniques to very good use. WAI-ARIA has previously been deployed mainly in some enterprise/intranet or specialized public sections and gained limited exposure. Yahoo! mail is the first mainstream web application to put this technology to use and deploy it to a wide range of users worldwide.</p>
<p>Personally, I can even see myself switching to a web client away from a desktop client for the first time since this is the first instance of a web e-mail client that I found I can use as productively as my favorite desktop client. Other examples like the big G are far to inefficient, and for my work, the Zimbra web interface is totally inaccessible, so I <strong>have</strong> to use a desktop client for these.</p>
<p>Yahoo! Mail, along with the very accessible rich search interface, is a very good example of an all-inclusive, accessible, web application approach that puts others to shame that suggest to turn off their standard interface and use a basic one if one uses a screen reader. Needless to say, that basic interface is then severely limited in functionality. Or the same company that suggests to turn off their instant feature if one uses a screen reader, or search results might no longer be really accessible. Yahoo! are taking an inclusive design approach here that to my knowledge is unparalleled among big stock holder web app companies.</p>
<p>Of course, there are still some small kinks to work out here and there. if one uses the German version of Yahoo! Mail, for example, closing a tab requires a different keystroke than the English <kbd>Ctrl+\</kbd>. Unfortunately, the German version of the Mail Accessibilit yhelp topics don&#8217;t seem to have been translated yet. Searching for <span lang="de">Barrierefreiheit</span> didn&#8217;t yield any results, and searching for <span lang="de">Zugänglichkeit</span> only gave a general page about My Yahoo! accessibility, but nothing specific to mail. But I am sure these are things that will be fixed/documented in a timely manner so people whose first language is not English can benefit from the features in the same way.</p>
<p>I applaud Yahoo! for their newest version of the mail interface for its inclusive design principles and good accessibility for everyone! Keep up the good work!</p>
<p>If you&#8217;d like to read this article in German instead, <a href="http://www.zehe-edv.de/2011/09/26/prufstand-das-neue-yahoo-mail/">here&#8217;s the translation</a> on my German blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2011/09/21/review-the-all-new-yahoo-mail-web-application/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>What&#8217;s new in accessibility in Firefox 6</title>
		<link>http://www.marcozehe.de/2011/06/01/whats-new-in-accessibility-in-firefox-6/</link>
		<comments>http://www.marcozehe.de/2011/06/01/whats-new-in-accessibility-in-firefox-6/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 14:03:56 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[WhatsNew]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=268</guid>
		<description><![CDATA[On Friday May 27, a bigger update was offered to everyone on the Aurora channel that brought them up to a revision 6 Firefox. As this was a bigger update, it is time to also point out the new stuff &#8230; <a href="http://www.marcozehe.de/2011/06/01/whats-new-in-accessibility-in-firefox-6/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>On Friday May 27, a bigger update was offered to everyone on the <a href="http://www.marcozehe.de/2011/04/13/mozilla-is-launching-the-aurora-channel-bringing-accessibility-features-to-you-more-rapidly/">Aurora channel</a> that brought them up to a revision 6 Firefox.</p>
<p>As this was a bigger update, it is time to also point out the new stuff to watch out for in accessibility. One thing I already blogged about is the <a href="http://www.marcozehe.de/2011/05/18/firefox-6-htmlprogress-element-accessibility/">HTML progress element</a>, so I won&#8217;t cover that here. Some of the other things to be aware of are:</p>
<h3>Seamless plugin accessibility integration on Linux</h3>
<p>One feature that&#8217;s been baking in a bug forever, but which finally got its final push and made it into code is plugin accessibility for Firefox on the GNOME Desktop on Linux! There is only one plugin currently called Moonlight that actually uses this, but if other plugin authors want to, they can now plug into Firefox and expose their accessible content to Orca and other assistive technologies.</p>
<h3>The Windows magnifier and the writing caret</h3>
<p>There is a problem in Firefox 4 and 5 that will prevent Windows Magnifier and possibly other low-vision products from tracking the writing cursor properly when on the URL bar or in some other places. We were able to fix this in Firefox 6.</p>
<h3>Improvements to the notification popup</h3>
<p>The new notification popup that asks, for example, whether you want to save an entered password, has been improved a great deal. For one, it now announces itself to assistive technologies as an alert like the old notification bar did, which means that the text that the user is to be notified about is automatically being read by NVDA, JAWS and others. Secondly, we made the &#8220;Close this message&#8221; button tabbable again. One thing that we didn&#8217;t manage to solve in time is the inconsistency with the menu button that, when <kbd>SPACE</kbd> is being pressed on it, doesn&#8217;t actually do much, but you have to tab to a secondary regular button with the same label to get the actual function. We&#8217;re working on a solution to improve keyboard accessibility for these menu buttons in general, and the notification popups will benefit from this as we do.</p>
<h3>ARIA support</h3>
<p>In regards to WAI-ARIA, there are a number of changes/additions:</p>
<ul>
<li>aria-sort now fires attributechange events when its value is being changed.</li>
<li>aria-selected is no longer being ignored for ARIA tabs.</li>
<li>aria-busy now properly fires statechange events.</li>
<li>ARIA documents children can now properly be queried via accChild API methods.</li>
</ul>
<h3>Others</h3>
<p>Other noteworthy fixes are:</p>
<ul>
<li>The Untrusted Connection page is again accessible via the virtual cursor in screen readers.</li>
<li>When deleting text from edit fields, the wrong text was reported through at-spi. We fixed that problem.</li>
<li>We got rid of the bogus pref accessibility.disableenumvariant.</li>
<li>The About&#8230; dialog is more readable than it used to be.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2011/06/01/whats-new-in-accessibility-in-firefox-6/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Firefox 4 is here!</title>
		<link>http://www.marcozehe.de/2011/03/22/firefox-4-is-here/</link>
		<comments>http://www.marcozehe.de/2011/03/22/firefox-4-is-here/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 15:22:07 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[fx4]]></category>
		<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=256</guid>
		<description><![CDATA[Firefox 4 has finally hit the release channels and is available for download immediately! This is a major update that brings a lot of new features and enhancements as well as loads of stability and performance fixes to your browsing &#8230; <a href="http://www.marcozehe.de/2011/03/22/firefox-4-is-here/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Firefox 4 has finally <a href="http://mzl.la/eAOuu9">hit the release channels</a> and is available for download immediately!</p>
<p>This is a major update that brings a lot of <a href="http://mzl.la/fx4whatsnew">new features and enhancements</a> as well as loads of stability and performance fixes to your browsing experience. And of course it is accessible!</p>
<p>Some recent posts on the subject by me:</p>
<ol>
<li><a href="http://www.marcozehe.de/2010/10/04/new-in-accessibility-in-firefox-4-0/">New in Accessibility in Firefox 4</a></li>
<li><a href="http://www.marcozehe.de/2010/11/09/new-accessibility-support-for-html5-elements-and-attributes/">New support for HTML5 elements and attributes</a>, with a lively discussion and some revamping going on for a very near future update esp to the landmark piece</li>
</ol>
<p>If you&#8217;re a user of NVDA, Orca, JAWS, Window-Eyes, Dolphin SuperNova, Serotek System Access or Baum Cobra, you&#8217;ll be good to go with current versions of the products! Please make sure to update to the latest revision for your screen reader that you can access before using Firefox 4, as it was reported to us that some early revisions of JAWS 11, for example, cause problems invoking the virtual buffer.</p>
<p>We expect all screen magnifiers that worked in Firefox 3.6 to work in 4, too. Same goes for speech recognition and other assistive technology programs on Windows and the GNOME Desktop on Linux.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2011/03/22/firefox-4-is-here/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>New accessibility support for HTML5 elements and attributes</title>
		<link>http://www.marcozehe.de/2010/11/09/new-accessibility-support-for-html5-elements-and-attributes/</link>
		<comments>http://www.marcozehe.de/2010/11/09/new-accessibility-support-for-html5-elements-and-attributes/#comments</comments>
		<pubDate>Tue, 09 Nov 2010 09:26:04 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Landmark]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=248</guid>
		<description><![CDATA[In the nightly builds starting November 9th, 2010, there are some HTML5 elements and attributes newly supported by the accessibility APIs. This will be in Firefox 4.0. Landmark elements mapped to WAI-ARIA landmark roles We are mapping the following HTML5 &#8230; <a href="http://www.marcozehe.de/2010/11/09/new-accessibility-support-for-html5-elements-and-attributes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In the nightly builds starting November 9th, 2010, there are some HTML5 elements and attributes newly supported by the accessibility APIs. This will be in Firefox 4.0.</p>
<h3>Landmark elements mapped to WAI-ARIA landmark roles</h3>
<p>We are mapping the following HTML5 landmark elements to accessibles with WAI-ARIA landmark role semantics:</p>
<table border="1">
<tr>
<th>HTML5 element</th>
<th>WAI-ARIA role</th>
</tr>
<tr>
<td>article</td>
<td>main</td>
</tr>
<tr>
<td>footer</td>
<td>contentinfo</td>
</tr>
<tr>
<td>header</td>
<td>banner</td>
</tr>
<tr>
<td>nav</td>
<td>navigation</td>
</tr>
</table>
<p>In a second small patch landing the next few days, we will also map the html:aside element to the &#8220;complementary&#8221; role. This was a small oversight on our part in the first patch.</p>
<p>Both NVDA and Orca will pick these changes up without any additional action required on their parts. Other screen readers will hopefully implement or pick up the support ASAP so web authors can use these new elements without having to worry about support or lack thereof.</p>
<h3>The placeholder attribute</h3>
<p>This attribute can be used on form elements to predefine text that disappears as soon as the field gets focus. It#s a visual indication of what is expected in the field. If, and only if, the field has no label otherwise, this placeholder text will be used to generate the AccessibleName, the name the screen reader speaks for the field when it gains focus. If the field has a label provided by the label element or an ARIA construct, the placeholder text will be ignored.</p>
<h3>Proper events being generated when required/invalid/disabled states change</h3>
<p>For a few weeks now, we have had support for the disabled, required attributes and the invalid state evaluation of patterns. Now, if any of these conditions change, we now generate the proper StateChange events to notify screen readers and other assistive technologies.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2010/11/09/new-accessibility-support-for-html5-elements-and-attributes/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>New in Accessibility in Firefox 4.0</title>
		<link>http://www.marcozehe.de/2010/10/04/new-in-accessibility-in-firefox-4-0/</link>
		<comments>http://www.marcozehe.de/2010/10/04/new-in-accessibility-in-firefox-4-0/#comments</comments>
		<pubDate>Mon, 04 Oct 2010 14:09:41 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[NVDA]]></category>
		<category><![CDATA[Orca]]></category>
		<category><![CDATA[Panorama]]></category>
		<category><![CDATA[PinnedTabs]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=242</guid>
		<description><![CDATA[The below is a preliminary recap of the new features in accessibility for the upcoming release of Firefox 4.0. API support Most of the changes are under-the-hood changes that do not have API changes as a consequence. There is one &#8230; <a href="http://www.marcozehe.de/2010/10/04/new-in-accessibility-in-firefox-4-0/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The below is a preliminary recap of the new features in accessibility for the upcoming release of Firefox 4.0.</p>
<h3>API support</h3>
<p>Most of the changes are under-the-hood changes that do not have API changes as a consequence. There is one new addition that helps get around the now absent window hierarchy, see <a href="http://www.marcozehe.de/2010/09/23/whats-up-with-all-those-windows/">this post</a> for details and bug numbers if you&#8217;re interested.</p>
<p>However, there are a few enhancements that one should be aware of:</p>
<h4>Speed</h4>
<p>Improving speed was one of the major goals for Firefox 4 in general, and also for the accessibility APIs. A couple of highlights:</p>
<ul>
<li>A site like <a href="http://www.blindcooltech.com/">BlindCoolTech</a>, when loaded into the virtual buffer by NVDA, took approximately 6 to 6.5 seconds when loaded with Firefox 3.6.x. With Firefox 4, we&#8217;ve managed to cut this time down to under 1 second!</li>
<li>We also support the very performant Lazy Frame Construction in a very speedy manner so an accessibility-induced lag should hardly be noticeable.</li>
<li>When calculating meta data for big data tables, we&#8217;ve improved the speed by a huge factor. While Firefox 3.6 sometimes would hang for over 5 minutes while calculating data for a 20,000 cell table, this takes only a few seconds now.</li>
</ul>
<h4>New HTML5 elements</h4>
<p>We have support in place for the following HTML5 enhancements of Firefox 4:</p>
<ul>
<li>The html:output element is supported. We expose it as a text frame, and if it is being controlled by a form or form element, we also properly set the AccessibleRelations. In addition, it receives the implicit <emA<ria-live="polite"</em> attribute. Screen readers will therefore read text inside the output element automagically.</li>
<li>We have support for the required attribute by setting the &#8216;required&#8217; accessible state flag on the accessible.</li>
<li>We&#8217;re also working on getting the invalid state supported for the final Firefox 4 release.</li>
<li>New HTML5 input types like email, number etc. have basic support and are all viewed as text fields currently.</li>
</ul>
<h4>Changes in the WAI-ARIA support</h4>
<p>We made changes to the WAI-ARIA support as the spec developed to the new last-call state. We removed features that are no longer supported in the specification. And we made the change that the <em>aria-labelledby</em> attribute now takes precedence over <em>aria-label</em>. When first implemented in Firefox 3.5, and for a long time in the specification, <em>aria-label</em> took precedence over <em>aria-labelledby</em> when used on the same element. Now, this is swapped around. If <em>aria-labelledby</em> is present, <em>aria-label</em> is being ignored.</p>
<h4>Bug fixes</h4>
<p>Of course, we also fixed a lot of bugs on the way, making the code more stable and secure. Some are part of the performance refactors, some specifically targetted. For example, there are HTML constructs that can cause bad hangs on Linux which we finally nailed down and fixed.</p>
<h3>UI and keyboard navigation</h3>
<p>There have been several visible UI changes, some of which also have consequences for keyboard users.</p>
<h4>Tab strip moved to the top</h4>
<p>The tabs moved to the top of the screen, now encompassing the URL bar and search field. Previously, these were not part of the active tab. As a consequence, the tab bar is now reachable by:</p>
<ol>
<li>pressing <kbd>Ctrl+L</kbd> to go to the awesome bar</li>
<li>pressing <kbd>Shift+Tab</kbd> twice to land on the tab bar</li>
</ol>
<p>So instead of pressing <kbd>Tab</kbd> twice when on the awesome bar, now it&#8217;s <kbd>Shift+Tab</kbd> twice. Other features like accessing the context menu for a tab by pressing <kbd>Applications</kbd> remain unchanged.</p>
<h4>Pinned tabs</h4>
<p>Pinned tabs are tabs that remain visible even when there are so many tabs on the tab bar that it needs to scroll. So your favorite tabs are always visible/accessible. For screen readers, there is currently no distinction between a normal and a pinned tab, but it is exposed nevertheless. And obviously, the context menu item is accessible.</p>
<h4>The menu bar is gone, but not quite</h4>
<p>The menu bar is no longer visible right away. Instead, a single popup menu, hidden behind the &#8220;Firefox&#8221; button, is replacing most of the menu bar&#8217;s functionality. However, as a keyboard user, you don&#8217;t really notice. Press <kbd>Alt</kbd>, and the menu bar reappears and you can use it right away again. In fact, I, being blind myself, didn&#8217;t even notice that the menu bar was gone because I was simply using the shortcut keys like <kbd>Alt+F</kbd> just as I did before. It was not until Surkov asked me whether the Firefox button was accessible that I noticed that there was a UI change.</p>
<p>Note that there is talk of mapping the <kbd>Alt+F</kbd> keystroke to specifically open the menu hidden behind the Firefox button in the future. So if <kbd>Alt+F</kbd> no longer brings up the &#8220;File&#8221; menu in the future, this is why.</p>
<h4>Add-Ons Manager redesign</h4>
<p>The Add-Ons Manager has been redesigned completely. It now also manages Jetpacks, search engines and much more. Moreover, it opens in a new tab instead of a modal dialog. This makes interaction much nicer, one does not have to alt-tab between windows all the time.</p>
<p>There are still some keyboard navigation quirks to be worked out, and some of this may come in an 4.0.x update, but the general functionality is there also for screen reader users.</p>
<h3>New UI features that don&#8217;t work (yet)</h3>
<h4>Panorama</h4>
<p>The new enhanced tab management feature Panorama, previously known as Tab Candy, is currently not very well navigagble using the keyboard, and hardly exposes any useful information to screen reader users. However, it is going to be possible to make these accessible, we just need a little time to do it. If you&#8217;re interested, you can follow the <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=587010">keyboard navigation</a> and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=596732">assistive technologies support</a> bugs to watch progress.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2010/10/04/new-in-accessibility-in-firefox-4-0/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Apple&#8217;s iOS 4 supports WAI-ARIA landmarks</title>
		<link>http://www.marcozehe.de/2010/06/22/apples-ios-4-supports-wai-aria-landmarks/</link>
		<comments>http://www.marcozehe.de/2010/06/22/apples-ios-4-supports-wai-aria-landmarks/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 07:26:33 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[iOS4]]></category>
		<category><![CDATA[VoiceOver]]></category>
		<category><![CDATA[WAI-ARIA]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=236</guid>
		<description><![CDATA[This is, I believe, my 100th post on this blog, and I&#8217;m using it to announce that Apple&#8217;s iOS 4, released yesterday for the iPhone and iPod Touch, supports WAI-ARIA landmark in the VoiceOver screen reader. VoiceOver has had, since &#8230; <a href="http://www.marcozehe.de/2010/06/22/apples-ios-4-supports-wai-aria-landmarks/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is, I believe, my 100th post on this blog, and I&#8217;m using it to announce that Apple&#8217;s iOS 4, released yesterday for the iPhone and iPod Touch, supports WAI-ARIA landmark in the VoiceOver screen reader. VoiceOver has had, since its inception, a feature called the rotor. The rotor allows users to set a particula rweb element by which the one-finger-flick up and down gesture moves in mobile Safari and other apps that use a web display. This feature is now highly customizable. Not only can you enable and disable certain features (for example if you never want to navigate by graphics, you can disable it completely and it won&#8217;t show up in the rotor). But the rotor settings also include a new feature called landmarks. This rotor setting is disabled by default, but can be enabled through the Web settings sub window of the VoiceOver settings. Once enabled, and the user switches to it via the rotor gesture, navigating by WAI-ARIA landmarks on a page works very nicely. The one thing that VoiceOver does not do yet is announce the type of landmark, be it banner, main, search, complementary etc. Furthermore, the landmarks also include what is called automatic web spots in the VoiceOver on Snow Leopard for the Mac. So not only do you jump to the actually marked up landmarks, but a few more spots on a page Apple deems interesting. In my experience, these usually are quite useful spots, too, so this doesn&#8217;t harm the original landmark feature at all.</p>
<p>It is fantastic to see that WAI-ARIA is getting more and more adoption in mainstream products. VoiceOver is available on any iPhone 3G S and iPhone 4, as well as the newest generation iPod Touch models (32 and 64 GB), and the iPad. The iPad does not include the landmarks feature yet, since its iOS hasn&#8217;t been updated to version 4 yet.</p>
<h3>Further reading</h3>
<p><a href="http://www.marcozehe.de/2009/10/31/easy-aria-tip-4-landmarks/">Easy WAI-ARIA tip #4: Landmarks</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2010/06/22/apples-ios-4-supports-wai-aria-landmarks/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>CSUN 2010 recap</title>
		<link>http://www.marcozehe.de/2010/03/29/csun-2010-recap/</link>
		<comments>http://www.marcozehe.de/2010/03/29/csun-2010-recap/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 07:06:42 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[NVDA]]></category>
		<category><![CDATA[Orca]]></category>
		<category><![CDATA[Thunderbird]]></category>
		<category><![CDATA[CSUN2010]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=225</guid>
		<description><![CDATA[From March 22 to 27, the 5th Annual International Technology &#038; Persons with Disabilities Conference took place at the Manchester Grand Hyatt Hotel in San Diego, California. It is most commonly referred to as CSUN 2010. The Mozilla Foundation had &#8230; <a href="http://www.marcozehe.de/2010/03/29/csun-2010-recap/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>From March 22 to 27, the <a href="http://www.csunonference.org">5th Annual International Technology &#038; Persons with Disabilities Conference</a> took place at the <a href="http://www.manchestergrand.hyatt.com/hyatt/hotels/index.jsp">Manchester Grand Hyatt Hotel</a> in San Diego, California. It is most commonly referred to as CSUN 2010.</p>
<p>The Mozilla Foundation had a booth at CSUN for the fourth year in a row. <a href="http://mindforks.blogspot.com/">David</a>, Alexander Surkov and I were present to man the booth, talk to people, and also participate in a couple of general sessions at the conference to gather information and news, and also to network.</p>
<h3>Adobe announces broad range support for IAccessible2</h3>
<p>One of the biggest news bangs to come out of the conference is <a href="http://blogs.adobe.com/accessibility/2010/03/flash_player_and_flex_support.html">Adobe&#8217;s announcement</a> to support the IAccessible2 and WAI-ARIA standards in thenext versions of their Flash and Flex products. Both these standards were heavily driven by, among others, Mozilla, IBM and several assistive technology vendors such as <a href="http://www.nvda-project.org">NV Access of the NVDA project</a>. Support for the native GNOME and Mac OS X accessibility APIs is also in the works.</p>
<p>In addition, Adobe announced that they will also <a href="http://blogs.adobe.com/accessibility/2010/03/iaccessible2_in_adobe_reader_a.html">include IAccessible2</a> support in their Acrobat and Reader products.</p>
<p>This means that another big player in the software industry is coming forward and supports these widely recognized standards. It is good to see Adobe getting behind the over-all accessibility efforts and helping to drive adoption in this manner!</p>
<h3>Three Firebug-related sessions</h3>
<p>Hans Hillen of the <a href="http://www.paciellogroup.com/">Paciello Group</a> had two very successful talks about the <a href="http://clients.paciellogroup.com/firebug/firebug.html">UI accessibility support</a> in Firebug. The first was a demo of many of the features, using NVDA as the screen reader to demo them. the second was a use-case talk, where Hans explained in some more technical detail how he went about making the Firebug UI accessible to screen reader users.</p>
<p>Both talks were very well received. The first one had quite a broad audience, while the second audience was smaller, but very focused and involved.</p>
<p>In addition, Jon Gunderson of the <a href="http://illinois.edu/">University of Illinois at Urbana-Champaign</a> held a talk on the Accessibility Testing Extension for Firebug. But unfortunately, due to my travel schedule, I did not have a chance to visit this talk.</p>
<p>It was good to see two Mozilla grantees doing talks at this year&#8217;s CSUN, giving visibility to the many facets of <a href="https://wiki.mozilla.org/Accessibility/Strategy">Mozilla&#8217;s accessibility strategy</a>.</p>
<h3>Newer mobile accessibility technologies marching forward</h3>
<p>Apple, RIM and Google, the three vendors of mobile devices with well-defined accessibility APIs, all had well-visited talks at CSUN. In addition, I am aware of at least two talks involving the accessible iPhone and iPod Touch 3rd generation that put these technologies to good use to provide a new generation of assistive software, built on mainstream devices.</p>
<h3>Well-visited booth</h3>
<p>The Mozilla Foundation booth was well visited on all three days that I helped staff it. Comments and questions ranged from the very flattering &#8220;I love Firefox and I love what you guys are doing for accessibility!&#8221; to &#8220;What&#8217;s a browser vendor doing at this conference?&#8221;. When we then explained why we attended, many of them were keen on trying out Firefox when they got home or back to thheir hotel rooms.</p>
<p>Also, this conference made quite a number of people aware of other Mozilla products than Firefox. While many had heard about Firefox, they had not heard at all about Thunderbird before. But with the better accessibility in Thunderbird, we can now change this and spread Thunderbird in the accessibility community even more!</p>
<p>I personally had a very moving moment on Friday when a deaf/hard of hearing gentelman and his interpreter stepped up to our booth. He was very interested in what we do for accessibility. Before I knew it, I was talking to him through his interpreter, but wasn&#8217;t actually noticing it until well into the conversation. At some point, I mentioned Thunderbird, at which point he started joking about the <a href="http://en.wikipedia.org/wiki/Ford_Thunderbird">Ford Thunderbird</a>. David, who was present at this conversation, can probably tell a bit more about this, since this was very visual and I only got a third of what he was actually meaning. <img src='http://www.marcozehe.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>David and Alex also took a lot of pictures, which they&#8217;ll hopefully upload and share very soon so you all can get a better picture about what CSUN 2010 was like! Mozilla received a big big chunk of good attention, our funding of other accessibility-related open-source projects such as NVDA, Orca and others, definitely is being recognized in the industry as being exemplary. Also, we got a very nice compliment from a gentleman from the Office of homeland security, who told us that he thought our <a href="http://www.mozilla.com/firefox/vpat-3.html">Voluntary Product Accessibility Template</a> is among the best he has encountered so far.</p>
<h3>One big failure is there, though</h3>
<p>One big problem, which I think should not go unmentioned, is the lack of good internet connectivity in the exhibition hall. For a 2010 information technology conference, having no useable WIFI connection down in the exhibition hall at all is simply unacceptable. The internet connections that were offered were hideously priced, almost like in the mid 1990s when internet connectivity was still not as common as today. Up in the session rooms, the situation was a bit better, at least there were hotspots one could use most of the time.</p>
<p>For next year, one thing I&#8217;d like to see is a well thought-through strategy for <strong>free</strong> wireless internet connectivity throughout all conference locations. A technology conference lives and breathes with the buzz people can create around it by tweeting, uploading pictures etc. People with disabilities are no exception, and instead of roadblocking it, the responsible powers at CSUN should embrace this trend and encourage people to get the word out as easily and hazzle-free as possible!</p>
<h3>In summary</h3>
<p>I can only say that it was worthwhile going to CSUN yet again, and I am hoping we&#8217;ll have a chance to participate next year as well!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2010/03/29/csun-2010-recap/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Easy ARIA Tip #5: aria-expanded and aria-controls</title>
		<link>http://www.marcozehe.de/2010/02/10/easy-aria-tip-5-aria-expanded-and-aria-controls/</link>
		<comments>http://www.marcozehe.de/2010/02/10/easy-aria-tip-5-aria-expanded-and-aria-controls/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 18:02:00 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[ARIA]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=218</guid>
		<description><![CDATA[In this Easy ARIA tip, I will give you a bit of a hint on how to make not too complex, but still dynamic, menus accessible. We often encounter menus that pop in and out upon a mouse click or &#8230; <a href="http://www.marcozehe.de/2010/02/10/easy-aria-tip-5-aria-expanded-and-aria-controls/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In this Easy ARIA tip, I will give you a bit of a hint on how to make not too complex, but still dynamic, menus accessible. We often encounter menus that pop in and out upon a mouse click or activation of an element using the keyboard.</p>
<p>An example can be found at <a href="http://grochtdreis.de/weblog/">this German blog</a> site. Look for the &#8220;Archive&#8221; heading, which is a clickable element that shows or hides the archive choices offered by this blog.</p>
<p>Right now,<a href="http://www.nvda-project.org/">NVDA</a> speaks this item as &#8220;clickable&#8221;, so the blind user already gets notified that there is a possibility here to press <kbd>Enter</kbd> on the item and something will happen. Now how cool would it be if, in addition, NVDA would tell me that something will be expanded, or is currently expanded, and I can press <kbd>Enter</kbd> to collapse it?</p>
<p>Fortunately, we have <a href="ttp://www.w3.org/TR/wai-aria/"><acronym title="Web Accessibility Initiative - Accessible Rich Internet Applications">WAI-ARIA</acronym></a> to rescue us from this desire! <img src='http://www.marcozehe.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The global attribute <a href="http://www.w3.org/TR/wai-aria/states_and_properties#aria-expanded"><em>aria-expanded</em></a> is used for exactly this purpose. It takes one of two values: <strong>true</strong> or <strong>false</strong>. true means  a section that this element denotes is currently expanded (visible), false means the expandable section or items is/are currently collapsed (invisible). In the above example, <em>aria-expanded</em> must be defined, and by default set to <strong>false</strong>. In the Javascript that handles the expansion and collapsing of the categories, another code block must be added to touch this attribute and change its value to <strong>true</strong> when the categories are made visible, and back to <strong>false</strong> when they are made invisible. Since there is already JavaScript in place to handle the visibility of the categories, this can be plugged in very easily.</p>
<p>There is one more piece to this: Modern screen readers such as NVDA, <a href="http://live.gnome.org/Orca">Orca</a> or modern versions of the commercial screen readers, can also make use of another attribute that tells which element is actually being affected. In this case, the list of categories. This is done through an attribute called <a href="http://www.w3.org/TR/wai-aria/states_and_properties#aria-controls"><em>aria-controls</em></a>. The value of this attribute is the ID of the affected element and is set either once or whenever the controlled element changes. In this example, the value would point to the html:ul element with the ID of &#8220;archivliste&#8221;. The attribute gets set on the same element that also gets aria-expanded and does all the magic. Screen readers then know which element is being referenced, by something called Accessible Relations.</p>
<p><strong>In summary</strong>:</p>
<ul>
<li><em>aria-expanded</em> receives a value of &#8220;true&#8221; when the elements in question are visible. It is set to &#8220;false&#8221; when those elements are actually not visible.</li>
<li><em>aria-controls</em> is set to the ID of the top level element that gets made visible or invisible.</li>
</ul>
<p>Both attributes get set on the element that actually does the magic (the same element that has the onclick handler or click/keyboard event listener).</p>
<p>[Update] One word about placement of the expandable items: Ideally, they should be following the item that expands and collapses them, as can be seen in the example above. The list of archive months follows the heading  that has the click handler to expand and collapse it. The result is that screen reader users can expand the items and simply down arrow without having to look for the new content. This makes it feel very natural and efficient.</p>
<p>Also,  some screen readers have intelligent detection of dynamic changes and speak them automatically. This is sort of what WAI-ARIA live regions do, but without the explicit live region markup. The result is that upon expansion, the new items might automatically be spoken, which might be undesirable. For example, this list of months would be very undesirable to be rattled off by the synthesizer whenever the list gets expanded. To prevent this, another attribute can be applied, <em>aria-live</em> with its value set to &#8220;off&#8221;. This prevents supporting screen readers from ever treating this particular region as a live region. This attribute, however, in the example above, would go on the html:ul element, not the element that expands and collapses the list.</p>
<p>Thanks to <a href="accessgarage.wordpress.com">Aaron Leventhal</a> for these two excellent points![/update]</p>
<h3>Previous Easy ARIA Tips</h3>
<ol>
<li><a href="http://www.marcozehe.de/2008/02/29/easy-aria-tip-1-using-aria-required/">aria-required</a></li>
<li><a href="http://www.marcozehe.de/2008/03/23/easy-aria-tip-2-aria-labelledby-and-aria-describedby/">aria-labelledby and aria-describedby</a></li>
<li><a href="http://www.marcozehe.de/2008/07/16/easy-aria-tip-3-aria-invalid-and-role-alert/">aria-invalid and role &#8220;alert&#8221;</a></li>
<li><a href="http://www.marcozehe.de/2009/10/31/easy-aria-tip-4-landmarks/">Landmarks</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2010/02/10/easy-aria-tip-5-aria-expanded-and-aria-controls/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Easy ARIA Tip #4: Landmarks</title>
		<link>http://www.marcozehe.de/2009/10/31/easy-aria-tip-4-landmarks/</link>
		<comments>http://www.marcozehe.de/2009/10/31/easy-aria-tip-4-landmarks/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 08:33:01 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[ARIA]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=203</guid>
		<description><![CDATA[Yes, they&#8217;re back! This is the fourth Easy ARIA Tip in a trilogy of Easy ARIA Tips. This week, WebAIM published the results of their second screen reader survey. One of the things to note for me was that not &#8230; <a href="http://www.marcozehe.de/2009/10/31/easy-aria-tip-4-landmarks/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yes, they&#8217;re back! This is the fourth Easy ARIA Tip in a trilogy of Easy ARIA Tips. <img src='http://www.marcozehe.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>This week, WebAIM <a href="http://webaim.org/blog/screen-reader-user-survey-results/">published</a> the <a href="http://webaim.org/projects/screenreadersurvey2/">results of their second screen reader survey</a>. One of the things to note for me was that not many users seem to be aware of a feature in the WAI-ARIA (Accessible Rich Internet Applications) specification called <a href="http://www.w3.org/TR/wai-aria/#roleattribute_inherits">landmarks</a>. This article aims to provide an easy to follow guide to implement landmarks in a matter that makes sense, in the hopes that more folks will start using them in their web projects and more screen reader users will take notice and utilize them in their daily surfing experience.</p>
<h3>What the heck are they?</h3>
<p>WAI-ARIA landmarks are a new method of providing easy navigation to certain points or hot spots on a page. Traditionally, this is being accomplished by providing visually hidden &#8220;skip links&#8221; to various anchor points. A commonly encountered one is the &#8220;skip to main content&#8221; or similarly named link that provides a quick way to navigate past all the navigation, search etc. features a site may have, and start reading directly at the main content of a page.</p>
<p>However, as the above cited survey results show, skip links aren&#8217;t nearly as important for most screen reader users as a good heading structure is. Skip links are usually also very useful for keyboard users (who need not necessarily be screen reader users).</p>
<p>However, one of the biggest problems is that &#8220;skip links&#8221; aren&#8217;t consistent. They might be called &#8220;skip to&#8230;&#8221; or &#8220;jump to &#8230;&#8221;, &#8220;skip past &#8230;&#8221; etc., and they may vary in what features they provide. This may also cause complaints for usability. I&#8217;ve been demoed pages that provide 20 or so skip links at the top before an actual link to a site feature is encountered. Needless to say, it didn&#8217;t provide a skip link for the skip links. <img src='http://www.marcozehe.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>WAI-ARIA attempts to rectify that by standardizing a certain number of navigational anchor points to allow easy and quick access to portions of a page that are frequently needed.</p>
<h3>How are they added?</h3>
<p>Landmarks are added to a page by specifying the <em>role</em> attribute on certain HTML elements. If you view the source of this blog page, for example, and search for the word &#8220;role&#8221;, you&#8217;ll find it added to some HTML elements that start blocks of interest. The addition is very simple, the only thing that really needs to be done is give some thought about placement of the landmarks.</p>
<p>Screen readers such as JAWS version 10 and above, Orca, NVDA from version 2009.1beta and above recognize WAI-ARIA landmarks in Firefox 3.0+ and IE 8. They usually provide one of their quick navigation keys to navigate to each landmark in turn, and JAWS and NVDA also provide lists of landmarks on a page. NVDA even shows the nesting of landmarks.</p>
<h3>The different landmarks</h3>
<p>Below is an explanation of the intention of each landmark from a practical standpoint.</p>
<h4>banner</h4>
<p>The <strong>banner</strong> landmark denotes the portion of a page where a company logo, site slogan or the like would be found. Providing this landmark will allow a screen reader user to easily access that information to, for example, copy the text info to paste somewhere for providing information, correct spelling etc.</p>
<h4>complementary</h4>
<p>the <strong>complementary</strong> landmark denotes a section with complementary information to the main content of the page. For example for a page that shows a single blog post, the complementary information could be links to related articles.</p>
<h4>contentinfo</h4>
<p>The <strong>contentinfo</strong> landmark denotes the section of a page that contains the copyright notice, link to privacy statement etc. It can also be used to denote a section with footnotes, but I&#8217;ve not seen an example of that yet.</p>
<h4>main</h4>
<p>The <strong>main</strong> landmark denotes the section of a page that contains the main content. This is equivalent to the target of a &#8220;skip to main content&#8221; link. On a page showing a single blog post, this is obviously where the title of the post is which starts the article.</p>
<p>Note that it is explicitly stated in the WAI-ARIA spec that this landmark should only appear once in a document. I believe the reason is obvious: If you had more than one main content on a single page, you should split that into two pages. <img src='http://www.marcozehe.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  All other landmarks can appear more than once (in fact it makes sense for them to do so in some circumstances), but main should only appear once.</p>
<h4>navigation</h4>
<p>The <strong>navigation</strong> landmark denotes one or more sections of a page that contain navigational items. Usually these are links to various features of your site.</p>
<h4>search</h4>
<p>The <strong>search</strong> landmark denotes the section of a page that starts your search feature. This is not necessarily the search textbox itself, but starts usually at the search form level to also include advisory information or the label you might want to include for your search.</p>
<h4>application</h4>
<p>The <strong>application</strong> landmark is a special landmark in that it does not just provide an anchor point but also usually causes different screen reader behavior. The application landmark denotes a section of a page that should not be treated like just any other ordinary web content, but provides features that are more closely related, in concept, to what a desktop application would provide. An example is the Search feature on the Yahoo! pages that provides a very rich experience with widgets not found in standard HTML.</p>
<p>When a screen reader encounters such an application section, what happens is, at least on Windows, that they switch out of their virtual document reading modes into a more interactive mode called &#8220;Focus mode&#8221; or &#8220;forms mode&#8221;. In addition, contrary to normal form elements, they usually prohibit switching back to virtual mode as long as focus is inside the application section. The user is required to interact with whatever keyboard navigation and other feedback (for example through the use of live regions) the web app author provided.</p>
<p>Having said that, the application landmark is usually not found when it comes to providing simple navigation anchors. When the application role is used, you should expect the web author to also have implemented an accessible rich internet application experience and can expect widgets to appear you wouldn&#8217;t find in your standard HTML element. If someone uses the application landmark without providing real rich widgetry, it&#8217;s probably a bug on their part and they&#8217;d most likely appreciate a friendly hint. <img src='http://www.marcozehe.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Personally, I don&#8217;t consider application to be just another landmark role. For me, application clearly belongs more in the space of true rich internet application development. I just mention it here because it is listed in the same section in the specification.</p>
<h3>What about validation?</h3>
<p>Oh yes, that may be important to some! The current W3C validator doesn&#8217;t validate XHTML+ARIA or HTML+ARIA yet, which includes the landmarks. However, if you don&#8217;t care, or you can convince your client that landmarks are a viable new feature for their sites, Steve Faulkner of The Paciello Group has <a href="http://www.paciellogroup.com/blog/?p=107">worked out a way</a> to validate the landmarks.</p>
<h3>Further reading</h3>
<p>A slightly different <a href="http://www.paciellogroup.com/blog/?p=106">approach to explaining the WAI-ARIA landmarks</a> has been done by Steve Faulkner of The Paciello Group in January of this year.</p>
<h3>Previous Easy ARIA Tips</h3>
<ol>
<li><a href="http://www.marcozehe.de/2008/02/29/easy-aria-tip-1-using-aria-required/">aria-required</a></li>
<li><a href="http://www.marcozehe.de/2008/03/23/easy-aria-tip-2-aria-labelledby-and-aria-describedby/">aria-labelledby and aria-describedby</a></li>
<li><a href="http://www.marcozehe.de/2008/07/16/easy-aria-tip-3-aria-invalid-and-role-alert/">aria-invalid and role &#8220;alert&#8221;</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2009/10/31/easy-aria-tip-4-landmarks/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>NVDA 2009.1 beta, what&#8217;s in it for Firefox users?</title>
		<link>http://www.marcozehe.de/2009/10/27/nvda-2009-1-beta-whats-in-it-for-firefox-users/</link>
		<comments>http://www.marcozehe.de/2009/10/27/nvda-2009-1-beta-whats-in-it-for-firefox-users/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 14:30:59 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[NVDA]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=193</guid>
		<description><![CDATA[En route to their 2009.1 final release, the NV Access team has released 2009.1beta1. Here&#8217;s a run-down of new features since their 0.6p3 release, of which I did a similar post. This does not cover everything, just the bits that &#8230; <a href="http://www.marcozehe.de/2009/10/27/nvda-2009-1-beta-whats-in-it-for-firefox-users/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>En route to their 2009.1 final release, the NV Access team has <a href="http://www.nvda-project.org/blog/NVDA2009.1beta1Released">released</a> 2009.1beta1. Here&#8217;s a run-down of new features since their 0.6p3 release, of which I did a <a href="http://www.marcozehe.de/2009/02/16/nvda-06p3-released-quite-some-news-for-mozilla-users/">similar post</a>. This does not cover everything, just the bits that impact the use of NVDA with Firefox and other Mozilla-based products.</p>
<h3>WAI-ARIA landmark support</h3>
<p>When in virtual buffers, <kbd>D</kbd> and <kbd>Shift+D</kbd> can be used to skip between WAI-ARIA landmarks. Landmarks are also announced while reading a web page. The new Elements List also has a section for landmarks. Even the possible nesting of landmarks is announced.</p>
<h3>WAI-ARIA Drag And Drop support</h3>
<p>NVDA now supports WAI-ARIA Drag and Drop, with some help from Firefox 3.6 and later.</p>
<h3>More features</h3>
<ul>
<li>Sounds can now indicate the switching on and off of Focus Mode. Sounds are the default setting, but you can switch back to using indication via speech.</li>
<li><kbd>N</kbd> and <kbd>Shift+N</kbd> can be used to skip past blocks of links to the next/previous block of non-link text.</li>
<li>On pages that take longer than 1 second to load, you can interact with your system while the page is being rendered. NVDA will tell you that it is processing the page, and it will no longer block the system while doing so.</li>
</ul>
<p>Also, the Flash and Java interaction model <a href="http://www.marcozehe.de/2009/10/02/new-approaches-to-flash-and-java-accessibility-in-the-browser-on-windows/">discussed</a> in an earlier post are included in this beta.</p>
<p>For more new feature information, I suggest studying the <a href="http://www.nvda-project.org/releases/nvda_2009.1beta1_changes.txt">What&#8217;s new</a> document and try out the beta for yourself!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2009/10/27/nvda-2009-1-beta-whats-in-it-for-firefox-users/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>You&#8217;re a table, and I don&#8217;t care what lies underneath</title>
		<link>http://www.marcozehe.de/2009/09/11/youre-a-table-and-i-dont-care-what-lies-underneath/</link>
		<comments>http://www.marcozehe.de/2009/09/11/youre-a-table-and-i-dont-care-what-lies-underneath/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 12:40:29 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=170</guid>
		<description><![CDATA[Over the past couple of weeks, Alex, David and I have been hard at work refactoring, discussing, and implementing better support for accessible tables in Gecko. Some of this has seen the light in Firefox 3.6alpha, but the heart of &#8230; <a href="http://www.marcozehe.de/2009/09/11/youre-a-table-and-i-dont-care-what-lies-underneath/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Over  the past couple of weeks, Alex, David and I have been hard at work refactoring, discussing, and implementing better support for accessible tables in Gecko. Some of this has seen the light in Firefox 3.6alpha, but the heart of the work is currently only in mozilla-central (AKA Firefox 3.7). Update: As of October 29, these changes have also been ported to the Firefox 3.6 AKA the Gecko 1.9.2 branch and will be in the final release of Firefox 3.6. It will not yet appear in the upcoming release of Firefox 3.6b1, since that was branched off before we landed the IAccessibleTable2 support.</p>
<p>The goal was to:</p>
<ol>
<li>Refactor our code to become more maintainable.</li>
<li>Expose the same kind of interface to assistive technologies regardless of what lies underneath is a true HTML table, an ARIA table, an ARIA data grid, a XUL tree table etc. There are so many commonalities that ATs should be able to expect similar, if not identical, information from any of these table types.</li>
<li>Implement the <a href="http://dev.linuxfoundation.org/~ptbrunet/ia2/docs/html/interface_i_accessible_table2.html">IAccessibleTable2</a> interface that was defined within the IA2 group over the summer.</li>
<li>Get rid of many &#8220;todo&#8221; items in our Mochitest unit tests.</li>
</ol>
<p>For The Minefield (Firefox 3.7a1pre) nightly build that will come out today, Friday September 11, the patch that implements IAccessibleTable2 has landed. All header/table cell relations are now defined through proper method calls rather than special forms of accessible relations. This was a big patch with almost 550 kb in size. A quarter of this were IDL changes for IA2, but the rest was all code that had to be reviewed and super-reviewed. It&#8217;s definitely the biggest patch I&#8217;ve been working on so far since I started working for Mozilla.</p>
<p>Over the past few weeks, Alex also refactored our XUL tree exposure to better meet our goal. With 235 KB, this was the second biggest patch I have been working on so far.</p>
<p>Other changes that went in concern selection of cells, rows, unselecting parts of tables etc. Some of these have caused our long &#8220;to do&#8221; item list of around 80 items to drop to a mere 7 throughout the whole a11y test suite. The table tests were among the first written when we started doing automated tests on a11y some 20 months ago, and it&#8217;s cool to finally see this area of the code properly addressed!</p>
<p>With these changes, our number of passing tests is now at 10205 and a total of 7 to-do items.</p>
<p>And this is where you come in! If you&#8217;re an accessible tables junkie, know a lot about HTML table make-up, or know of very weird tables out in the wild, go <a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-central/">download the latest nightly build</a> and throw the tables at it! Let us know your results, for example by commenting here on the blog, and if you find something that definitely isn&#8217;t exposed right, <a href="https://bugzilla.mozilla.org/enter_bug.cgi?alias=&#038;assigned_to=nobody%40mozilla.org&#038;blocked=491681&#038;bug_file_loc=&#038;bug_severity=normal&#038;bug_status=NEW&#038;cf_status_192=---&#038;comment=&#038;component=Disability%20Access%20APIs&#038;contenttypeentry=&#038;contenttypemethod=autodetect&#038;contenttypeselection=text%2Fplain&#038;data=&#038;dependson=&#038;description=&#038;flag_type-203=X&#038;flag_type-270=X&#038;flag_type-271=X&#038;flag_type-325=X&#038;flag_type-369=X&#038;flag_type-37=X&#038;flag_type-370=X&#038;flag_type-385=X&#038;flag_type-4=X&#038;flag_type-422=X&#038;flag_type-479=X&#038;flag_type-480=X&#038;flag_type-485=X&#038;flag_type-486=X&#038;flag_type-5=X&#038;flag_type-536=X&#038;flag_type-540=X&#038;flag_type-541=X&#038;flag_type-542=X&#038;flag_type-543=X&#038;form_name=enter_bug&#038;keywords=access&#038;maketemplate=Remember%20values%20as%20bookmarkable%20template&#038;op_sys=All&#038;priority=--&#038;product=Core&#038;qa_contact=accessibility-apis%40core.bugs&#038;rep_platform=All&#038;short_desc=&#038;target_milestone=---&#038;version=Trunk">file a bug</a>! We appreciate any and all help you can give us here!</p>
<p>If you&#8217;re an AT vendor and plan on implementing support for IAccessibleTable2, here&#8217;s a model you can use!</p>
<p>Finally, I&#8217;d like to thank all the cool people (module peers and super reviewers) who helped us accomplish what we&#8217;ve accomplished so far! With their knowledge and wisdom about the inner workings of Gecko and their respective modules, they helped make our code faster, better and more robust. Keep on rockin&#8217;!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2009/09/11/youre-a-table-and-i-dont-care-what-lies-underneath/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Blind web devs, jump on the Firebug train!</title>
		<link>http://www.marcozehe.de/2009/07/16/blind-web-devs-jump-on-the-firebug-train/</link>
		<comments>http://www.marcozehe.de/2009/07/16/blind-web-devs-jump-on-the-firebug-train/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 14:28:45 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[Extensions]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=165</guid>
		<description><![CDATA[Late yesterday, Firebug 1.4 was released. Firebug is the web development and debugging tool for Firefox, with a huge user base worldwide. As JJB mentions in his post, UI accessibility was provided for many of the Firebug features by Hans &#8230; <a href="http://www.marcozehe.de/2009/07/16/blind-web-devs-jump-on-the-firebug-train/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Late yesterday, <a href="http://www.getfirebug.com/">Firebug</a> 1.4 was <a href="http://blog.getfirebug.com/?p=295">released</a>. Firebug is <strong>the</strong> web development and debugging tool for Firefox, with a huge user base worldwide.</p>
<p>As JJB mentions in his post, UI accessibility was provided for many of the Firebug features by Hans Hillen of the <a href="http://www.paciellogroup.com/">Paciello Group</a>. The Mozilla Foundation funded the first of this work, and the Mozilla Corporation is now <a href="http://blog.hecker.org/2009/06/30/new-mozilla-accessibility-projects/">continuing funding</a> to finish the remaining UI pieces like the &#8220;Net&#8221; panel, fix remaining issues, and also to work with the University of Illinois to develop Firebug features that will help web developers check their sites and applications for accessibility and fix issues in that area.</p>
<p>I am not going to iterate over the features one by one, since the <a href="http://clients.paciellogroup.com/firebug/firebug.html">documentation</a> on the accessibility features is very comprehensive. I urge all developers wanting to utilize these  features to RTFM (read the fantastic manual) in its entirety before starting to use accessible Firebug.</p>
<p>Once you are up and running with it, you&#8217;ll find that all of the described features work as advertised in the documentation. And even more: The documentation currently still states that the script panel&#8217;s source code viewer cannot be read with NVDA. However, Hans, Jamie from the NVDA team, and I managed to fix that problem shortly before beta 1 of Firebug 1.4. I notified Hans to update the documentation.</p>
<p>Compared to Firebug 1.3, Firebug 1.4 offers a wealth of accessible web development tools. Firebug 1.3 was effectively not accessible, Firebug 1.4 is, with a few small exceptions, fully accessible, which is an almost 100% leap forward within a single version number increment!</p>
<p>This opens up whole new opportunities for blind developers. To my knowledge, the development tools offered by the Redmond browser do not offer this wealth of features. In testing I did while fixing my example form to also work in IE 8, I found the tools to be unreliable and shaky in many areas. Firefox 3.5 and Firebug 1.4, on the other hand, together with NVDA, which currently best supports the former, are a vehicle to open up new job opportunities! With Firebug, a blind person has full control over the styling and layout of a web application or page. For example, taking my example form from the Easy ARIA Tip #3, and looking at the label and input elements for the &#8220;name&#8221; entry, I can immediately be told that the label is to the left of the input, and how many pixels there are between the two. I can make sure they&#8217;re visually at the same height. The box model of the Layout sidepanel of the Firebug HTML panel is fully accessible and gives me a feel for a page I&#8217;ve never had before!</p>
<p>Communication of search results within the HTML panel, or when encountering a breakpoint, is just awesome! Being able to inspect the DOM or a single element&#8217;s properties, being able to in-line edit properties and immediately be able to test the effect a certain ARIA attribute might have on your screen reader output is just productivety at its best!</p>
<p>What Hans accomplished here is done almost entirely through <a href="http://www.w3.org/TR/wai-aria/">WAI-ARIA</a>, and by implementing very intelligent keyboard navigation mechanisms. Through ARIA, such widgets as the log rows for the console, when you enter something such as <code>document;</code>, or  <code>dir();</code>, are pushing the boundaries of known desktop widgets. The fact that tabs have popup menus attached to them is being communicated to the user by NVDA straight away, thanks to a very open and flexible architecture that does not assume certain facts about traditional static desktop widgetry such as &#8220;tabs never have menus attached to them&#8221;. The pure visual box representation of the Layout side panel of the HTML panel is another great example. This even blew David Bolter away when I showed it to him during the Mozilla all-hands in late April, and David is a long-standing and accomplished a11y guru!</p>
<p>Implementing some of these features in desktop applications usually requires very customized implementations of the platform&#8217;s accessibility APIs. ARIA, however, is so open and flexible that it can be easily applied to make such visually complex tools like Firebug accessible without ever touching the Mozilla core codebase. Firebug is a mix of XUL (the Mozilla UI language) and HTML+CSS.</p>
<p>So, <a href="http://twitter.com/vick08/status/2639652258">Victor Tsaran of Yahoo! is already firebugging</a>, and so am I. When are you?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2009/07/16/blind-web-devs-jump-on-the-firebug-train/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>The WAI-ARIA Windows screen reader shootout</title>
		<link>http://www.marcozehe.de/2009/07/01/the-wai-aria-windows-screen-reader-shootout/</link>
		<comments>http://www.marcozehe.de/2009/07/01/the-wai-aria-windows-screen-reader-shootout/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 13:59:51 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[GMail]]></category>
		<category><![CDATA[Yahoo!]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=163</guid>
		<description><![CDATA[Firefox 3.5 has been released, and now it&#8217;s time to take a look at what features of WAI-ARIA are being supported by which Windows screen reader. Competition is healthy in this market, and two new screen readers have started supporting &#8230; <a href="http://www.marcozehe.de/2009/07/01/the-wai-aria-windows-screen-reader-shootout/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Firefox 3.5 has been released, and now it&#8217;s time to take a look at what features of WAI-ARIA are being supported by which Windows screen reader. Competition is healthy in this market, and two new screen readers have started supporting Firefox during the 3.5 development cycle: <a href="http://www.dolphinuk.co.uk">Dolphin&#8217;s</a> Hal/SuperNova and <a href="http://www.serotek.com">Serotek&#8217;s</a> System Access (including the free SAToGo offering). So to document the current state of affairs, I&#8217;ve taken each one of the following screen readers running on the Windows platform on a tour through some WAI-ARIA implementations that are out there for everyone to use. I&#8217;ve chosen not to do a widget-by-widget walkthrough of the Dojo DIJIT Toolkit or some other JS library already including WAI-ARIA, but instead concentrated on stuff users will actually encounter while surfing the web under non-clinical conditions.</p>
<p>The following are the candidates:</p>
<ul>
<li><a href="http://www.nvda-project.org">NVDA</a>, using the latest <a href="http://www.nvda-project.org/wiki/Snapshots">snapshot</a> build, which actually does not behave much different from the current 0.6p3 release.</li>
<li><a href="http://www.freedomscientific.com/products/fs/jaws-product-page.asp">JAWS</a> 10.0.1154.</li>
<li><a href="http://www.gwmicro.com/Window-Eyes/">Window-Eyes</a> 7.1.</li>
<li><a href="http://www.dolphinuk.co.uk/productdetail.asp?id=1">SuperNova</a> 11.02.</li>
<li><a href="http://serotek.com/system-access-standalone">System Access</a> in the form of the free <a href="http://www.satogo.com/">System Access To Go</a> service.</li>
</ul>
<p>The scoring is simple: For each important feature that is fully supported, each screen reader gets 1 point. A particular web app may have more than 1 feature, so it is possible to score multiple points for web apps.</p>
<p>Note that, even if WAI-ARIA support is not explicitly documented, it is still possible to score points because Firefox exposes many widgets through MSAA and IAccessible2 that are not standard HTML widgets. The interesting question here is: Are the various forms of Forms/Focus mode flexible enough to deal with these?</p>
<h3>Landmarks</h3>
<p>WAI-ARIA landmarks are one of the most widely used features of the spec already. They allow another means of navigating a web page, finding things such as the banner, main content, search, complementary or footer information. The newly relaunched <a href="http://addons.mozilla.org/">Mozilla Add-Ons website</a> uses them now, as does this blog.</p>
<dl>
<dt>NVDA</dt>
<dd>No.</dd>
<dt>JAWS</dt>
<dd>Yes. Landmarks are announced, they can be navigated to using the <kbd>Semicolon</kbd> quick navigation key, and there&#8217;s a list of landmarks available through <kbd>JAWSKey+Ctrl+SemiColon</kbd>. <strong>1 point</strong></dd>
<dt>Window-Eyes</dt>
<dd>No.</dd>
<dt>SuperNova</dt>
<dd>No.</dd>
<dt>System Access To Go</dt>
<dd>No.</dd>
</dl>
<p>So after the first round, JAWS is in the lead with 1 points.</p>
<h3>Contact form from my Easy ARIA tips</h3>
<p>The <a href="http://www.marco-zehe.de/examples/Tutorial_aria-invalid_and_role_alert.html">example contact form</a> I created for my Easy Aria tip #3 offers several features that can be incorporated without having to create widgets, and which have appeared in some form or another on pages throughout the web already:</p>
<ul>
<li>Does the fact that the Name, E-Mail and Message fields are required get indicated by anything other than the label saying &#8220;required&#8221;?
<ul>
<li>By navigating the virtual buffer</li>
<li>When in forms/focus mode and tabbing around</li>
</ul>
</li>
<li>When entering an invalid name by just entering the first name:
<ul>
<li>Does the alert get spoken when tabbing away?</li>
<li>When tabbing back, does the field get indicated as having an invalid entry?</li>
<li>Does the fact that this field has an invalid entry get indicated when navigating in the virtual buffer?</dd>
</ul>
</li>
</ul>
<p>In total, there are 5 points to score for this test.</p>
<dl>
<dt>NVDA</dt>
<dd>NVDA indicates the field as being required in v cursor mode and when tabbing around. 2 points. It speaks the alert. 1 point. It indicates the invalid attribute both when navigating the virtual buffer and when in focus mode and tabbing around. 2 points. Total: <strong>5 points</strong></dd>
<dt>JAWS</dt>
<dd>While the label gets spoken in virtual cursor mode, when JAWS switches to forms mode automatically when hitting the entry field, the plopping sound drowns out every indication of attributes such as required or invalid. Only when deviating from default settings and turning AutoFormsMode off one will hear those attributes in V cursor mode. No points for these two. The alert gets spoken. 1 point. When tabbing around, the attributes such as required and invalid do get announced with the default settings. 2 points for these. Total: <strong>3 points</strong></dd>
<dt>Window-Eyes</dt>
<dd>The fact that the field is required gets spoken in both browse and focus modes. 2 points. The alert gets spoken. 1 point. The fact that the field has an invalid entry gets spoken in both browse and focus modes. 2 points. Total: <strong>5 points</strong></dd>
<dt>SuperNova</dt>
<dd>None of the asked for features work. Sorry, <strong>0 points</strong>.</dd>
<dt>System Access To Go</dt>
<dd>The alert gets spoken. 1 point. None of the attributes are spoken when navigating or tabbing. Total: <strong>1 point</strong>.</dd>
</dl>
<p>After round 2, NVDA and Window-Eyes take the lead with 5 points each, JAWS follows on third place with a total of 4 points, System Access has 1 point, and SuperNova has 0 points.</p>
<h3> Yahoo! Search</h3>
<p>The new <a href="http://www.ysearch.com">Yahoo! Search</a> is an interactive widget allowing browsing of possible search terms and related concepts that fit the currently selected search term. It uses a whole range of WAI-ARIA widgets, properties and states, live regions etc. When performing a search, the following things should be working:</p>
<ul>
<li>When focusing the textbox:
<ul>
<li>Does the screen reader speak the name &#8220;Search query&#8221;?</li>
<li>Does the screen reader announce the description &#8220;Use the up and down arrow keys to select suggestions, or press down and then right to explore concepts.&#8221;?</li>
</ul>
</li>
<li>When typing, does the screen reader announce that search suggestions are available?</li>
<li>When search suggestions are available, does pressing <kbd>DownArrow</kbd> properly announce that focus shifted to the list of suggested search terms, and what to do to get back to the search field?</li>
<li>Does pressing <kbd>RightArrow</kbd> announce the shift to the &#8220;related concepts&#8221; list and the selected item?</li>
<li>When arrowing through either list, does the highlighted/focused item get spoken, and does the search that will be performed when pressing <kbd>Enter</kbd> get announced by the screen reader?</li>
</ul>
</li>
</ul>
<p>So, there are 7 points to score for this one.</p>
<dl>
<dt>NVDA</dt>
<dd>It speaks the &#8220;Search query&#8221; label. 1 point. It speaks the &#8220;Use the..&#8221; description. 1 point. When search suggestions are available, the fact is announced. 1 point. When pressing <kbd>DownArrow</kbd>, the transition to the list of suggested terms is announced along with the full instructions and the selected item. 1 point. When arrowing left and right to the related concepts and back, each focus transition is properly announced and the highlighted item read. 1 point. When arrowing up and down through either list, the newly highlighted search term is announced, and the search that is going to be performed is announced automatically. 2 points. Total: <strong>7 points</strong></dd>
<dt>JAWS</dt>
<dd>When focusing the search field, the &#8220;Search query&#8221; label is announced. 1 point. The &#8220;use &#8230;&#8221; description is not announced automatically. It is also not being announced when pressing <kbd>JawsKey+Tab</kbd> or <kbd>Insert+F1</kbd>. The only way to get to it is to use their HomeRow utility functions and cycling to the &#8220;Description&#8221; item with <kbd>HomeRow+F10</kbd> and then listening to it with <kbd>HomeRow+F9</kbd>. For this almost non-discoverability I can&#8217;t give a point, sorry. When search results are available, this gets announced. 1 point. When pressing <kbd>DownArrow</kbd>, the transition to the list is announced along with the prompt. 1 point. When RightArrowing, the transition to the &#8220;Explore related concepts&#8221; list is announced. 1 point. When arrowing up and down, the newly highlighted item is not announced, and neither is the search that is going to be performed. One can get the currently focused item by using <kbd>Insert+Tab</kbd>, but the description is once again burried in HomeRow. I&#8217;m willing to give half a point for this one since initially it will be confusing to users that they don&#8217;t hear anything when arrowing up and down. Total: <strong>4.5 points</strong></dd>
<dt>Window-Eyes</dt>
<dd>The label &#8220;Search query&#8221; is announced. 1 point. The &#8220;Use&#8230;&#8221; description is announced. 1 point. The availability of search results is not announced. The transition to the search term suggestions is partially announced: The focused item is, but the prompt is not. Half a point. The transition to the &#8220;Related concepts&#8221; and back is announced partially: The newly focused item is, but the prompt isn&#8217;t. half a point. When arrowing up and down, both the search suggestion and the search that is going to be performed are being announced. 2 points. Total: <strong>5 points</strong>.</dd>
<dt>SuperNova</dt>
<dd>Announcing the &#8220;Search query&#8221; label works. 1 point. But unfortunately, that&#8217;s where the fun ends. The description is not announced, the availability of search term suggestions is neither. And the rest of the functionality of this widget is broken. <kbd>DownArrow</kbd> is captured by SuperNova and will not fall through to the widget, getting one stuck inside the textbox. Tabbing around will only get up to the &#8220;Submit your site&#8221; link, but the search terms aren&#8217;t reachable. SuperNova will say &#8220;bottom&#8221;, and no further can one go. Total: <strong>1 point</strong>.</dd>
<dt>System Access To Go</dt>
<dd>The picture is roughly the same as with SuperNova. The label &#8220;Search query&#8221; is spoken. 1 point. The description is not spoken. The availability of search term suggestions neither. <kbd>DownArrow</kbd> gets you to the &#8220;Search&#8221; button instead of the list of search terms. In fact, this virtual buffer also ends at the &#8220;Submit your site&#8221; link. Total: <strong>1 point</strong>.</dd>
</dl>
<p>At the end of this round, NVDA leaps ahead with 12 points. Window-Eyes is second with 10 points, followed by JAWS with 8.5 points. System Access scores a total of 2, and SuperNova got their first point!</p>
<h3>GMail Chat</h3>
<p>GMail has an integrated Google Talk widget that I talked about <a href="http://www.marcozehe.de/2008/08/06/aria-in-gmail-2-enhancing-the-chat-experience/">before</a>. The following should be working:</p>
<ul>
<li>Ability to activate the &#8220;Set status here&#8221; label by pressing <kbd>Enter</kbd> on it to input a personal status message.</li>
<li>Ability to activate the &#8220;status menu&#8221; and navigate inside it with speech output.</li>
<li>Navigate inside the list of buddies and hear their names and status.</li>
<li>Inside the Chat window, announce typed and incoming messages.</li>
<li>Track going to the Chat window toolbar.</li>
</ul>
<p>Once again, there are 5 points to score. Let&#8217;s see how everyone fares!</p>
<dl>
<dt>NVDA</dt>
<dd>Pressing Enter on &#8220;Set status here&#8221; works fine, and one can input a status message. 1 point. Activating and navigating in the status menu works fine. 1 point. The list of buddies talks fine. 1 point. Chatting works fine. 1 point. Trying to access the toolbar items by first going out of focus mode with <kbd>Escape</kbd> made NVDA hang each time I tried it. It somehow has a conflict with the chat widget. Sorry, no point for this one. Total: <strong>4 points</strong></dd>
<dt>JAWS</dt>
<dd>The label to input a status message is not activable by pressing <kbd>Enter</kbd>. It can only be activated using the JAWS cursor emulation. Since this is a well-known workaround, I&#8217;m giving half a point. The Status menu is activable and works fine. 1 point. The list talks fine. 1 point. The incoming and typed messages are spoken in the chat output. 1 point. The chat toolbar to pop out the chat into its own window is accessible. 1 point. Total: <strong>4.5 points</strong>.</dd>
<dt>Window-Eyes</dt>
<dd>Accessing the label to input a status message works with workaround of routing WE cursor to element, then mouse to WE cursor, and clicking with the mouse. However, I cannot input a status message afterwards, even though I hear the prompt for it. a quarter of a point for that. The status menu cannot be activated through any means. The list talks fine. 1 point. The chat window works with restrictions: It can be activated and typed in, but incoming messages are not read. half a point for that. Trying to access the toolbar items of the chat window sort of works by turning browse mode back on, and then searching, but since the last position is not retained, I can only give half a point for this one. Total: <strong>2.25 points</strong>.</dd>
<dt>SuperNova</dt>
<dd>Activating the &#8220;Set status here&#8221; works. I can input a new status. 1 point. The status menu button does not work, cannot be activated or found through other means. The list of buddies talks. 1 point. Activating a chat with a buddy does not work. Consequently, since the chat window never comes up, the toolbar items for the chat window obsolete themselves. Total: <strong>2 points</strong>.</dd>
<dt>System Access To Go</dt>
<dd>The &#8220;Set status here&#8221; and Status menu items are not accessible. The list talks fine. 1 point. Activating a chat works. 1 point. Finding the toolbar buttons is not possible, because the cursor gets stuck within the textbox of the chat window and there&#8217;s no way to move it out. Total: <strong>2 points</strong>.</dd>
</dl>
<h3>&#8230;and the winner is&#8230;</h3>
<p>Congratulations go to the NV Access team and their screen reader! In this WAI-ARIA shootout, you scored 16 points.</p>
<p>Number 2 is JAWS by Freedom scientific, scoring a total of 12.5 points.</p>
<p>Window-Eyes by GW Micro is third with a total of <strong>12.25 points</strong>.</p>
<p>Fourth place goes to Serotek with their System Access screen reader product line, with a total of <strong>4 points</strong>.</p>
<p>And SuperNova by Dolphin receives <strong>3 points</strong>.</p>
<h3>In summary</h3>
<p>This was a close match, although there is clearly a dividing line between the three screen readers that have been supporting Firefox for a longer period of time, and those that came on board fresh within the past year or so.</p>
<p>I hope this little competition encourages each of the vendors to better themselves for the benefit of the users. We&#8217;re here to help each and everyone of you with technical advice and discussion on how things should be implemented.</p>
<p>Keep on rockin&#8217;!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2009/07/01/the-wai-aria-windows-screen-reader-shootout/feed/</wfw:commentRss>
		<slash:comments>44</slash:comments>
		</item>
		<item>
		<title>New accessibility features in Firefox 3.5</title>
		<link>http://www.marcozehe.de/2009/06/26/new-accessibility-features-in-firefox-3-5/</link>
		<comments>http://www.marcozehe.de/2009/06/26/new-accessibility-features-in-firefox-3-5/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 08:34:34 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=161</guid>
		<description><![CDATA[Firefox 3.5 is fast approaching, and it&#8217;s time to list all the user-visible changes to the accessibility support in this new version! Support for text attributes, formatting and spell checking Firefox 3.5 exposes text attributes such as bold, underlined, and &#8230; <a href="http://www.marcozehe.de/2009/06/26/new-accessibility-features-in-firefox-3-5/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Firefox 3.5 is fast approaching, and it&#8217;s time to list all the user-visible changes to the accessibility support in this new version!</p>
<h3>Support for text attributes, formatting and spell checking</h3>
<p>Firefox 3.5 exposes text attributes such as bold, underlined, and color information through the AT-SPI and IAccessible2 attributes properties of their respective AccessibleText interfaces. Information about formatting such as left aligned, centered etc., is also provided. In addition, in rich editing and other text entry environments where the spell checker is enabled, when a word is misspelled, this information is also provided so screen readers can pick up and notify the user. Since my <a href="http://www.marcozehe.de/2008/07/17/support-for-text-attributes-and-spell-checking-is-coming-in-firefox-31/">original blog post on this subject</a>, Orca 2.28, NVDA 0.6p3 and JAWS 10 have added support for this feature, allowing a seamless proof reading of entered text in both Firefox 3.5 and the upcoming Thunderbird 3 release. This works also when writing a message in GMail or other rich editing environments, not just textboxes or textareas.</p>
<h3>Better compliance with WAI-ARIA 1.0</h3>
<p>We&#8217;ve made sure that the WAI-ARIA 1.0 spec is adhered to to the most extent possible, removing attributes that are no  longer in the spec, and adding/changing those that were agreed upon in the progression towards finalizing ARIA 1.0, which is currently in a late review stage. One of the most significant attributes added is <a href="http://www.w3.org/TR/wai-aria/#aria-label">aria-label</a>, which allows any text to be associated with a widget that doesn&#8217;t appear anywhere else within the web app. For extension devs: This also works in XUL, not just HTML. One project that makes heavy use of this is Firebug 1.4 in the accessibility UI enhancements that Hans from the Paciello Group has put in. This is also the reason why Firebug 1.4 works better in Firefox 3.5 than 3.0, what accessibility is concerned, since Firefox 3.0 doesn&#8217;t support this new attribute.</p>
<p>Also, aria-expanded can be used on all elements now, allowing better exposure of states for buttons that drop down a list of items, for example.</p>
<h3>Support for the exposure of embedded HTML 5 audio and video controls</h3>
<p><a href="http://www.marcozehe.de/2009/06/11/exposure-of-audio-and-video-elements-to-assistive-technologies/">As recently announced</a>, we&#8217;re also supporting the exposure of the embedded controls of the HTML 5 audio and video elements to assistive technologies.</p>
<h3>Better event firing in dynamic web applications</h3>
<p>We fixed a significant issue with firing proper events when nodes get hidden or made visible through JavaScript or Ajax calls. This should allow a much better experience with accurate visibility of nodes within virtual buffers of various screen readers.</p>
<h3>And a ton of bug fixes for stability</h3>
<p>Of course, each cycle also goes with a ton of bug fixes that improve stability and accuracy. These are mostly under the hood and often deal with edge cases, but these are no less important to our user base.</p>
<p>When Firefox comes out, I encourage everyone to upgrade as soon as possible, since it will provide an even more rich experience when browsing the web than Firefox 3.0 already did. Probably the most important extension for blind users, <a href="http://www.webvisum.com">WebVisum</a>, already works with this release, so you won&#8217;t lose anything on that front! Also, other extension devs are working hard to make their projects work with Firefox 3.5.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2009/06/26/new-accessibility-features-in-firefox-3-5/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Last weeks in the &#8220;Accessible&#8221; module, May 11, 2009</title>
		<link>http://www.marcozehe.de/2009/05/11/last-weeks-in-the-accessible-module-may-11-2009/</link>
		<comments>http://www.marcozehe.de/2009/05/11/last-weeks-in-the-accessible-module-may-11-2009/#comments</comments>
		<pubDate>Mon, 11 May 2009 07:10:52 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[NVDA]]></category>
		<category><![CDATA[SeaMonkey]]></category>
		<category><![CDATA[Thunderbird]]></category>
		<category><![CDATA[Firebug]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=153</guid>
		<description><![CDATA[Sorry for being a slacker in updating you guys regularly on what&#8217;s been happening! But we&#8217;ve been quite busy at getting some stuff finished and hopefully ready for inclusion in 3.5. I already posted about the return of the descriptions &#8230; <a href="http://www.marcozehe.de/2009/05/11/last-weeks-in-the-accessible-module-may-11-2009/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Sorry for being a slacker in updating you guys regularly on what&#8217;s been happening! But we&#8217;ve been quite busy at getting some stuff finished and hopefully ready for inclusion in 3.5. I already posted about the <a href="http://www.marcozehe.de/2009/05/07/the-descriptions-are-back/">return of the descriptions</a> last week. So here&#8217;s what else happened since my last report:</p>
<h3>Exposing HTML 5 audio and video elements</h3>
<p>The <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=483573">initial exposure</a> for the HTML5 audio and video elements to screen readers landed, causing a <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=489306">minor regression</a> that was quickly fixed. In testing this with NVDA, I found that the <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=489549">button labels weren&#8217;t properly exposed</a> and that the <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=489551">slider values were not really useful</a>. The progress meters were showing the number of bytes downloaded, or the milliseconds elapsed instead of useful percentage values. Along those lines, Alex also added a bug to <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=490287">expose proper names for each progress meter</a>, so a screen reader user knows which slider is for what purpose.</p>
<p>Except for the last patch, all others have landed on mozilla-central and will be available for testing starting with the 11th of May nightly build.</p>
<p>To make it clear: This is for those HTML5 audio and video elements that have the <em>controls</em> attribute set, indicating that the internally available controls should be used. Other forms of controlling the media playback, such as from external HTML controls/widgets, already worked in the past since these were not part of the actual audio or video element itself.</p>
<h3>Tree view item rectangle exposure</h3>
<p>We received a report that in Thunderbird 3 beta on Windows, the rectangles for tree view items were not exposed correctly. The rectangle was too small, not encompassing the whole item. Alex investigated this and fixed <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=491450">the bug</a>, putting an <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=491645">optimization</a> in as a second step for all platforms. This also landed on mozilla-1.9.1 after having baked on mozilla-central for a while, and is available since the May 9th nightly builds of Shiretoko, Thunderbird and SeaMonkey.</p>
<h3>The ARIA live region background tab leakage</h3>
<p>David has been taking different stabs at <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=444644">bug 444644</a>, with some good results thanks to feedback from Roc and BZ during the Mozilla all-hands week. However, we&#8217;re still fighting a situation where the creation of virtual buffers by NVDA is causing the live region updates from background tabs to be spoken again. Investigation is ongoing</p>
<h3>Other ARIA-related triage</h3>
<p>David&#8217;s also been a busy bee clearing out some ARIA-related bugs, gathering feedback here and there, closing others as they&#8217;ve been solved by other bugs, etc.</p>
<h3>Firebug accessibility</h3>
<p>This is not strictly inside the &#8220;Accessible&#8221; module of the platform, but very closely related to the Mozilla eco system. Accessibility of the <a href="http://www.getfirebug.com/">Firebug</a> UI has been <a href="http://clients.paciellogroup.com/firebug/firebug.html">shaping up</a> very nicely over recent weeks. I spent a fair amount of time last week pounding the different alpha releases to help make sure things stayed in shape.</p>
<p>On Friday, Hans from the Paciello Group, Jamie from the NVDA team and I also managed to get the biggest outstanding problem solved in a very productive meeting on IRC, and that&#8217;s the reading of the Firebug JS panel by NVDA. Watch this space for a review once Firebug 1.4 goes to beta!</p>
<p>That&#8217;s it for this week, thanks for the read!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2009/05/11/last-weeks-in-the-accessible-module-may-11-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Last week in the &#8220;Accessible&#8221; module, April 20, 2009</title>
		<link>http://www.marcozehe.de/2009/04/20/last-week-in-the-accessible-module-april-20-2009/</link>
		<comments>http://www.marcozehe.de/2009/04/20/last-week-in-the-accessible-module-april-20-2009/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 09:12:55 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=149</guid>
		<description><![CDATA[After the Easter holidays, pace has picked up again in the development of accessibility features and other work surrounding our eco system. Actions for sorting and expansion/collapsing After some minor setbacks, David&#8217;s patch on exposing actions for ARIA sort and &#8230; <a href="http://www.marcozehe.de/2009/04/20/last-week-in-the-accessible-module-april-20-2009/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After the Easter holidays, pace has picked up again in the development of accessibility features and other work surrounding our eco system.</p>
<h3>Actions for sorting and expansion/collapsing</h3>
<p>After some minor setbacks, David&#8217;s <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=473732">patch on exposing actions</a> for ARIA sort and expand/collapse attributes finally landed today. This means that:</p>
<ul>
<li>An element that has <em>aria-sort</em> set, will expose an action of &#8220;sort&#8221; to assistive technologies.</li>
<li>An element that has <em>aria-expanded</em> set to &#8220;true&#8221; will expose an action of &#8220;collapse&#8221;, one that has <em>aria-expanded</em> set to &#8220;false&#8221; will expose an action of &#8220;expand&#8221;.</li>
</ul>
<p>These can be used to exactly determine what action will be performed once it is being performed.</p>
<h3>Exposure of the HTML5 audio and video element controls</h3>
<p>Alexander&#8217;s <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=483573">patch to expose the embedded controls</a> of the HTML 5 video and audio elements has landed on mozilla-central. With NVDA, one can now see the grouping where the controls are, and invoke the action on each of the buttons. One can even switch to focus mode on the sliders and use the arrow keys to manipulate them. Note: Due toa different approach in reading our information, JAWS does not yet expose these controls despite this patch. Other screen readers are pending tests.</p>
<p>There are a few problems still which will be addressed soonish: For one, the buttons don&#8217;t have text labels yet, and the slider percentage values reflect times rather than actual percentages, so we need to see how we&#8217;re going to expose this properly.</p>
<h3>In other news</h3>
<p>The team, along with a number of community members, has worked on a new high-level <a href="https://wiki.mozilla.org/Accessibility/Strategy">accessibility strategy document</a>. Frank Hecker has a <a href="http://blog.hecker.org/2009/04/19/proposed-mozilla-accessibility-strategy/">blog post explaining this</a> in greater detail.</p>
<h3>Spreading the good work of ARIA to mainstream open-source CMS</h3>
<p>Peter Krantz, accessibility expert from Sweden, has started an effort to <a href="http://www.standards-schmandards.com/2009/wai-aria-landmark-roles-in-cms-themes/">contribute WAI-ARIA landmark roles</a> to mainstream open-source content management systems. If you know one of the CMS that don&#8217;t have patches yet, feel free to jump in!</p>
<p>That&#8217;s it for this week, see you next week for a new edition!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2009/04/20/last-week-in-the-accessible-module-april-20-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Updated ARIA-spiced form example to work in IE 8</title>
		<link>http://www.marcozehe.de/2009/03/31/updated-aria-spiced-form-example-to-work-in-ie-8/</link>
		<comments>http://www.marcozehe.de/2009/03/31/updated-aria-spiced-form-example-to-work-in-ie-8/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 12:53:22 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[ARIA InternetExplorer8]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=129</guid>
		<description><![CDATA[I updated my simple form example from the third Easy ARIA Tip to also work in IE 8. I had to explicitly state a doc type to put IE out of quirks mode into proper IE 8 mode, and I &#8230; <a href="http://www.marcozehe.de/2009/03/31/updated-aria-spiced-form-example-to-work-in-ie-8/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I updated my <a href="http://www.marco-zehe.de/examples/Tutorial_aria-invalid_and_role_alert.html">simple form example</a> from the <a href="http://www.marcozehe.de/2008/07/16/easy-aria-tip-3-aria-invalid-and-role-alert/">third Easy ARIA Tip</a> to also work in IE 8. I had to explicitly state a doc type to put IE out of quirks mode into proper IE 8 mode, and I also had to change the type attribute&#8217;s value of the script tag to &#8220;text/javascript&#8221; from &#8220;application/javascript&#8221; for it to recognize the functions declared in the script block.</p>
<p>The example works visually, but has a number of accessibility issues which make testing IE 8 with it a not so pleasant experience:</p>
<ul>
<li>Neither aria-required nor aria-invalid take any effect with either JAWS or NVDA. It&#8217;s as if the attributes weren&#8217;t set, yet the IE DOM exposes them correctly, as JAWS&#8217;s Element Info keystroke, <kbd>Insert+Shift+F1</kbd>, clearly indicates.</li>
<li>Neither JAWS nor NVDA see the alerts come up, and thus don&#8217;t speak them. The alerts appear visually, so the JavaScript is working, but the DOM mutation is not being picked up. Only after a refresh in the respective screen readers is the content of these visible in the virtual buffer.</li>
</ul>
<p>For testing, I used the latest update to JAWS 10, build number 10.0.1142, and NVDA trunk snapshot 2828. And of course, the release version of IE 8.</p>
<p>For those of you doing web application development and testing, this is an indication that your best bet to get proper results is definitely the combination of a strong implementation of ARIA in Firefox and a supporting screen reader.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2009/03/31/updated-aria-spiced-form-example-to-work-in-ie-8/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Last week in the &#8220;Accessible&#8221; module, March 30, 2009</title>
		<link>http://www.marcozehe.de/2009/03/30/last-week-in-the-accessible-module-march-30-2009/</link>
		<comments>http://www.marcozehe.de/2009/03/30/last-week-in-the-accessible-module-march-30-2009/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 20:46:46 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://www.marcozehe.de/?p=127</guid>
		<description><![CDATA[The last week was rather short, but no less busy. First, on the off-code side, I attended the European Accessibility Forum Frankfurt (EAFRA) conference on Friday, March 27. Christian Heilmann from Yahoo! posted a great summary of the event and &#8230; <a href="http://www.marcozehe.de/2009/03/30/last-week-in-the-accessible-module-march-30-2009/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The last week was rather short, but no less busy.</p>
<p>First, on the off-code side, I attended the <a href="http://eafra.eu/">European Accessibility Forum Frankfurt (EAFRA)</a> conference on Friday, March 27. Christian Heilmann from Yahoo! posted a <a href="http://developer.yahoo.net/blog/archives/2009/03/discussing_european_accessibility_matters_in_frankfurt.html">great summary of the event</a> and also caught my guide dog Falko <a href="http://www.flickr.com/photos/codepo8/3395132452/in/photostream/">sleeping while I talked</a>. The videos will appear <a href="http://vimeo.com/channels/eafra">here</a>.</p>
<p>On the code side, the action happened in the mozilla-1.9.1 repository AKA Firefox 3.5b4pre this time. Today, I checked in all the <a href="https://wiki.mozilla.org/Accessibility/Remaining_Mozilla-1.9.1_Nominations">approved mozilla-1.9.1 nominated patches</a>. From Tuesday&#8217;s 3.5b4pre nightly build onwards, Firefox will:</p>
<ul>
<li>Expose font sizes in PT units instead of PX, as specified in the IAccessible2 spec.</li>
<li>Support the value of &#8220;undefined&#8221; on aria-checked/aria-expanded etc. attributes, as specified in the ARIA 1.0 spec</li>
<li>Drop support for aria-channel, container-channel, and aria-datatype</li>
<li>Support aria-expanded on more roles</li>
<li>No longer support role=&#8221;description&#8221;</li>
<li>Require aria-grab to be changed to aria-grabbed for drag and drop to work in the future</li>
<li>Expose non-editable documents as readonly, regardless of role</li>
<li>Expose the &#8216;checkable=&#8221;true&#8221;&#8216; object attribute</li>
</ul>
<p>This brings Firefox 3.5beta4 very close to the ARIA 1.0 spec. We&#8217;ll take another look to make sure we don&#8217;t miss any details from the specification for implementation. Thanks to Mike Beltzner for not jumping our throats at these 10 or so approval requests we threw at him at once!</p>
<p>In other news, some progress is being made towards finding the leak that running the accessibility Mochitests on Mac OS exposes. It turns out that these same objects can also be leaked by other tests, which are not accessibility related, but ours are still the best bet at reproducing them. So our master of leak detection, <a href="http://blog.mozilla.com/tomcat">Carsten Book AKA Tomcat</a> has kindly agreed to help debug this beast.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcozehe.de/2009/03/30/last-week-in-the-accessible-module-march-30-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

