Making RIAs Accessible Andrea Hill Resource Interactive [email_address] http://www.afhill.com /blog/
Making RIAs Accessible <ul><li>The purpose of this session is to look at what makes RIAs a challenge to accessibility, and how these challenges are being addressed. </li></ul><ul><li>Feel free to add, edit or argue! </li></ul>2
Overview <ul><li>DOM-based vs Plugin-based </li></ul><ul><li>Regulatory compliance </li></ul><ul><li>Assistive technologies </li></ul>3
What does “RIA” mean? <ul><li>“ The promise of rich clients includes the ability to cleanly separate presentation logic and user interfaces from the application logic hosted on the network. Rich clients should provide a model for easily using remote services provided by back-end components, whether hosted in an application server or accessed as XML Web Services” (J. Allaire, 2002)  </li></ul><ul><li>A departure from the traditional “page refresh” to retrieve data </li></ul>4
DOM- versus Plugin- based RIAs <ul><li>DOM-based RIAs make changes directly to the Document Object Model (AJAX) </li></ul><ul><li>Plugin-based RIAs sit atop the browser (Flash, Flex, Open Laszlo, Silverlight) </li></ul>5
How/why are they different? <ul><li>DOM-based RIAs make changes to DOM. Assistive technologies simply need to recognize these changes. </li></ul><ul><li>Plugin-based RIAs are in a security sandbox. Need established interfaces to communicate (at an OS level). ATs also need to be aware thereof </li></ul>6
Regulatory Compliance <ul><li>Section 508 and WCAG1.0 were drafted in the late 90s, really only apply to “traditional” web applications </li></ul><ul><li>Guideline 1. Provide equivalent alternatives to auditory and visual content. </li></ul><ul><li>> People’s Choice Awards Voting Module </li></ul><ul><li>“ The World Wide Web Consortium only documents techniques for non-proprietary technologies; the WCAG Working Group hopes vendors of other technologies will provide similar techniques to describe how to conform to WCAG 2.0 using those technologies.” </li></ul>8
Establishing Standards/ Best Practices Best Practices <ul><li>WAI (Web Accessibility Initiative) has a proposal for WAI-ARIA. WAI-ARIA involves adding additional semantic information to controls (roles, states, properties) that could be passed onto assistive technologies. </li></ul><ul><li>Major browsers have all pledged support: Firefox, Safari, Opera, IE8. </li></ul>9
Screen reader considerations <ul><li>DOM-based: WAI-ARIA is a proposed framework for making accessible RIAs. When a change is made to the DOM, this would trigger a response from the screen reader. There is also the ability to specify the “politeness” factor. </li></ul><ul><li>Plugins: Flash leverages MSAA (Microsoft Active Accessibility) and will notify a screen reader of changes.* </li></ul><ul><li>*yes, I said MSAA. Which means Windows only. Up until December 2007, it meant IE only, despite the fact that Flash has offered accessibility features since Flash MX. </li></ul>11
Screen reader considerations <ul><li>Part of what makes RIAs more usable and engaging is the lack of a page refresh. A sighted user may perceive changes to the page. How do we introduce changes in an audible format? </li></ul>“ Using a screen reader is a bit like reading a page through a soda straw. You can only see one thing at a time and you can’t see anything else around it. ” Bob Regan (Adobe, formerly Macromedia)
Politeness! <ul><li>aria-live="off" </li></ul><ul><li>Any updates made to it should not be announced to the user. aria-live="off" would be a sensible setting for things that update very frequently such as timers that change every second. </li></ul><ul><li>aria-live="polite" </li></ul><ul><li>The region is live, but updates made to it should only be announced if the user is not currently doing anything. aria-live="polite" should be used in most situations involving live regions that present new information to users, such as updating news headlines. </li></ul><ul><li>aria-live="assertive" </li></ul><ul><li>The region is live. Updates made to it are important enough to be announced to the user as soon as possible, but it is not necessary to immediately interrupt the user. aria-live="assertive" should be used if there is information that a user should know about right away, for example, warning messages in a form that does validation on the fly. </li></ul><ul><li>aria-live="rude" </li></ul><ul><li>The region is live. Updates to it are extremely important. In fact, the updates are so important that the user must be interrupted immediately. aria-live="rude" should be used sparingly and only with great consideration as it can be very annoying to users. </li></ul>
Current accessibility “suites” <ul><li>DOM-based RIA: Firefox browser, FireVox screen reader (proposed by Charles Chen) </li></ul><ul><li>Flash: IE browser, JAWS or other screen reader (proposed by Thea Eaton) </li></ul>13
Can RIAs be Accessible? <ul><li>Yes </li></ul><ul><li>No </li></ul><ul><li>And then what’s the next step? (Virtual space...) </li></ul>
Resources <ul><li>Macromedia Flash MX—A next-generation rich client. (March 2002) Allaire, Jeremy. http://download.macromedia.com/pub/flash/whitepapers/richclient.pdf </li></ul><ul><li>Techniques for WCAG2.0 - Working Draft http://www.w3.org/TR/WCAG20-SCRIPT-TECHS/ </li></ul><ul><li>Kirkpatrick, Andrew. “New Flash Player with MSAA on Firefox and H.264 Video” Retrieved from http://blogs.adobe.com/accessibility/2007/12/new_flash_player_with_msaa_on.html on January 26, 2008. </li></ul>15
A particular slide catching your eye?
Clipping is a handy way to collect important slides you want to go back to later.