<?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>iheni :: making the web worldwide &#187; screenreaders</title>
	<atom:link href="http://www.iheni.com/tag/screenreaders/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.iheni.com</link>
	<description></description>
	<lastBuildDate>Tue, 20 Jul 2010 11:00:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Screen reader software usage shifts on desktop and mobile</title>
		<link>http://www.iheni.com/screen-reader-software-usage-shifts-on-desktop-and-mobile/</link>
		<comments>http://www.iheni.com/screen-reader-software-usage-shifts-on-desktop-and-mobile/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 15:11:04 +0000</pubDate>
		<dc:creator>iheni</dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[screenreaders]]></category>

		<guid isPermaLink="false">http://www.iheni.com/?p=1838</guid>
		<description><![CDATA[WebAim released their 2009 Screen Reader Survey last week, a follow up from last years Screen Reader survey. Very good reading it makes too but of particular interest are results around screen reader choice on the desktop and increased screen reader access on mobile. For years it&#8217;s felt like screen reader users have mainly used [...]]]></description>
			<content:encoded><![CDATA[<p>WebAim released their <a href="http://webaim.org/projects/screenreadersurvey2">2009 Screen Reader Survey</a> last week, a <a href="http://webaim.org/projects/screenreadersurvey/">follow up from last years Screen Reader survey</a>. Very good reading it makes too but of particular interest are results around screen reader choice on the desktop and increased screen reader access on mobile.</p>
<p>For years it&#8217;s felt like screen reader users have mainly used IE on the desktop in combination with the major screen readers <a href="http://www.freedomscientific.com/">Jaws by Freedom Scientific</a> and <a href="http://www.gwmicro.com/">WindowEyes by GW Micro</a>. It&#8217;s not that other platforms don&#8217;t support screen readers (we have <a href="http://live.gnome.org/Orca">Orca on Linux</a>, <a href="http://www.apple.com/accessibility/voiceover/">VoiceOver on Mac</a>) it&#8217;s just that IE seems to have dominated.</p>
<p>As such what types of content and web technologies users can and can&#8217;t access has very much been driven by what the three software vendors Microsoft, Freedom Scientific and GW Micro have supported. This has made access to the open web a bit lopsided cutting down on choice for the end user, competition and by extension innovation. <a href="http://www.iheni.com/just-how-accessible-is-svg/">SVG</a> is an example of a web technology that has possibly suffered by not being supported by IE and in turn by Jaws and WindowEyes.</p>
<p>What&#8217;s interesting to see in this year&#8217;s survey is that Jaws and WindowEyes &#8211; while still the most used &#8211; have some stiff competition at snapping at their heels from open source, free screen readers (NVDA and  SAToGo ) and VoiceOver which is available with Mac:</p>
<ul>
<li>JAWS 75.2%</li>
<li>Window Eyes 23.5%</li>
<li>VoiceOver 14.6%</li>
<li>System Access or System Access To Go 22.3%</li>
<li>NVDA 25.6%</li>
</ul>
<p>While this year&#8217;s stats show little shift for Jaws and WindowEyes usage overall there is a significant leap forward for  <a href="http://www.nvda-project.org/">NVDA</a> (NonVisual Desktop Access) and VoiceOver:</p>
<blockquote><p>Of the 1121 respondents, 74% use JAWS, 23% use Window-Eyes, 8% use NVDA, and 6% use VoiceOver. While several other screen readers were reported, these were the most prominently reported.</p></blockquote>
<p>The upsurge in VoiceOver could be explained in part by <a href="http://www.apple.com/accessibility/iphone/vision.html">iPhone now providing VoiceOver support</a>; all of a sudden there is a very real reason to switch to Mac if you can use a screen reader you are familiar with on both your desktop and mobile.</p>
<p>This could also explain the increase of screen reader users on mobile reported this year with 53% of survey respondents with disabilities confirming they use a screen reader on a mobile device. This is up from 12% last year (although last year&#8217;s survey doesn&#8217;t distinguish disabled from non-disabled users).</p>
<p>I wonder how much this is to do with the &#8216;iPhone Factor&#8217; but also can&#8217;t help thinking that social networking has done for the mobile web what Kylie Minogue did for Agent Provocateur &#8211; everybody wants some. And for me at least 2009 feels like the year that we all sat up and paid attention to the <a href="http://www.iheni.com/universal-access-on-mobile-accessibility-20/">potential of mobile for people with disabilities</a>.</p>
<p>We&#8217;re still faced with one massive problem with mobile access however and that&#8217;s the lack of an open, cross platform accessibility API that mobile screen readers can hook into. On desktop we have IAccessible2, MSAA and UI Automation (amongst others) but on mobile users are tied into one platform often only supporting one browser (such as iPhone, Blackberry RIM and others) so while desktop has opened up we find ourselves in a 1990&#8242;s type impasse with users left with little room to choose on mobile. <a href="http://www.iheni.com/using-opera-10-beta-with-voiceover/">Opera works well with VoiceOver</a> but we have no way of telling if it works on the iPhone as it&#8217;s not supported. My hope is that with more users there&#8217;ll be more momentum behind breaking this stand off and opening up the market and ultimately giving users not only choice but portability between platforms.</p>
<p>It&#8217;s good to also see the free, open source NVDA on the up. They&#8217;ve worked hard to include <a href="http://www.w3.org/WAI/intro/aria">WAI-ARIA</a> support and are becoming a key tool for web developers when testing. The Jaws demo version used to be popular among developers but with the <a href="http://webaim.org/blog/jaws-license-not-developer-friendly/">license becoming less developer friendly</a> NVDA is becoming a safer option.</p>
<p>It&#8217;s early days but the rise of  VoiceOver and NVDA combined with alternative browsers such as Opera, Safari and Firefox may break the hold that screen reader giants Jaws and WindowEyes have over the market, helping to open up competition and with it how fast screen readers innovate in supporting new technologies such as HTML5, SVG and so on. This will be a win all round for both users and developers.</p>
<h3>Update 12 November, 2009</h3>
<p>Jared&#8217;s presentation <a href="http://www.slideshare.net/jared_w_smith/the-legend-of-the-typical-screen-reader-user-2485093">The Legend of the Typical Screen Reader User</a> summarises many of the points above. He also includes quotes from screen reader users at the end in response to the question &#8220;What suggestions do you have for developers/manufacturers of screen readers?&#8221; which he mentions in his comments below.</p>
<div id="__ss_2485093" style="width: 425px; text-align: left;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=screenreadersurvey-091112110850-phpapp01&amp;stripped_title=the-legend-of-the-typical-screen-reader-user-2485093" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=screenreadersurvey-091112110850-phpapp01&amp;stripped_title=the-legend-of-the-typical-screen-reader-user-2485093" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<h3>Mobile accessibility resources:</h3>
<ul>
<li><a href="http://wiki.fluidproject.org/display/fluid/Mobile+Accessibility">Fluid mobile accessibility wiki</a></li>
<li><a href="http://blind.wikia.com/wiki/Open_Letter_Initiative">Open Letter Initiative</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.iheni.com/screen-reader-software-usage-shifts-on-desktop-and-mobile/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Using Opera 10 Beta with VoiceOver</title>
		<link>http://www.iheni.com/using-opera-10-beta-with-voiceover/</link>
		<comments>http://www.iheni.com/using-opera-10-beta-with-voiceover/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 15:28:37 +0000</pubDate>
		<dc:creator>iheni</dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[keyboard access]]></category>
		<category><![CDATA[screenreaders]]></category>
		<category><![CDATA[VoiceOver]]></category>

		<guid isPermaLink="false">http://www.iheni.com/?p=1464</guid>
		<description><![CDATA[Support for the Mac native screen reader VoiceOver was added to Opera in version 9.5. This is a quick overview explaining what you can access using VoiceOver with Opera. I&#8217;m hoping it will be of use to people with screen readers and developers debugging content alike. Before you get started, if you&#8217;re not already familiar [...]]]></description>
			<content:encoded><![CDATA[<p>Support for the Mac native screen reader <a href="http://www.apple.com/accessibility/voiceover/">VoiceOver</a> was added to Opera in version 9.5. This is a quick overview explaining what you can access using VoiceOver with Opera. I&#8217;m hoping it will be of use to people with screen readers and developers debugging content alike.</p>
<p>Before you get started, if you&#8217;re not already familiar with keyboard access in Opera, it&#8217;s worth having a read of <a href="http://www.iheni.com/opera-accessibility-where-were-at/">Opera accessibility: where we&#8217;re at</a>. I&#8217;ll cover what you need to know here but article is good for background information.</p>
<p>Huge thanks go out to <a href="http://twitter.com/vick08">Victor Tsaran</a> over at Yahoo! who gave me some great feedback while I was testing as well as Jon Gibbons (<a href="http://twitter.com/dotjay">Dotjay</a>) who rustled up an <a href="http://lab.dotjay.co.uk/notes/voiceover-commands/">accessible table of VoiceOver commands</a> and <a href="http://twitter.com/alastc">Alastair Campbell</a> who pointed me to his <a href="http://alastairc.ac/notes/osx/voiceover/voiceover-basics/">overview of VoiceOver</a>.</p>
<h3>Setting up keyboard access on OSX</h3>
<p>Mac is odd as it requires that you <a href="http://support.apple.com/kb/HT2840">switch on full keyboard access</a> and optimise it for access technology before you can truly get started. Fortunately however it&#8217;s pretty simple to set up:</p>
<ol>
<li>Open System Preferences.</li>
<li>Click Keyboard and Mouse.</li>
<li>Select the Keyboard shortcuts tab.</li>
<li>Ensure the &#8220;Turn full keyboard access on or off&#8221; option is checked.</li>
</ol>
<p>Next:</p>
<ol>
<li> Open Universal Access within System Preferences.</li>
<li>Check &#8220;Enable access for assistive devices&#8221;.</li>
</ol>
<div id="attachment_1529" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.iheni.com/wordpress/wp-content/uploads/2009/07/macpreferences.png"><img class="size-medium wp-image-1529" src="http://www.iheni.com/wordpress/wp-content/uploads/2009/07/macpreferences-300x271.png" alt="" width="300" height="271" /></a><p class="wp-caption-text">System Preferences in Mac with Keyboard shortcuts selected and &quot;Turn full keyboard access on or off&quot; highlighted  </p></div>
<h3>Setting up keyboard access in Opera</h3>
<p>Once Mac is set up you&#8217;ll then need to check Opera is ready for keyboard access:</p>
<ol>
<li>Choose Opera &gt; Preferences.</li>
<li>Click Advanced.</li>
<li>Select Shortcuts in the list of settings.</li>
<li>Check the “Enable single-key shortcuts” checkbox.</li>
</ol>
<h3>Basic VoiceOver keyboard commands</h3>
<p>With keyboard access set up in Mac and Opera you&#8217;re ready to go. These are the basic VoiceOver commands you need to start interacting with the browser chrome and HTML content. Note that “Voiceover keys” (or VO), means the Ctrl and Option keys pressed together.</p>
<ol>
<li><strong>Toggle VoiceOver on or off </strong>- Cmd + F5.</li>
<li><strong>Navigate around the chrome</strong> &#8211; VO + Cmd + Shift and Arrow keys.</li>
<li><strong>Interact the HTML content</strong> &#8211; VO + Shift + down arrow (↓).</li>
<li><strong>Interact with the browser chrome</strong> &#8211; VO + Shift + up arrow (↑).</li>
<li><strong>Navigate content </strong>(Spatial Navigation, see below) &#8211; Shift+ Up, Down, Left or Right arrow.</li>
<li><strong>Tab through form elements</strong> &#8211; TAB / Shift+TAB.</li>
</ol>
<h3>Basic Opera keyboard commands</h3>
<p>When using Opera you can do more than just tab linearly around the page as you would in other browsers. The TAB key only picks up form elements allowing you quick and easy access to forms by jumping over other content. To access all content on a web page you can then use the following:</p>
<ul>
<li><strong>Spatial Navigation</strong> &#8211; By holding down Shift + left, up, right and down arrows (← ↑ → ↓), you can move up down, left right and across the page. The pus side of this is that you don&#8217;t have to laboriously tab though linear content.</li>
<li><strong>Single key shortcuts</strong> &#8211; One you have enabled Single Key Shortcuts (see &#8216;Setting up keyboard access in Opera&#8217; above) you can simply use &#8216;S&#8217; and &#8216;W&#8217; to move forward and backwards through headings and &#8216;A&#8217; and &#8216;Q&#8217; to do the same with links. Check out the navigating headings, links, page elements, images, tabs and zooming section below for more details.</li>
</ul>
<p>The important thing to remember is that while VoiceOver has it&#8217;s own keyboard commands for accessing headings and links often navigation works better if  Opera Single Key Shortcuts and Spatial Navigation is used.  Single key shortcuts can also be customised either via the Preferences (In  Advanced &gt; Shortcuts &gt; Keyboard setup then Edit) or by <a href="http://operawiki.info/EditingINIFiles">changing the .ini files</a>.</p>
<h3>Preferences</h3>
<p>Before you start browsing you&#8217;ll most likely want to customise how you browse using Preferences.  Using VoiceOver you should be able to configure content, security, shortcuts, tabs etc using the following commands:</p>
<ul>
<li><strong>Open Preferences</strong> &#8211; Cmd+Comma (,).</li>
<li><strong>Tab through all content </strong>(including switching between tabs) &#8211;  Ctrl+Alt+ Right, Left, Up or Down arrow keys.</li>
<li><strong>To interact with a list</strong> &#8211;  Shift+Ctrl+Alt+Down.</li>
<li>Cycle through lists &#8211; Arrow keys.</li>
<li><strong>Access  highlighted list item</strong> -  Ctrl+Alt+Right, Left, Up or Down arrow keys.</li>
</ul>
<div id="attachment_1527" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-1527 " src="http://www.iheni.com/wordpress/wp-content/uploads/2009/07/operapreferences-300x225.png" alt="" width="300" height="225" /><p class="wp-caption-text">The Preferences screen showing Shortcuts highlighted in the Advanced tab with Enable Single Key Shortcuts selected.</p></div>
<h3>Reading text</h3>
<p>You can read what you like when you like using the following keyboard commands:</p>
<ul>
<li><strong>Read content</strong> &#8211; VO + A.</li>
<li><strong>Stop reading </strong>- Ctrl.</li>
<li><strong>Navigate through paragraphs, headings, and elements &#8211; </strong>Single key shortcut &#8216;D&#8217; (forward) or &#8216;E&#8217; (backward).</li>
</ul>
<h3>Navigating headings, links, page elements, images, tabs and zooming</h3>
<p>As mentioned above all elements can be accessed using either Spatial Navigation (Shift+Arrow keys) or single key shortcuts.</p>
<p>What follows is a list of main keyboard shortcuts. Where I have said &#8220;Navigate to get VO feedback&#8221; it means the function can be carried out but VoiceOver does not give feedback. Instead you need to start navigating in order to hear feedback.</p>
<table border="1" width="651">
<thead>
<tr>
<th width="311">Function and comments</th>
<th width="113">Single-Key Shortcut</th>
<th width="205">Comments</th>
</tr>
</thead>
<tbody>
<tr>
<td>Switch to previous tab on tab bar</td>
<td>1</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Switch to next tab on tab bar</td>
<td>2</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Restore zoom to 100%</td>
<td>6</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Zoom out by 100%</td>
<td>7</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Zoom in by 100%</td>
<td>8</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Zoom out by 10%</td>
<td>9</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Zoom in by 10%</td>
<td>0</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Cycle through links in page</td>
<td>A and Q</td>
<td>Works as expected</td>
</tr>
<tr>
<td>Cycle through headers in page</td>
<td>S and W</td>
<td>Works as expected</td>
</tr>
<tr>
<td>Cycle through elements in page</td>
<td>D and E</td>
<td>Recommended to hit D/E a second time to get VO feedback</td>
</tr>
<tr>
<td>Toggle between author mode and user mode</td>
<td>Shift + G</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Address bar history drop-down</td>
<td>H</td>
<td>Works as expected</td>
</tr>
<tr>
<td>Load and display all images</td>
<td>I</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Toggle loading of images</td>
<td>Shift + I</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Forward</td>
<td>X</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Fast forward</td>
<td>Shift + X</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Back</td>
<td>Z</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Rewind</td>
<td>Shift + Z</td>
<td>Navigate to get VO feedback</td>
</tr>
</tbody>
</table>
<p>I&#8217;m not familiar enough with VoiceOver as a technology but I&#8217;m told by our engineers that occasionally things lack feedback because it is hard to see what should be spoken and can be recognised. For example VoiceOver seems to have no concept of zoom level for instance.</p>
<p>I wonder also if this is because VoiceOver has been built with Safari in mind. Reading through the documentation you certainly get that impression. That said there is definitely more fine-tuning that we want to do our end.</p>
<h3>Forms</h3>
<p>As mentioned briefly above navigating forms on web pages is done using the Tab key.</p>
<ul>
<li><strong>Move forwards/backward through form elements</strong> &#8211; Tab / Shift+Tab</li>
<li><strong>Select</strong> &#8211; Space bar</li>
<li><strong>Activate</strong> &#8211; Enter</li>
</ul>
<h3>Item List Chooser</h3>
<p>The Item List Chooser in VoiceOver literally lists &#8211; in a keyboard navigable popup &#8211; all items available in a page or via the chrome.  This is great if you want to get an overview of everything that&#8217;s going on.</p>
<p>Everything is listed alphabetically and by typing the first letter or more you&#8217;ll automatically get taken to where you want. If you&#8217;re a developer this is a good way of seeing what is and what isn&#8217;t accessible.</p>
<ul>
<li><strong>List items in a page or in the chrome</strong> &#8211; VO + I</li>
<li><strong>Navigate the lists</strong> &#8211; Arrow keys.</li>
<li><strong>Escape</strong> &#8211; ESC</li>
<li><strong>Return to the chrome</strong> &#8211; VO + Shift + up arrow (↑)</li>
<li><strong>Return to HTML content</strong> -  VO+Shift+down arrow (↓)</li>
</ul>
<h3>WAI-ARIA</h3>
<p>While Opera is working on WAI-ARIA support I haven&#8217;t found much information regarding VoiceOver support of  WAI-ARIA. VoiceOver is not listed on the <a href="http://wiki.codetalks.org/wiki/index.php/Who_Supports_WAI-ARIA">Codetalks ARIA support</a> page however Steve Faulkner has done some <a href="http://www.paciellogroup.com/blog/aria-tests/ARIA-MACRoleTests.html">ARIA role tests on MAC</a> with Safari 4 beta, Firefox 3 (minefield) and  Opera 10 Alpha and results show that 14 or 50 ARIA roles are exposed on Mac (Firefox exposes 0 and Safari exposes 15).</p>
<p>Update 30 July, 09 &#8211; Alex Jurgensen has very kindly pointed out a <a href="http://wiki.codetalks.org/wiki/index.php/Set_of_ARIA_Test_Cases">set of ARIA test cases</a> on Codetalks that cover VoiceOver. This gives a good overview of where VoiceOver is at however Opera is yet to be added.</p>
<p>It&#8217;s early days for Opera and WAI-ARIA support so this is a section I will return to soon rather than give too much time to now.</p>
<h3>Known quirks and feedback</h3>
<p>You should be able to comfortably navigate most content in web pages if you are familiar with Opera&#8217;s keyboard navigation setup and shortcuts.</p>
<p>There are some areas of the chrome that you can&#8217;t reach however there are keyboard shortcuts to access all the main options and features you should need. I did find also that at times navigating out of HTML content was sticky so I&#8217;d switch to using VO + Shift + Cmd + Up arrow and it would take me up to a toolbar.</p>
<p>We are obviously always looking to improve on what we have so if you have feedback or questions please leave a comment and I&#8217;ll answer as best I can.</p>
<h3>Summary of keyboard shortcuts</h3>
<p>Below is a list of the keyboard commands I&#8217;ve referenced in this article. I&#8217;ll be adding in further comments based on feedback where necessary.</p>
<table border="1" width="651">
<thead>
<tr>
<th width="311">Function and comments</th>
<th width="113">Keyboard command</th>
<th width="205">Comments</th>
</tr>
</thead>
<tbody>
<tr>
<td>Toggle VoiceOver on / off</td>
<td>Cmd + F5</td>
<td></td>
</tr>
<tr>
<td>Interact with the HTML content</td>
<td>VO + Shift + down arrow (↓)</td>
<td></td>
</tr>
<tr>
<td>Interact with the browser chrome</td>
<td>VO + Shift + up arrow (↑)</td>
<td></td>
</tr>
<tr>
<td>Navigate content</td>
<td>Shift+ Up, Down, Left or Right arrow</td>
<td></td>
</tr>
<tr>
<td>Read content</td>
<td>VO + A</td>
<td></td>
</tr>
<tr>
<td>Stop reading content</td>
<td>Ctrl</td>
<td></td>
</tr>
<tr>
<td>Move forwards/backward through form elements</td>
<td>Tab / Shift+Tab</td>
<td></td>
</tr>
<tr>
<td>Select</td>
<td>Space bar</td>
<td></td>
</tr>
<tr>
<td>Activate</td>
<td>Enter</td>
<td></td>
</tr>
<tr>
<td>List items in a page or in the chrome</td>
<td>VO +  I</td>
<td></td>
</tr>
<tr>
<td>Navigate the lists</td>
<td>Arrow keys</td>
<td></td>
</tr>
<tr>
<td>Switch to previous tab on tab bar</td>
<td>1</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Switch to next tab on tab bar</td>
<td>2</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Restore zoom to 100%</td>
<td>6</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Zoom out by 100%</td>
<td>7</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Zoom in by 100%</td>
<td>8</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Zoom out by 10%</td>
<td>9</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Zoom in by 10%</td>
<td>0</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Cycle through links in page</td>
<td>A and Q</td>
<td></td>
</tr>
<tr>
<td>Cycle through headers in page</td>
<td>S and W</td>
<td></td>
</tr>
<tr>
<td>Cycle through elements in page</td>
<td>D and E</td>
<td>Recommended to hit D/E a second time to get VO feedback</td>
</tr>
<tr>
<td>Toggle between author mode and user mode</td>
<td>Shift + G</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Address bar history drop-down</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td>Load and display all images</td>
<td>I</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Toggle loading of images</td>
<td>Shift + I</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Forward</td>
<td>X</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Fast forward</td>
<td>Shift + X</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Back</td>
<td>Z</td>
<td>Navigate to get VO feedback</td>
</tr>
<tr>
<td>Rewind</td>
<td>Shift + Z</td>
<td>Navigate to get VO feedback</td>
</tr>
</tbody>
</table>
<h3>Links and things</h3>
<ul>
<li><a href="http://www.iheni.com/opera-accessibility-where-were-at/">Opera accessibility</a> &#8211; where we&#8217;re at.</li>
<li><a href="http://help.opera.com/helplink?page=keyboard.html&amp;amp;minversion=9.5">Keyboard shortcuts in Opera</a> &#8211; comprehensive overview on how to use Opera via just the keyboard.</li>
<li><a href="http://www.google.co.uk/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fimages.apple.com%2Fsupport%2Ftiger%2Fvoiceover%2FVoiceOver_Commands_Color.pdf&amp;ei=mo9kSv-PEuLOjAeUjOz6Dw&amp;usg=AFQjCNFi6BeJy-Rl5SUb8jD4m-1Iuh-dqg&amp;sig2=ksDmEHS8l4_m7uI35iAPkQ">VoiceOver commands (PDF)</a> &#8211; Apple&#8217;s overview of VoiceOver commands presented as you&#8217;d see the commands on a keyboard.</li>
<li><a href="http://lab.dotjay.co.uk/notes/voiceover-commands/">VoiceOver commands</a> &#8211; brought to you by Jon Gibbons in an accessible data table.</li>
<li><a href="http://alastairc.ac/notes/osx/voiceover/voiceover-basics/">VoiceOver 1: Basics</a> &#8211; from Alastair Campbell.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.iheni.com/using-opera-10-beta-with-voiceover/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Just how accessible is SVG?</title>
		<link>http://www.iheni.com/just-how-accessible-is-svg/</link>
		<comments>http://www.iheni.com/just-how-accessible-is-svg/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 10:50:25 +0000</pubDate>
		<dc:creator>iheni</dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[screenreaders]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://www.iheni.com/?p=902</guid>
		<description><![CDATA[I&#8217;ve been dipping my toes into Scalable Vector Graphics (SVG) lately and wondering how this can be made accessible and usable for all. It seems like a very under used technology which is a pity given it&#8217;s potential to be more readable by assitive technologies such as screen readers, braille displays and screen magnification than [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been dipping my toes into  Scalable Vector Graphics (SVG) lately and wondering how this can be made accessible and usable for all. It seems like a very under used technology which is a pity given it&#8217;s potential to be more readable by assitive technologies such as screen readers, braille displays and screen magnification than other graphicy type solutions.</p>
<p>The <abbr title="World Wide Web Consortium">W3C</abbr> describes <a href="http://www.w3.org/Graphics/SVG/About">SVG</a> is a relatively simple way to generate graphics on a web page using markup:</p>
<blockquote><p>SVG is a platform for two-dimensional graphics. It has two parts: an XML-based file format and a programming API for graphical applications. Key features include shapes, text and embedded raster graphics, with many different painting styles. It supports scripting through languages such as ECMAScript and has comprehensive support for animation.</p></blockquote>
<p>SVG is supported in all modern browsers &#8211; with the exception of Internet Explorer &#8211; including most mobile browsers making it an excellent cross platform bit of bling. Even the lack of support in IE could be addressed soon not by Microsoft itself but by Google who are billed to give a keynote at the SVG Open in October on their <a href="At this keynote you will learn about SVG Web, a new open source JavaScript project that allows Internet Explorer to render both static and dynamic SVG with a simple drop-in library!">SVG for IE drop-in library</a>. This could boost the popularity of SVG given that to date IE has been one of the biggest things holding it back.</p>
<p><strong>Update 22 August 2009:</strong> Announcement about <a href="http://code.google.com/p/svgweb/">Google&#8217;s 60K library to bring SVG, SMIL, video, audio to IE</a>.</p>
<p>The real bonus of SVG however is it&#8217;s scalability, integration with web standards, re-usability and ability to manipulate objects all of which lend SVG to being a robust &#8211; and crucially &#8211; accessible alternative to other image based formats such as GIF, PNG or JPEG.</p>
<p>SVG graphics can be scaled and resized without any of the blurring or pixellation that you see on traditional images. Scaling is important to users with low vision who enlarge text in the browser or rely on assistive technologies such as tactile graphic devices (which typically have a very low resolution) and screen magnifiers.  So if you want to have images of text as headings and not worry about these becoming blurred and unreadable you can. As the image below shows, the enlarged PNG is pixellated whereas the SVG equivalent is smooth and crisp.</p>
<div id="attachment_1405" class="wp-caption alignnone" style="width: 310px"><a href="http://www.w3.org/TR/SVG-access/"><img class="size-medium wp-image-1405" src="http://www.iheni.com/wordpress/wp-content/uploads/2009/07/svgtigers-300x268.png" alt="Comparison of PNG and SVG enlargements taken from Accessibility Features of SVG by Charles McCathieNevile and Marja-Riitta Koivunen" width="300" height="268" /></a><p class="wp-caption-text">Comparison of PNG and SVG enlargements taken from Accessibility Features of SVG by Charles McCathieNevile and Marja-Riitta Koivunen</p></div>
<p>XML, being a text based language, also lends SVG to better accessibility than current headline grabbers such as HTML5 <code>canvas</code> which lacks an accessibility API or hooks for screen readers. While the <abbr title="Web Hypertext Application Technology Working Group">WHAT-WG</abbr> currently recommend a <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#the-canvas-element">fallback</a> &#8211; a draconian circa 1999 HTML alternative that confines screen reader users to a disability ghetto &#8211; they are working on a &#8220;built in&#8221; rather than &#8220;bolt on&#8221; approach asking for input from the accessibility community for <a href="http://lists.w3.org/Archives/Public/public-html/2009Jul/0372.html">viable solutions to make canvas accessible</a>. Bruce Lawson has the lowdown on SVG versus canvas in his post  <a href="http://www.brucelawson.co.uk/2009/canvas-accessibility-and-svg">Canvas, accessibility and SVG</a>.</p>
<h3>SVG and screen readers</h3>
<p>While SVG supports many of the accessibility guidelines that we see in <abbr title="Web Content Accessibility Guidelines">WCAG</abbr> 2.0 and is supported by all modern browsers except IE, there is one drawback: screen readers do not handle SVG well.</p>
<p>It&#8217;s hard to say why. As Bruce Lawson pointed out it may be because &#8220;big screen readers have traditionally sat on top of Internet Explorer&#8221;. I think it may also be because screen reader vendors have an awful lot to keep abreast of out there with regards to browser compatibility, emerging technologies such as ARIA, developments in HTML5 as well as compatibility with software such as MS Office, Open Office, Flash, PDF etc. Google&#8217;s promise of fixing SVG in IE should have some positive knock on effects &#8211; or at least let&#8217;s hope.</p>
<p>Screen readers not being able to handle SVG well is no reason to not make your SVG screen reader ready however. As always you want to be thinking about future proofing so as to avoid any pesky and costly retrofits at a later date.</p>
<h3><strong>Title and descriptions</strong></h3>
<p>The <code>title</code> and <code>desc</code> elements can be added to any graphic to provide a fallback for screen readers. These can be added to parts of the graphic &#8211; hierarchically &#8211; or the graphic as a whole.  Both <code>title</code> and <code>desc</code> can be used together with the former acting as the title of the graphic and the latter as as expanded explanation (from what I&#8217;ve understood anyway). If the image above of the tigers was created in SVG you&#8217;d code it as follows:</p>
<p><code>&lt;?xml version="1.0"?&gt;&lt;!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000802//EN" "http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd"&gt;<br />
&lt;svg width="6in" height="4.5in" viewBox="0 0 600 450"<br />
xmlns="http://www.w3.org/2000/svg"   xmlns:xlink="http://www.w3.org/1999/xlink"&gt;<br />
&lt;title&gt;Tiger's head&lt;/title&gt; &lt;desc&gt;A slinky SVG tiger&lt;/desc&gt;<br />
........<br />
&lt;/svg&gt;</code></p>
<p>According to the spec however the <a href="http://www.w3.org/TR/SVG11/struct.html#DescElement"><code>title</code> element in SVG</a> <em>may</em> behave a little differently to how the  <code>title </code>attribute behaves in HTML:</p>
<blockquote><p>Each container element or graphics element in an SVG drawing can supply a &#8216;desc&#8217; and/or a &#8216;title&#8217; description string where the description is text-only. When the current SVG document fragment is rendered as SVG on visual media, &#8216;desc&#8217; and &#8216;title&#8217; elements are not rendered as part of the graphics. User agents may, however, for example, display the &#8216;title&#8217; element as a tooltip, as the pointing device moves over particular elements. Alternate presentations are possible, both visual and aural, which display the &#8216;desc&#8217; and &#8216;title&#8217; elements but do not display &#8216;path&#8217; elements or other graphics elements. This is readily achieved by using a different (perhaps user) style sheet. For deep hierarchies, and for following &#8216;use&#8217; element references, it is sometimes desirable to allow the user to control how deep they drill down into descriptive text.</p></blockquote>
<p>While desc is not displayed (in accordance to the spec) it is up to the browser to decide how to render the  <code>title</code> element in SVG. In other words it can either be displayed as a &#8216;tooltip&#8217; or not. Using Opera 10 Beta 2  <code>title</code> is shown as a &#8216;tooltip&#8217;, but neither Safari 4.01 Firefox 3 display the &#8216;tooltip&#8217;.</p>
<p>The closet match to the behavior of the <code>title </code>attribute in HTML in SVG is <code><a href="http://www.w3.org/TR/2008/WD-SVGMobile12-20080915/linking.html#XLinkTitleAttribute">xlink:title</a></code>.</p>
<blockquote><p>The title attribute shall be used to describe the meaning of a link or resource in a human-readable fashion, along the same lines as the role or arcrole attribute. A value is optional; if a value is supplied, it shall contain a string that describes the resource. In general it is preferable to use a &#8216;title&#8217; child element rather than a &#8216;title&#8217; attribute. The use of this information is highly dependent on the type of processing being done. It may be used, for example, to make titles available to applications used by visually impaired users, or to create a table of links, or to present help text that appears when a user lets a mouse pointer hover over a starting resource.</p></blockquote>
<p>A link with a title attribute in HTML would look like this:</p>
<p><code>&lt;a href="http://www.mysite.com" title="My super funky site"&gt;visit my site&lt;/a&gt;</code></p>
<p>Where as a link in SVG would look like this:</p>
<p><code>&lt;a xlink:href="</code><code>http://www.mysite.com</code><code>" xlink:title="</code><code>My super funky site</code><code>"&gt;&lt;text x="20" y="20"&gt;</code><code>visit my site</code><code>&lt;/text&gt;&lt;/a&gt;</code></p>
<p>In the above the x and y value are the co-ordinates where the text is placed on the canvas. To ensure this works you have to declare the XLink namespace in the document, most commonly in the SVG root element.</p>
<p>One important thing to note is that the <a href="http://www.w3.org/TR/SVG11/linking.html#AElement">&#8216;a&#8217; element can be wrapped around elements in SVG</a>, a little like <a href="http://html5doctor.com/block-level-links-in-html-5/">block level linking in HTML5</a>. This is a great feature as it allows for a larger clickable area for those that need it and you can wrap as many components in the link &#8211; let&#8217;s say a graphic with accompanying text &#8211; as you like.</p>
<h3>Hierarchy</h3>
<p>Just as you would give an HTML page a hierarchical order the same is true of SVG. This allows a non-sighted user to build a mental map of the graphic and is founded on <a href="http://www.w3.org/TR/WCAG20/#content-structure-separation-sequence">WCAG 1.3.2 Meaningful sequence</a>.</p>
<blockquote><p>When the sequence in which content is presented affects its meaning, a correct reading sequence can be programmatically determined. (Level A)</p></blockquote>
<p>Expanding on the tiger image above and adding in all four images into one would mean the code looked as follows:</p>
<p><code>&lt;?xml version="1.0"?&gt; &lt;!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000802//EN" "http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd"&gt;<br />
&lt;svg width="6in" height="4.5in" viewBox="0 0 600 450"<br />
xmlns="http://www.w3.org/2000/svg"   xmlns:xlink="http://www.w3.org/1999/xlink"&gt;<br />
&lt;title&gt;Tigers&lt;/title&gt; &lt;desc&gt;Drab PNG tigers and slinky SVG tigers&lt;/desc&gt;<br />
&lt;!-- add graphic content here, and so on for the other components--&gt;<br />
&lt;g id="Tigera"&gt; &lt;title&gt;Tiger A&lt;/title&gt; &lt;desc&gt;A small tiger  using PNG&lt;/desc&gt; &lt;/g&gt;<br />
&lt;g id="Tigerb"&gt; &lt;title&gt;Tiger B&lt;/title&gt; &lt;desc&gt;A small tiger using PNG&lt;/desc&gt; &lt;/g&gt;<br />
&lt;g id="Tigerc"&gt; &lt;title&gt;Tiger C&lt;/title&gt; &lt;desc&gt;A large tiger using PNG&lt;/desc&gt; &lt;/g&gt;<br />
&lt;g id="Tigerd"&gt; &lt;title&gt;Tiger D&lt;/title&gt; &lt;desc&gt;A large tiger using SVG&lt;/desc&gt; &lt;/g&gt;<br />
&lt;/svg&gt;</code></p>
<p>You&#8217;ll notice in the above that the <a href="http://www.w3.org/TR/SVG11/struct.html#Groups">&#8216;g&#8217; element</a> is used to structure the document.  This is basically a container element that is used to group related graphics. &#8216;g&#8217; elements can also appear within &#8216;g&#8217; elements.</p>
<blockquote><p>Grouping constructs, when used in conjunction with the &#8216;desc&#8217; and &#8216;title&#8217; elements, provide information about document structure and semantics. Documents that are rich in structure may be rendered graphically, as speech, or as braille, and thus promote accessibility.</p></blockquote>
<h3>Colour</h3>
<p>The basic rule of accessible colour apply to SVG just as they would any other image. In other words don&#8217;t rely on colour alone to convey meaning or use colour that lacks contrast. This falls in line with WCAG 2.0:</p>
<blockquote><p><a href="http://www.w3.org/TR/WCAG20/#visual-audio-contrast">1.4.1 Use of Color:</a> Color is not used as the only visual means of conveying information, indicating an action, prompting a response, or distinguishing a visual element. (Level A)</p></blockquote>
<p>and</p>
<blockquote><p><a href="http://www.w3.org/TR/WCAG20/#visual-audio-contrast">1.4.3 Contrast (Minimum)</a>: The visual presentation of text and images of text has a contrast ratio of at least 4.5:1, except for the following: (Level AA)</p></blockquote>
<h3>Mark up and CSS</h3>
<p>Again familiar rules that apply to HTML and CSS also apply to SVG:</p>
<ul>
<li>Ensure your SVG validates to SVG <a href="http://www.relaxng.org/">RelaxNG grammar</a> however some discussions suggest to do so <a href="http://tech.groups.yahoo.com/group/svg-developers/message/48562">without the doctype</a>.</li>
<li>Separate structure from presentation.</li>
<li>Use text for text and not graphics.</li>
<li>Provide as much structure and alternatives as possible using the <code>g</code>, <code>title</code> and <code>desc</code>.</li>
<li>Style text using fonts not images.</li>
<li>Use &#8216;<a href="http://www.w3.org/TR/SVGMobile12/struct.html#XMLLangAttribute">xml:lang</a>&#8216; to identify the natural language of content and changes in natural language. This ensures that textual content can be spell-checked, or converted to speech.</li>
</ul>
<h3><abbr title="Web Accessibility Initiative Accessible Rich Internet Applications">WAI-ARIA</abbr></h3>
<p>ARIA describes how to add semantics and other metadata to HTML content in order to make user interface controls and dynamic content more accessible. In principle this is also applicable SVG and as such SVG  1.2 recommends ARIA for adding in accessibility hooks for screen readers via the <a href="http://www.w3.org/TR/SVGTiny12/struct.html#RoleAttribute">&#8216;role&#8217; attribute</a>.</p>
<p>The &#8216;role&#8217; attribute assigns one or more role values to an element which in turn can get fed back to a screen reader.  <a href="http://www.w3.org/TR/wai-aria/">ARIA 1.0</a> is currently in Last Call (the stage before it becomes a W3C Recommendation) and is expected to be published soon. While the SVG 1.2 specification recommends using roles, ARIA 1.0 itself is not massively focused on SVG. According to the Protocols and Formats Working Group however SVG will feature more in ARIA 2.0 (along with extensibility, live regions and HTML5 support).  Erik Dahlstrom, co-chair of the SVG Working Group, has provided <a href="http://lists.w3.org/Archives/Public/public-pfwg-comments/2009AprJun/0062.html">feedback around SVG and ARIA</a> including comments on managing focus, accessible name calculation,  navigation and more.</p>
<p>While it is clear there is a lot of work to be done the fact that ARIA roles can be used is a positive step forward as it acts as a bridge where screen reader support falls short.  Jaws, WindowEyes, NVDA, FireVox and Orca are all adding support for ARIA as is IE, FireVox, Opera and Safari (<a href="http://wiki.codetalks.org/wiki/index.php/Main_Page">Codetalks</a> has a list of <a href="http://wiki.codetalks.org/wiki/index.php/Who_Supports_WAI-ARIA">who supports ARIA</a>) so if thinking about adding ARIA to your SVG now is clearly a wise move.</p>
<h3>So just how accessible is SVG?</h3>
<p>Clearly a lot of work needs to be done to get SVG accessibility ready for screen readers. Some hooks are there however the real work is yet to come both from screen reader vendors as well as the specification writers. What&#8217;s reassuring is that both the ARIA and SVG camps recognise this and there is talk of SVG having a bigger focus in ARIA 2.0.</p>
<p>Putting screen readers aside there are clear benefits to SVG for screen magnification users with it being scalable, standards compliant and able to provide block level linking. The standards aspect of this is important as it means that you can use <abbr title="A language for transforming XML documents into other XML documents"><a href="http://www.w3.org/TR/xslt">XSLT</a></abbr> to transform SVG into HTML &#8211; readable by all assistive technology.</p>
<p>Accessible SVG has a potential &#8211; despite it being early days &#8211; as a useful alternative for canvas and other image formats. Who knows, with possible IE support on the horizon and more of a focus in Aria 2.0 perhaps screen reader vendors will step up efforts to support SVG. If they do as have a really robust technology out there to add to the developers toolbox.</p>
<p>For more check out:</p>
<ul>
<li> <a href="http://twitter.com/dstorey">David Storey</a>, <a href="http://twitter.com/shepazu">Doug Schepers</a> and <a href="http://twitter.com/smiffytech">Mathew Smith</a> on Twitter.</li>
<li><a href="http://www.w3.org/TR/SVG-access/">Accessibility features of SVG</a> Charles McCathieNevile and Marja-Riitta Koivunen.</li>
<li><a href="http://www.w3.org/TR/SVGTiny12/">Scalable Vector Graphics (SVG) Tiny 1.2 Specification</a> from the W3C.</li>
<li><a href="http://www.inkscape.org/">Inkscape</a> &#8211; an Open Source vector graphics editor, with capabilities similar to Illustrator, CorelDraw, or Xara X, using the W3C standard Scalable Vector Graphics (SVG) file format.</li>
<li><a href="http://www.w3.org/TR/wai-aria/">Accessible Rich Internet Applications (WAI-ARIA) 1.0</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.iheni.com/just-how-accessible-is-svg/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Setting up a screen reader test environment</title>
		<link>http://www.iheni.com/screen-reader-testing/</link>
		<comments>http://www.iheni.com/screen-reader-testing/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 15:45:57 +0000</pubDate>
		<dc:creator>iheni</dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[screenreaders]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[WAI ARIA]]></category>

		<guid isPermaLink="false">http://www.iheni.com/?p=855</guid>
		<description><![CDATA[Back in the day when web pages were web pages and not web applications you could just about get away with not testing with a screen reader. Using a combination of text based browsers, accessibility testing tools such as the Web Accessibility Tools consortium Accessibility Toolbar and and browser tools such as Preferences settings in [...]]]></description>
			<content:encoded><![CDATA[<p>Back in the day when web pages were web pages and not web applications you could just about get away with not testing with a screen reader. Using a combination of text based browsers, accessibility testing tools such as the Web Accessibility Tools consortium Accessibility Toolbar and and browser tools such as Preferences settings in Opera (see <kbd>Opera &gt; Quick preferences</kbd><kbd> or </kbd><kbd>Preferences</kbd>), you could more or less muddle your way through.</p>
<p>This is not the case now though as browsers, screen readers, guidelines and technology has moved on and in many ways is catching up with one another. What follows are some tips to get you started when setting up a screen reader testing environment.</p>
<h3>Why test with screen readers</h3>
<ul>
<li><strong><abbr title="Web Content Accessibility Guidelines">WCAG</abbr> 2.0 and JavaScript: </strong> Where WCAG 1.0 had a blanket ban on JavaScript <a href="http://www.w3.org/TR/WCAG20/">WCAG 2.0</a> now allows it providing it&#8217;s accessible to assistive technologies, or in WCAG 2.0 talk <a href="http://my.opera.com/ODIN/blog/2008/12/17/accessibility-supported-web-content-technologies-in-wcag-2-0">accessibility supported</a>.</li>
<li><strong><abbr title="Web Accessibility Initiative Accessible Rich Internet Applications">WAI-ARIA</abbr></strong>: Screen readers can in fact handle most uses of JavaScript. It&#8217;s when they encounter areas of a page that update without full page refreshes or encounter functionality that is mouse orientated such as sliders, drag and drop or collapsible menus that they start to stumble. <a href="http://www.w3.org/WAI/intro/aria">WAI-ARIA</a> is a solution to help fix that by hooking into HTML to making it speak to screen readers. Gez Lemon&#8217;s <a href="http://dev.opera.com/articles/view/introduction-to-wai-aria/">Introduction to WAI ARIA</a>, also available in <a href="http://www.areia.info/introduccion-a-wai-aria/">Spanish</a>, <a href="http://www.lesintegristes.net/2008/12/09/introduction-a-wai-aria-traduction/">French</a> and <a href="http://www.hessendscher.de/wai-aria/">German</a>, gives a good overview of what ARIA is.</li>
<li><strong>Browser support for WAI-ARIA</strong>: Varying levels of support can be found in Opera 9.5, Firefox, Safari and IE8.</li>
<li><strong>Screen reader support for WAI-ARIA</strong>: Screen readers are also catching up with varying levels of support in Jaws, WindowEyes, NVDA and Orca.</li>
<li><strong>JavaScript library support for WAI-ARIA: </strong>The following libraries all have varying levels of support: Dojo from IBM,  <abbr title="Yahoo Interface Library">YUI!</abbr> and JQuery.</li>
</ul>
<h3>Set up a sandbox</h3>
<p>Whether on Mac or PC you want to set up a screen reader testing sandbox. This means you can isolate glitches with installs as well as crashes and reboots. If you&#8217;re on a Mac there is more need for a sandbox as screen readers tend to be built for Windows. There&#8217;s plenty of virtualization software out there to help you do this including <a href="http://www.parallels.com/">Parallels</a>, <a href="http://www.vmware.com/">VMWare</a>, <a href="http://www.microsoft.com/Windows/products/winfamily/virtualpc/default.mspx">Virtual PC</a> and so on.</p>
<h3>Test with a variety of screen readers</h3>
<p>Next you need to find screen readers that support WAI-ARIA. It&#8217;s not practical to buy every screen reader on the market although it is advisable to get what you can. If budgets are low there are plenty of free options available to you:</p>
<ul>
<li><a href="http://www.freedomscientific.com/downloads/JAWS/JAWS-downloads.asp"><strong>Jaws</strong></a><strong> from Freedom Scientific:</strong> designed for Windows the free demo allows for you to test for 40 minutes at a time before rebooting.</li>
<li><a href="http://www.gwmicro.com/Window-Eyes/Demo/"><strong>WindowEyes</strong></a><strong>, GW Micro:</strong> a fully functional demo is available for Windows but times out after 30 minutes.</li>
<li><strong><a href="http://www.nvda-project.org/">NVDA</a>, NV Access:</strong> again just for Windows and only works with Firefox however it is  available in full for free.</li>
<li><a href="http://firevox.clcworld.net/"><strong>Firevox</strong></a><strong>: </strong>available in full for free on Windows and Mac but only works with Firevox.</li>
<li><a href="http://live.gnome.org/Orca"><strong>Orca</strong></a>: available on Linux, free and open source.</li>
<li><a href="http://www.standards-schmandards.com/projects/fangs/">Fangs</a>: this screen reader emulator  is a Mozilla Firefox extension that displays a text representation of a web page similar to how a screen reader would read it.</li>
<li><a href="http://www.screenreader.net/">Thunder</a>: available for Vista or XP.</li>
</ul>
<h3>Configuring screen readers</h3>
<p>Screen readers are designed for the non-sighted user so you may want to set preferences to disable or change what you don&#8217;t find useful. For example I always switch off automatic page scroll in Jaws as I don&#8217;t want the page to scroll in line with the content being read out. You may also want to disable features that have the screen reader start up automatically as you boot your system up.</p>
<p>You may also find it useful to configure your screen reader keyboard shortcuts so that they are all the same in each one. That way you don&#8217;t have to remember one thing for Jaws and another for NVDA.This can be especially useful with regards to shortcuts for switching the <a href="http://juicystudio.com/article/making-ajax-work-with-screen-readers.php">virtual buffer</a> on and off.</p>
<p>One final tip is to take a snapshot of everything once it is installed, this means you have it at hand to revert back to should anything go wrong. This can be done at various different stages throughout the set up on the sanbox.</p>
<h3>Install  browsers</h3>
<p>Ensure that you have all the browsers that support ARIA installed on your machine (see above).You really should be testing across browsers just as you would in any development process.Note that while Opera is building in WAI-ARIA support that it works best with a screen reader on Mac with Windows to follow.</p>
<h3>Testing advice</h3>
<ul>
<li><strong>Get comfortable with a screen reader first</strong>: finding your way round using a screen reader can be a tricky process. I&#8217;d recommend never diving in and testing unless you&#8217;ve spent some time just browsing the web in general and getting familiar with the environment. One really good trick is to spend an afternoon, day or a week browsing the web with just a screen reader with the monitor and mouse switched off. This is the ultimate crash course and once you&#8217;ve done it you&#8217;ll have a much better understanding of the types of challenges people face when browsing.</li>
<li><strong>Use real users</strong>: ultimately real users will reveal much more than just you testing or even just one genuine screen reader user testing. Use any screen reader users in-house you may have but also make sure you test with regular users. Often screen reader users within a development team are power users so mixing it up a bit with regular users is important. Never assume you know what the best solution is.</li>
<li><strong>Switch off the monitor:</strong> so often it&#8217;s not the technical accessibility that is a problem but how easy it is to follow and discover information. Simply put is what the user hears making sense? Have you described roles, states, properties and live regions appropriately? Do you need to teak the text on the page to make it clearer what the page is doing?</li>
<li><strong>Disable your mouse:</strong> check that all widgets and functionality can be accessed and triggered using only the keyboard just as you would if accessing desktop widgets. Check that you can use either shift or arrow keys to get focus onto elements and manipulate them. For example tab onto a slider then use the arrow keys to move the slider back and forth.</li>
<li><strong>ARIA test cases: </strong>Before you start testing make sure you know what support there is for the ARIA being tested. The best plac to look for this is the<a href="http://wiki.codetalks.org/wiki/index.php/Set_of_ARIA_Test_Cases"> ARIA test cases</a> page on Codetalks.</li>
</ul>
<h3>References and resources</h3>
<li> <a href="Introduction to Screen Readers">Developing accessible widgets</a>, video from Todd Kloots. An excellent summary covering much of what is above as well as the specifics of ARIA implementations.</li>
<li><a href="http://dev.opera.com/articles/view/introduction-to-wai-aria/">Introduction to WAI ARIA</a>, also available in <a href="http://www.areia.info/introduccion-a-wai-aria/">Spanish</a>, <a href="http://www.lesintegristes.net/2008/12/09/introduction-a-wai-aria-traduction/">French</a> and <a href="http://www.hessendscher.de/wai-aria/">German</a></li>
<li><a href="http://www.webaim.org/techniques/aria/">Accessibility of Rich Internet Applications</a>, WebAim. A good overview of ARIA and what it is.</li>
<li><a href="http://www.webaim.org/techniques/screenreader/">Designing for screen reader computability</a>, WebAim.</li>
<li><a href="http://webaim.org/projects/screenreadersurvey/">Survey of preferences of screen reader users</a>, WebAim. Touches upon ARIA but is a good overview of what versions of screen readers and what browsers people use and preferences when browsing.</li>
<li><a href="http://wiki.codetalks.org/wiki/index.php/Main_Page">Codetalks</a> community, wiki and information on ARIA.</li>
<li><a href="http://groups.google.com/group/free-aria">Free ARIA</a> excellent mailing list that covers all things ARIA contributed to by some of the best people in the business.</li>
]]></content:encoded>
			<wfw:commentRss>http://www.iheni.com/screen-reader-testing/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
