<?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>Symphonious &#187; Accessibility</title> <atom:link href="http://www.symphonious.net/category/code-and-geek-stuff/accessibility/feed/" rel="self" type="application/rss+xml" /><link>http://www.symphonious.net</link> <description>Living in a state of accord.</description> <lastBuildDate>Wed, 25 Jan 2012 21:25:34 +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>What&#8217;s the Point of Browser Colour Settings?</title><link>http://www.symphonious.net/2010/12/20/whats-the-point-of-browser-colour-settings/</link> <comments>http://www.symphonious.net/2010/12/20/whats-the-point-of-browser-colour-settings/#comments</comments> <pubDate>Mon, 20 Dec 2010 11:44:30 +0000</pubDate> <dc:creator>Adrian Sutton</dc:creator> <category><![CDATA[Accessibility]]></category> <category><![CDATA[Code and Geek Stuff]]></category> <guid
isPermaLink="false">http://www.symphonious.net/?p=1496</guid> <description><![CDATA[Many browsers include user preferences to select preferred colours for text, backgrounds and links. This is intended as an accessibility feature so that people with limited vision, dyslexia or other disabilities can choose a colour scheme that makes it easier for them to read web pages. In theory it’s a great idea. In practice however [...]]]></description> <content:encoded><![CDATA[<p> Many browsers include user preferences to select preferred colours for text, backgrounds and links. This is intended as an accessibility feature so that people with limited vision, dyslexia or other disabilities can choose a colour scheme that makes it easier for them to read web pages. In theory it’s a great idea. In practice however it seems to be nearly useless.</p><p> There are two “modes” these colour preferences can be used in:</p><ol><li> As preferences that web sites can override.</li><li> As forced settings, where website specified colours and background images are completely ignored.</li></ol><h2> Preference Mode</h2><p> In the first case, there are a vast number of sites which become unusable because they specify a specific background colour without also specifying a foreground colour. So if you happen to set your preferences to have light coloured text on a black background, then try to log into Google you get:</p><p> <img
alt="Screenshot: Google login with light blue text on a light blue background." height="205" width="289" src="http://www.symphonious.net/wp-content/uploads/2010/12/Screenshot2010-12-20at10.14.38_7085508824482788683.png" /></p><p> Choosing white text on a black background would make half the text on the internet disappear.</p><p> Clearly this is poorly coded websites causing accessibility programs and they should get with the program and specify foreground and background colours in pairs. Which of course makes that dialog box look like:</p><p> <img
alt="Screenshot: Google login with black text on light blue background." height="209" width="290" src="http://www.symphonious.net/wp-content/uploads/2010/12/Screenshot2010-12-20at10.17.25_3272472547583060649.png" /></p><p> Much better. Except now there is no sign that I ever changed my browser preferences rendering them completely useless. So now designers have a choice between respecting browser preferences or largely designing a black and white site.</p><p> The net result is that changing your browser colour preferences will have no effect on well coded sites and break a large number of sites. So why bother?</p><h2> Forced Mode</h2><p> So we’re left with forcing our preferred colours on web sites. This actually gives us high contrast and is most likely very useful for people with limited visibility. However, for people with dyslexia who wanted more readable colours<a
class="footnote" id="footlink1:1292840774264" href="#footnote1:1292840774264">1</a> rather than just high contrast now tend to struggle because so much visual context is lost from the page. Sure, on a well coded site all the information is there, but different background colours is a really useful indicator for the various sections. That extra context and readability is now lost. That’s a disaster for someone with good vision who was trying to make the page more readable.</p><p> Compare the very well coded BBC website with preferred colours vs with forced colours.</p><p> <figure><img
alt="Background colours on the BBC website make the sections on the page easier to distinguish." height="584" width="986" src="http://www.symphonious.net/wp-content/uploads/2010/12/Screenshot2010-12-20at10.27.52_4614989502413934317.png" /> <figcaption>BBC website with preferred colours. Note the colour preferences make no difference.</figcaption> </figure></p><p> <figure> <img
alt="Without the background colours sections are much harder to distinguish" height="577" width="984" src="http://www.symphonious.net/wp-content/uploads/2010/12/Screenshot2010-12-20at10.27.32_7374171245263605621.png" /> <figcaption>BBC website with forced colours. Preferred colours are now visible but decerning the boundaries of sections is much harder due to the lack of differentiating colours.</figcaption> </figure></p><p> It’s important to note that the BBC website is actually quite well coded &#8211; all the information is still available when you force the preferred colours, the designers simply have a significantly reduced ability to provide context and delineation, so inevitably the page becomes harder to read.</p><h2> What to do About it?</h2><p> Frankly, I have very little idea. The never properly implemented and now deprecated CSS system colours would have helped a lot in some cases. Design heavy websites would have still wanted their own colour set but web applications could have at least used them. Perhaps some way to specify a colour along with a fallback system colour could have worked. Then in the forced colour mode, the system colours would be used.</p><p> Beyond that it would be really nice if browsers were smarter about the options they provide.  Instead of just a default colour setting, have a minimum contrast setting &#8211; the browser automatically increases the contrast between background and foreground colours to a specified point. Then you could combine that with a preference that text is always blue &#8211; if the website specifies black text on a white background it comes out blue text on a white background. If it’s white on black then it comes out as blue on suitably contrasting gray.</p><p> I don’t doubt that there are huge challenges here and I certainly can’t suggest the answers, but it seems like it’s about time we started putting pressure on user agents to do more to support accessibility rather than expecting website designers to do the impossible and create great designs that work with such limited accessibility tools.</p><p
class="footnote"> <a
href="#footlink1:1292840774264" id="footnote1:1292840774264">1</a> &#8211; blue on white is actually much more readable than black on white <a
class="footnotereturn" href="#footlink1:1292840774264">↩</a></p>]]></content:encoded> <wfw:commentRss>http://www.symphonious.net/2010/12/20/whats-the-point-of-browser-colour-settings/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>aria-labelledby vs aria-label</title><link>http://www.symphonious.net/2010/12/07/aria-labelledby-vs-aria-label/</link> <comments>http://www.symphonious.net/2010/12/07/aria-labelledby-vs-aria-label/#comments</comments> <pubDate>Tue, 07 Dec 2010 17:59:28 +0000</pubDate> <dc:creator>Adrian Sutton</dc:creator> <category><![CDATA[Accessibility]]></category> <category><![CDATA[Code and Geek Stuff]]></category> <guid
isPermaLink="false">http://www.symphonious.net/?p=1490</guid> <description><![CDATA[In ARIA, there are two ways that you can attach a label to an element, aria-label and aria-labelledby. In theory, you should use aria-labelledby if the text is visually on-screen somewhere and this form is preferable. You should only use aria-label when it’s not possible to have the label visible on screen. This makes a [...]]]></description> <content:encoded><![CDATA[<p> In ARIA, there are two ways that you can attach a label to an element, <a
href="http://www.w3.org/TR/wai-aria/states_and_properties#aria-label">aria-label</a> and <a
href="http://www.w3.org/TR/wai-aria/states_and_properties#aria-labelledby">aria-labelledby</a>. In theory, you should use aria-labelledby if the text is visually on-screen somewhere and this form is preferable. You should only use aria-label when it’s not possible to have the label visible on screen. This makes a lot of sense because generally sighted users like to be able to see the label as well and it prevents the visual and non-visual cues from getting out of sync.</p><p> However, with current support, you should <em>always </em>use aria-labelledby, even if you need the label to be hidden. While at least JAWS 12 and VoiceOver both read the aria-label as expected, it turns out that VoiceOver doesn’t correctly read the hierarchy if aria-label is in use. For example:</p><pre>
&#60;p id=&quot;group1&quot;&#62;Outer group&#60;/p&#62;
&#60;p id=&quot;item1&quot;&#62;First item&#60;/p&#62;
&#60;div role=&quot;group&quot; aria-labelledby=&quot;group1&quot;&#62;
&#60;a href=&quot;javascript:&quot; role=&quot;button&quot; aria-labelledby=&quot;item1&quot;&#62;Item Content&#60;/a&#62;
&#60;/div&#62;
</pre><p> everything here is using aria-labelledby and VoiceOver will read the button as “First item Outer group button”. In other words, the button label, the group label and then the type of object.</p><p> However, if you change any of the elements to use aria-label, for example:</p><pre>
&#60;p id=&quot;item1&quot;&#62;First item&#60;/p&#62;
&#60;div role=&quot;group&quot; aria-label=&quot;Outer group&quot;&#62;
&#60;a href=&quot;javascript:&quot; role=&quot;button&quot; aria-labelledby=&quot;item1&quot;&#62;Item Content&#60;/a&#62;
&#60;/div&#62;
</pre><p> VoiceOver will now read the button as simple “First item button”. It doesn’t seem to matter which item uses aria-label, if it’s anywhere in the hierarchy, only the label for the button itself will be read out.</p><div
class="update"><h2> Update</h2><p> With JAWS on IE8 (and probably earlier versions) if you use aria-label instead of labelledby, it will read the text content of the item followed by the label (with no hierarchy), though intermittently it seems to omit the content. This creates a particularly bad experience if you’re labelled something like a DIV which has a lot of text content.</p></div><p></p>]]></content:encoded> <wfw:commentRss>http://www.symphonious.net/2010/12/07/aria-labelledby-vs-aria-label/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Re: Tricks for ARIA on the iPad/iOS</title><link>http://www.symphonious.net/2010/12/02/re-tricks-for-aria-on-the-ipad-ios/</link> <comments>http://www.symphonious.net/2010/12/02/re-tricks-for-aria-on-the-ipad-ios/#comments</comments> <pubDate>Thu, 02 Dec 2010 09:43:12 +0000</pubDate> <dc:creator>Adrian Sutton</dc:creator> <category><![CDATA[Accessibility]]></category> <guid
isPermaLink="false">http://www.symphonious.net/?p=1485</guid> <description><![CDATA[Brad Neuberg has a post up about ARIA on the iPad and some of the tricks he’s used to bend it to his will. Blogger won’t accept my OpenID to comment on the post for some reason so I’ll add some thoughts here. tabindex As Brad notes, you can set tabindex=”-1” to prevent an item [...]]]></description> <content:encoded><![CDATA[<p> <a
href="http://blog.codinginparadise.org/2010/12/tricks-for-aria-on-ipadios.html">Brad Neuberg has a post up about ARIA on the iPad</a> and some of the tricks he’s used to bend it to his will. Blogger won’t accept my OpenID to comment on the post for some reason so I’ll add some thoughts here.</p><h2> tabindex</h2><p> As Brad notes, you can set tabindex=”-1” to prevent an item in HTML from appearing in the tab order. Also as Brad notes, this won’t stop the VoiceOver cursor from moving to that element. It’s important to remember that the VoiceOver cursor is not linked to the keyboard focus, it’s linked to what is being read out to the user. This can be very confusing but it’s an important concept, allowing you to review parts of a document without losing the current caret position where you want to continue editing. Most screen readers seem to have this distinction between the text input focus and the screen reader cursor.</p><p> tabindex=”-1” also won’t prevent the user from moving keyboard focus to an element by means other than the tab key. For example, clicking on a textarea will move the keyboard focus to it even if it has a tabindex of -1.</p><h2> aria-hidden</h2><p> As a work-around to try and prevent VoiceOver from focusing an element, Brad then added aria-hidden=”true”. To his credit, Brad notes this isn’t a good situation and indeed it’s not. Now we have an element which is available to sighted users, but completely hidden to the screen reader. This is almost never what you want.</p><p> If something shouldn’t be a landmark, it probably shouldn’t be a heading element and if it shouldn’t be read by a screen reader it should generally be either not there at all or <em>both</em> aria-hidden=”true” <em>and</em> display:none; That way the element disappears for everyone, not just those using a screen reader.</p><p> I’m not quite sure what Brad was trying to achieve so I can’t really suggest the right workaround for his use case but it sounds like there may be a need to go back and get the basic semantics of the HTML right.</p><h2> aria-labelledby</h2><p> I’m not entirely sure what Brad’s aiming for here again but it’s a bit unusual to try and add extra audible information to a heading which isn’t available to sighted users. Normally labelledby would be used for form elements to link them with the text that describes what they’re for. My first thought here is to adjust the HTML to make it more semantic rather than trying to fix it up with ARIA. For the example HTML:</p><pre>
&#60;div aria-labelledby=&quot;testH1 testH2 testDIV1&quot;&#62;
&#60;h1 id=&quot;testH1&quot; tabindex=&quot;-1&quot;&#62;
This is an H1
&#60;/h1&#62;
&#60;h2 id=&quot;testH2&quot; tabindex=&quot;-1&quot;&#62;
This is an H2
&#60;/h2&#62;
&#60;div id=&quot;testDIV1&quot; tabindex=&quot;-1&quot;&#62;
This is a div
&#60;/div&#62;
&#60;/div&#62;
</pre><p> I would say the right thing is to not have any ARIA attributes (or tabindex) at all.  h1,h2 and div all default to the equivalent of tabindex=”-1” anyway and if a sighted user would see this as two separate headings and a normal paragraph, a screen ready probably should too. If it’s intended to be read as a single sentence then as a signted user, I’d appreciate it being laid out that way.</p><h2> aria-label</h2><p> As a side note, aria-lablledby is only one option for adding information and it’s useful if the extra information you need to present is already available in a textual form somewhere on the page. However, if the content isn’t available (for example because it’s using an icon instead of text) you can use aria-label=”The label you want” to directly specify the label text rather than referring to some other HTML element.</p><h2> More Info?</h2><p> It would be great to get some better background information on what’s being attempted here so that better solutions could be proposed.  Right now it looks a bit like trying to use ARIA to hammer a square peg into a round hole which not surprisingly isn’t a lot of fun and doesn’t work very well.</p><p> The bottom line is that ARIA isn’t the answer to accessibility, it’s just a smattering of extra information to help out in complex cases where HTML and JavaScript are being used to create custom widgets. The first and most important tool for creating accessible web pages is still to use appropriate semantic HTML &#8211; especially for the “document” parts of a page as opposed to interactive widgets. If that foundation isn’t set, ARIA won’t save you.</p>]]></content:encoded> <wfw:commentRss>http://www.symphonious.net/2010/12/02/re-tricks-for-aria-on-the-ipad-ios/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>New US Accessibility Laws</title><link>http://www.symphonious.net/2010/09/30/new-us-accessibility-laws/</link> <comments>http://www.symphonious.net/2010/09/30/new-us-accessibility-laws/#comments</comments> <pubDate>Thu, 30 Sep 2010 08:30:24 +0000</pubDate> <dc:creator>Adrian Sutton</dc:creator> <category><![CDATA[Accessibility]]></category> <guid
isPermaLink="false">http://www.symphonious.net/?p=1446</guid> <description><![CDATA[The Wall Street Journal has an article on a new bill just passed by US Congress that updates accessibility requirements. The legislation, called the 21st Century Communications and Video Accessibility Act, covers things like captions on Internet video, Internet phone services that work with hearing aids, television menus that can be seen by people with [...]]]></description> <content:encoded><![CDATA[<p> The <a
href="http://blogs.wsj.com/digits/2010/09/29/new-rules-to-make-technology-more-accessible-for-blind-deaf/">Wall Street Journal has an article on a new bill just passed by US Congress that updates accessibility requirements</a>.</p><blockquote> The <a
href="http://thomas.loc.gov/cgi-bin/cpquery/R?cp111:FLD010:@1(hr563)">legislation</a>, called the 21st Century Communications and Video Accessibility Act, covers things like captions on Internet video, Internet phone services that work with hearing aids, television menus that can be seen by people with vision loss and even touch screens that the blind can use. The bill, which passed by voice vote and will now go to President Obama for approval, updates existing regulations to bring them in line with the Internet age.</blockquote><p> I haven’t taken the time to decipher the details from the actual legislation text as yet, so it’s hard to say exactly what implications this will have. It is at least good to see improvements to US laws &#8211; to date it has really been civil threats, such as the suit against Target, which have been the main legal avenue to ensure accessibility. This is generally under the American&#39;s with Disabilities Act which was written in terms of physical accessibility for public places, but has been deemed to also apply to the web. As I understand it, this new legislation will provide some more teeth on the criminal<a
class="footnote" id="footlink1:1285835355912" href="#footnote1:1285835355912">1</a> side.</p><p
class="footnote"> <a
href="#footlink1:1285835355912" id="footnote1:1285835355912">1</a> &#8211; as in, Government-led as opposed to civil. I’m not sure I’m using the term right. <a
class="footnotereturn" href="#footlink1:1285835355912">↩</a></p>]]></content:encoded> <wfw:commentRss>http://www.symphonious.net/2010/09/30/new-us-accessibility-laws/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Canvas-based Editors</title><link>http://www.symphonious.net/2010/09/29/canvas-based-editors/</link> <comments>http://www.symphonious.net/2010/09/29/canvas-based-editors/#comments</comments> <pubDate>Wed, 29 Sep 2010 09:05:46 +0000</pubDate> <dc:creator>Adrian Sutton</dc:creator> <category><![CDATA[Accessibility]]></category> <category><![CDATA[Code and Geek Stuff]]></category> <category><![CDATA[Editors]]></category> <category><![CDATA[JavaScript]]></category> <guid
isPermaLink="false">http://www.symphonious.net/?p=1442</guid> <description><![CDATA[Over the weekend I went to JSConf EU and every time I met someone and told them I was working on TinyMCE the conversation rapidly veered off into why contentEditable is too hard/buggy to work with and how it would be so much better if it was all built on top of canvas or just [...]]]></description> <content:encoded><![CDATA[<p> Over the weekend I went to JSConf EU and every time I met someone and told them I was working on TinyMCE the conversation rapidly veered off into why contentEditable is too hard/buggy to work with and how it would be so much better if it was all built on top of canvas or just used the DOM with a custom selection API. This matched the thinking throughout the conference that it doesn’t really matter how messed up browsers are because JavaScript can be used to work around it.</p><p> What disturbs me is that incredibly few people realise just how much work is involved in implementing caret and selection handling correctly, let alone most of the other infrastructure provided by contentEditable. I wound up talking to <a
href="http://twitter.com/novemberborn">Mark Wubben</a> who actually does have a pretty good idea &#8211; he implemented a DOM based selection system for the <a
href="http://xopus.com/">Xopus editor</a>. Needless to say he had quite the war story to tell, but despite doing what sounded like a very impressive bit of work, the selection code is still very broken in a couple of key ways: accessibility and international inputs<a
class="footnote" id="footlink1:1285748951881" href="#footnote1:1285748951881">1</a>.</p><h3> Accessibility</h3><p> Accessibility support was my first response to anyone suggesting using canvas as an editor &#8211; no-one had considered it. If you play around with a screen reader for a while, you start to realise just how important the selection is to accessibility. Selecting text generally causes it to be read out for example. It’s not just screen readers either, screen magnifiers will move the screen along to keep up with the caret, ensuring the user can see what they’re typing. If the caret is fake, none of these features will work and the editor becomes inaccessible.</p><h3> International Inputs</h3><p> Even I’d forgotten about this one, but it’s likely an even bigger problem to solve than accessibility. The array of input devices, keyboard shortcuts and other ways that people input characters is pretty amazing when you start exploring it. People in English speaking countries don’t tend to notice this because they have quite a small number of characters in use which all fit on the keyboard. Even Western European countries have the vast majority of characters required available with a direct key sequence. However there are far more complex types of inputs around. The simplest of these is the use of “dead keys” such as acute on a US or British keyboard. To type é actually takes multiple keystrokes on a UK Mac keyboard:</p><ol><li> Option-e. This is a dead-key so only a placeholder appears in the output (<img
alt="Placeholder for acute shown with a yellow background." src="http://www.symphonious.net/wp-content/uploads/2010/09/acutePlaceholder.png" />).</li><li> e. Now the e-acute character actually appears and is inserted into the document content.</li></ol><p> Not to pick on Xopus but at least in Firefox on Mac, I can’t type é at all in the editor because it doesn’t correctly support dead-keys<a
class="footnote" id="footlink2:1285750195458" href="#footnote2:1285750195458">2</a>.</p><p> Asian languages can have even more keystrokes required to type a character and much more complex input methods that to be usable, require changes to the caret, underlining content etc. Plus the methods and UI is different on different OS’s. While users can handle some variation, they shouldn’t have to learn a whole new input method to be able to use your application<a
class="footnote" id="footlink3:1285750501513" href="#footnote3:1285750501513">3</a>.</p><h3> The Way Forward</h3><p> Instead of trying to work around the limitations in contentEditable we need to be pushing browser vendors to fix it and make it usable.  Where the current APIs aren’t good enough, standardise better ones &#8211; we’re dealing with multiple incompatible APIs already so the backwards compatibility problems are limited. This needs to be a focus so that we don’t wind up in a world where online editors only work for fully-abled, English speaking users. Most if not all of what’s required is already there, it just needs some love and care to remove the bugs and better handle corner-cases.</p><p
class="footnote"> <a
href="#footlink1:1285748951881" id="footnote1:1285748951881">1</a> &#8211; There is some <a
href="http://lists.w3.org/Archives/Public/public-canvas-api/2010JulSep/0040.html">good discussion of the complexities involved here from the W3C canvas list</a> as they struggle with the accessibility implications of canvas.<a
class="footnotereturn" href="#footlink1:1285748951881">↩</a></p><p
class="footnote"> <a
href="#footlink2:1285750195458" id="footnote2:1285750195458">2</a> &#8211; and to be completely fair, EditLive! fails to paint the placeholder, though the character does type correctly. <a
class="footnotereturn" href="#footlink2:1285750195458">↩</a></p><p
class="footnote"> <a
href="#footlink3:1285750501513" id="footnote3:1285750501513">3</a> &#8211; So no, <a
href="http://code.google.com/apis/ajaxlanguage/documentation/referenceKeyboard.html">Google Virtual Keyboard</a> is not a real solution, however good an idea it is for people using things like internet kiosks with foreign keyboard layouts. Besides, would you like to be stuck typing only with your mouse? <a
class="footnotereturn" href="#footlink3:1285750501513">↩</a></p>]]></content:encoded> <wfw:commentRss>http://www.symphonious.net/2010/09/29/canvas-based-editors/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>The Cost of Accessibility</title><link>http://www.symphonious.net/2010/09/22/the-cost-of-accessibility/</link> <comments>http://www.symphonious.net/2010/09/22/the-cost-of-accessibility/#comments</comments> <pubDate>Wed, 22 Sep 2010 08:03:09 +0000</pubDate> <dc:creator>Adrian Sutton</dc:creator> <category><![CDATA[Accessibility]]></category> <guid
isPermaLink="false">http://www.symphonious.net/?p=1440</guid> <description><![CDATA[Austin Seraphin’s posts on his experiences using the Voice Over technology in iPhone and Mac OS has been mentioned fairly widely and they are definitely worth reading. Many people understand that blind users, and people with other forms of disabilities, are dependent on screen readers to interact with computers, but what is likely to come [...]]]></description> <content:encoded><![CDATA[<p> Austin Seraphin’s posts on his experiences using the Voice Over technology in <a
href="http://behindthecurtain.us/2010/06/12/my-first-week-with-the-iphone/">iPhone</a> and <a
href="http://behindthecurtain.us/2010/09/11/rejoining-the-apple-family/">Mac OS</a> has been mentioned fairly widely and they are definitely worth reading. Many people understand that blind users, and people with other forms of disabilities, are dependent on screen readers to interact with computers, but what is likely to come as a shock is just how expensive high quality screen readers can be:</p><blockquote> I joyfully look forward to the day when blind people finally catch on and realize that for $700, <em>HALF</em> the cost of JAWS for Windows, the most popular software used or rather pushed on the blind, they can get a fully functional computer that delivers a superior experience and comes with a superior screen reader with superior speech.</blockquote><p> JAWS standard edition turns out to be $895 on <a
href="http://sales.freedomscientific.com/category.aspx?categoryID=11">the online store</a>, professional $1095 but that still doubles the cost of a computer for users who need a screen reader. There are open source screen readers and my understanding is that some of them are quite good, but the defacto-standard is very much JAWS. Most accessibility testing that is done is with JAWS and so it’s an up-hill battle to use anything else.</p><p> If you keep that cost in mind, you can understand why old versions of screen reader software are so common. It also brings a new understanding to the <a
href="http://blogs.msdn.com/b/ie/archive/2010/09/20/user-experiences-accessibility-in-ie9-beta.aspx">blog post from the IE9 team indicating that screen readers would need to be updated to work with it</a>:</p><blockquote> IE9 fundamentally changes <a
href="http://blogs.msdn.com/b/ie/archive/2010/09/15/user-experiences-site-centric-browsing-on-windows.aspx">how users interact with the browser</a> and <a
href="http://blogs.msdn.com/b/ie/archive/2010/09/10/the-architecture-of-full-hardware-acceleration-of-all-web-page-content.aspx">how the browser takes advantage of the entire PC</a>. Those changes also impact how assistive technology interacts with IE, which necessitates updates from some assistive technology. For example, the new notification model is not read by many screen readers, and screen readers can no longer depend on the GDI display subsystem since IE9 uses Windows Direct2D and DirectWrite as part of enabling hardware-accelerated HTML5.</blockquote><p> The move to Direct2D and DirectWrite may well make sense, though it’s disappointing that screen readers felt the need to depend on a display sub-system instead of proper accessibility APIs for some reason.  However, I find it quite appalling that the new notification model is inaccessible. Surely there is, or should be, a standard set of Windows APIs that can provide this kind of notification in a way that is also accessible to screen readers.</p><p> It seems to me that having the full screen reader API built in to the OS and maintained, as a priority, by the OS team is a pretty revolutionary step forward in terms of both reducing the cost of accessibility and improving it’s quality. It sounds like we still have an awfully long way to go though.</p>]]></content:encoded> <wfw:commentRss>http://www.symphonious.net/2010/09/22/the-cost-of-accessibility/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Should You Publish Crap Code?</title><link>http://www.symphonious.net/2009/04/27/should-you-publish-crap-code/</link> <comments>http://www.symphonious.net/2009/04/27/should-you-publish-crap-code/#comments</comments> <pubDate>Mon, 27 Apr 2009 09:07:11 +0000</pubDate> <dc:creator>Adrian Sutton</dc:creator> <category><![CDATA[Accessibility]]></category> <category><![CDATA[Code and Geek Stuff]]></category> <guid
isPermaLink="false">http://www.symphonious.net/?p=1147</guid> <description><![CDATA[I spent the weekend discovering just how poorly thought out and poorly supported closed captioning is in online video. Some highlights (based on the SRT format because that was the only one I could find any information about syntax for): Definitive guides to the format either don’t exist or are so poorly used that they [...]]]></description> <content:encoded><![CDATA[<p> <img
width="61" style=" float: right;" src="http://www.symphonious.net/wp-content/uploads/2009/04/ear_-_body_part_nicu_buc_2283.png" height="88" alt="Ear" />I spent the weekend discovering just how poorly thought out and poorly supported closed captioning is in online video. Some highlights (based on the SRT format because that was the only one I could find any information about syntax for):</p><ul
class="blueArrow"><li> Definitive guides to the format either don’t exist or are so poorly used that they don’t appear in the first 3-4 pages of a Google search.</li><li> Timestamps use a non-standard format. The inventor was apparently French so instead of the usual hh:mm:ss.ttt the period is replaced with a comma. I sympathise with everything being US-centric, but the number of people who were making this mistake on forums etc and the number of players who support period but not comma (and visa-versa) is scary.</li><li> Only DOS line endings are supported. \r\n is fine as part of the standard, but why can’t players be a little liberal in what they accept? It’s not like \n or \r by itself within the caption is going to work anyway…</li><li> No standard font, so no way to know if the caption will fit or not.</li><li> Absolutely zero feedback from any player I found about why it was ignoring the captions.</li><li> <em>Really, really poor tooling support for creating captions.</em></li></ul><p> So, coming around to the real point of this post, I wound up writing my own tool to help take a script, synchronize it to the spoken voice and output the right format. Worked a treat, and now I have working captions on my video. I suspect it would be useful to others and there’s certainly plenty to do to improve it that would be great if others jumped in and helped with.</p><p> The trouble is, to make playing the video easier, I used Cocoa and Objective-C. Great decision, got me up and running in no time &#8211; with really, really, <em>really</em>, lousy code. See, I haven’t done anything more than vaguely dabble in Objective-C and I’ve only used XCode back when it was Project Builder and I suspect OS X was in beta. Needless to say, the resulting code is terrible. I didn’t want to learn all the ins and outs of the Cocoa document system and where I’d have to change the names of things so the main document class is still called “MyDocument”. I think I turned on the Objective-C garbage collection, but if not it will leak like a sieve (it might anyway, not sure).</p><p> If you look at it one way, it’s pretty impressive to pick up a completely new tool set and get a useful application out in a morning, but more likely you’d look at the code and decide I was incompetent. So the great dilemma, should I push this rubbish code up to GitHub and hope someone comes along to refactor it, or will it just sit there waiting to appear in a Google search when I next wind up applying for a job, thus killing all my hopes and dreams?</p>]]></content:encoded> <wfw:commentRss>http://www.symphonious.net/2009/04/27/should-you-publish-crap-code/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Devices Have Disabilities Too</title><link>http://www.symphonious.net/2009/03/26/devices-have-disabilities-too/</link> <comments>http://www.symphonious.net/2009/03/26/devices-have-disabilities-too/#comments</comments> <pubDate>Thu, 26 Mar 2009 10:30:39 +0000</pubDate> <dc:creator>Adrian Sutton</dc:creator> <category><![CDATA[Accessibility]]></category> <category><![CDATA[Code and Geek Stuff]]></category> <category><![CDATA[Content Management]]></category> <guid
isPermaLink="false">http://www.symphonious.net/?p=1115</guid> <description><![CDATA[The Australian brings news of the growing battle for mobile banking leadership among Australian banks: Brisbane-based Suncorp launched the first mobile browser-based banking service and last week made it compatible with iPhone and Google Android handsets. The Commonwealth Bank has similarly updated its mobile service, which will work on any internet-enabled mobile phone, and has [...]]]></description> <content:encoded><![CDATA[<p> <img
src="http://www.symphonious.net/wp-content/uploads/2009/03/accessibility.png" alt="Accessibility Icon" height="215" width="200" style=" float: right;" />The <a
href="http://www.australianit.news.com.au/story/0,24897,25231165-5013040,00.html">Australian brings news of the growing battle for mobile banking leadership among Australian banks</a>:</p><blockquote><p> Brisbane-based Suncorp launched the first mobile browser-based banking service and last week made it compatible with iPhone and Google Android handsets.</p><p> The Commonwealth Bank has similarly updated its mobile service, which will work on any internet-enabled mobile phone, and has additional functionality for the iPhone.</p></blockquote><p> People have been talking about the coming mobile revolution for a long time. In fact, as the article mentions, the Commonwealth Bank had previously tried to jump on the mobile banking wagon as early as 1999 via a WAP interface. So what’s changed and what does this have to do with accessibility?</p><ol><li> The capabilities and affordability of mobile phones with Internet access has dramatically improved. Firstly with the iPhone and now a top-notch browser is a must have feature in a smart phone.</li><li> WAP is out, users want the real web. It’s not ok to provide a text only WAP interface that works on phones, users want the full functionality and they want it to look pretty too. Modern phones support HTML, CSS and JavaScript and most of the time you should be writing just one site that works everywhere rather than a separate mobile site.</li></ol><p> It’s that second point that really brings accessibility in. If you design your site so that it can be used with a range of disabilities, there’s a much better chance that it will also work on devices with a range of capabilities. In other words, someone using an iPhone to view the site is just a user with a particular type of disability.</p><ul><li> They have a small screen so the site needs to scale properly (use relative units, not absolute). If your site can handle users changing the size of the font, it can probably scale pretty well to fit on an iPhone.</li><li> If the networks slow, they may not be able to see images. If you have good alt tags, they won’t need to.</li><li> They can’t see flash. While you can design accessible flash, most people don’t so surfing without flash is often very similar to what a screen reader would see (at least for the flash side of things).</li><li> They can’t use a keyboard very fast and can’t drag and drop anything.</li></ul><p> There’s also plenty of unique things about various disabilities and the iPhone as well as different limitations on different handsets, but there’s also a lot of overlap.</p><p> Accessibility isn’t a cost centre &#8211; it’s a competitive advantage.</p>]]></content:encoded> <wfw:commentRss>http://www.symphonious.net/2009/03/26/devices-have-disabilities-too/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Accessibility is About Real People</title><link>http://www.symphonious.net/2009/03/25/accessibility-is-about-real-people/</link> <comments>http://www.symphonious.net/2009/03/25/accessibility-is-about-real-people/#comments</comments> <pubDate>Wed, 25 Mar 2009 11:32:49 +0000</pubDate> <dc:creator>Adrian Sutton</dc:creator> <category><![CDATA[Accessibility]]></category> <guid
isPermaLink="false">http://www.symphonious.net/?p=1113</guid> <description><![CDATA[When I wrote my post on accessibility the other day, what I really meant to say is what basically what Rob Foster wrote. Very roughly summarized, accessibility is about real people, not checklists. The issues of accessibility are a daily reality for my family. For us, it’s not a political issue at all. Our oldest [...]]]></description> <content:encoded><![CDATA[<p> When I wrote <a
href="http://www.symphonious.net/2009/03/23/access-enablement-or-accessibility/">my post on accessibility the other day</a>, what I really meant to say is what basically <a
href="http://www.northtemple.com/2009/03/24/accessibility-to-the-face">what Rob Foster wrote</a>. Very roughly summarized, accessibility is about real people, not checklists.</p><blockquote><p> The issues of accessibility are a daily reality for my family. For us, it’s not a political issue at all. Our oldest daughter, Ramona, has cerebral palsy and uses a wheelchair to get around.</p><p> …</p><p> Here’s my point–if your brother or sister had a disability, you would give a crap. But you don’t have to have a sibling in a wheelchair to genuinely care, even if it’s only in your work.</p></blockquote><p> And:</p><blockquote><p> And from my perspective, accessibility is about giving a crap.</p><p> Accessibility is NOT a checklist.</p><p> Accessibility is about usability.</p><p> Accessibility is a paradigm shift.</p><p> Accessibility is a personal issue.</p></blockquote><p> Checklists and accessibility reports are just tools to help you make things accessible &#8211; they can be really powerful if they’re used with the right intent, but they’re not the answer.</p><p> That’s why I’m so glad to see Ephox adding not just more and better accessibility checking and reporting into their products, but also tools to make it easier for authors to get accessibility right. We need to do more though, so much more, but at least it’s a start and we can start taking this message out to all the web content administrators that we talk to and try and get them to care.</p>]]></content:encoded> <wfw:commentRss>http://www.symphonious.net/2009/03/25/accessibility-is-about-real-people/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Access Enablement or Accessibility?</title><link>http://www.symphonious.net/2009/03/23/access-enablement-or-accessibility/</link> <comments>http://www.symphonious.net/2009/03/23/access-enablement-or-accessibility/#comments</comments> <pubDate>Mon, 23 Mar 2009 17:29:01 +0000</pubDate> <dc:creator>Adrian Sutton</dc:creator> <category><![CDATA[Accessibility]]></category> <guid
isPermaLink="false">http://www.symphonious.net/?p=1110</guid> <description><![CDATA[Mark Pilgrim and Sam Ruby have been going back and forth and back again about accessibility and in particular the SVG images on Sam’s blog. In Mark’s latest post he explains the somewhat crazy world of access enablement: Long answer: As far as I know, none of the commercially available screenreaders support svg in any [...]]]></description> <content:encoded><![CDATA[<p> Mark Pilgrim and Sam Ruby have been going <a
href="http://twitter.com/diveintomark/status/1351150955">back</a> and <a
href="http://www.intertwingly.net/blog/2009/03/20/Accessible">forth</a> and <a
href="http://diveintomark.org/archives/2009/03/21/accessibility-is-a-harsh-mistress">back again</a> about accessibility and in particular the SVG images on Sam’s blog. In Mark’s latest post he explains the somewhat crazy world of access enablement:</p><blockquote> Long answer: As far as I know, none of the commercially available screenreaders support <code>svg</code> in any way, much less reading the title of an <code>svg</code> image included inline in an xhtml page (as opposed to, say, linked from the <code>src</code> attribute of an <code>&#60;img&#62;</code> element, or embedded in an <code>&#60;object&#62;</code> element). Nonetheless, you have provided a text alternative for the image, and <em>theoretically</em>, that <em>could</em> be presented to a user in place of (or in addition to) the image. You have therefore fulfilled your moral duty, even though no one <em>actually</em> benefits from it. Welcome to the wacky world of <em>access enablement</em>.</blockquote><p> Mark’s right &#8211; in many companies and other organizations you have to tick the boxes for accessibility rules and they are quite often just plain stupid. Mark calls that access enablement, I call it beurocracy or perhaps more kindly, the only effective way to get a large organization to meet difficult to understand objectives.</p><p> However, in the case of Sam’s blog, there really isn’t any loss of information if you can’t see the image. They act as a kind of category logo, and when you can see them, provide a quick way to scan the page for a particular topic. <em>It would not be quick to scan the page if the images were displayed as a text alternative.</em></p><p> In fact, it could well be argued that adding the text alternative makes the page <em>less </em>accessible, not more. Compare:</p><blockquote><p> Accessible</p><p> accessible</p><p> <a
href="http://twitter.com/diveintomark/status/1351150955">Mark Pilgrim</a>: <em>Deep thought: every post on @<a
href="http://twitter.com/samruby">samruby</a> &#39;s blog since June 2006 contains an image without a text alternative.</em></p></blockquote><p> With:</p><blockquote><p> Accessible</p><p> <a
href="http://twitter.com/diveintomark/status/1351150955">Mark Pilgrim</a>: <em>Deep thought: every post on @<a
href="http://twitter.com/samruby">samruby</a> &#39;s blog since June 2006 contains an image without a text alternative.</em></p></blockquote><p> If you were a blind user accessing the page with a screen reader (the mythical one that supports titles in SVG), your screen reader would say the word “accessible” twice &#8211; once as a header and once as the alternate text for the image. You might get “Heading: Accessible, Image: Accessible” read to you but it’s still not useful. The single most useful thing that could be done with that image when encountered by screen readers is to simply ignore it.</p><p> One of the biggest challenges about accessibility is convincing people that it’s <em>not </em>just about adding alt tags to images, it’s about allowing people with disabilities to access the page. Following the rules to the letter is neither the absolute right answer nor a silver bullet. What you need to do is actually test with real world tools. That’s why the actual rules, particularly in WCAG 2.0, are so incredibly vague. The techniques are more detailed and more descriptive but the rules themselves are very high level.</p><p> The same thing applies in the real world. You have to provide ramps or elevators so that people in wheelchairs can get everywhere they need to go, but you don’t have to provide ramps everywhere. There are plenty of shopping malls and other public places that provide a normal set of stairs in the most convenient place and an elevator off to one side. Sam’s blog is a perfect example of that concept applied to software. <em>I</em> read Sam’s blog without seeing those SVG images all the time because they don’t come through to my feed reader, yet I can still tell what the post is about because it has a descriptive title.</p><p> If you’re asking yourself “does my site meet WCAG 2.0?” you’re doing it all wrong.  You <em>should</em> be asking “is my site accessible?” Just meeting WCAG won’t necessarily make your site accessible &#8211; do it if that’s what is required to get paid, but don’t fool yourself into thinking that it’s the real aim.</p>]]></content:encoded> <wfw:commentRss>http://www.symphonious.net/2009/03/23/access-enablement-or-accessibility/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
