wai-temp.jpg The W3C Web Accessibility Initiative (WAI) realizes that the Web Content Accessibility Guidelines (WCAG 1.0) discouragement of Javascript does not work for developing accessible Rich Internet Applications. They do recognize the need to provide technologies to map controls, AJAX live regions, and events to accessibility APIs. As a result, the Protocols and Formats Working Group has released the first set of Working Drafts of the ARIA - Accessible Rich Internet Applications suite. The WAI has been talking about this a little while now. So it's good to finally see something come out. The Working Drafts include ARIA Roadmap, Primer, and Best Practices documents among others designed to help developers understand the issues related to accessibility in RIAs and how these issues can be overcome. Legacy GUI applications have addressed the issue of accessibility via the use of comprehensive accessibility API and infrastructure designed to foster interoperability with assistive technologies. There is current no type of contract between today's RIAs and assistive technologies. The WAI Protocols and Working Group has addressed this problem via the middleware application layer and web content delivered to desktop browsers. The specification is called the Roles, States, and Properties Module for Accessible Rich Internet Applications 1.0 and it's all about creating common extensions to both HTML and XHTML. According to the WAI, to ensure the creation of Accessible RIAs any solution needs to do the following: * Allow for discovery of UI components through the use of Semantic Web technologies * Support todays accessibility architectures * Be easy to lightweight and scalable * Allow for the separation of presentation from content * Allow for passive monitoring of the application by assistive technologies * Involve both user agent and assistive technology vendors upfront * Provide developer guidelines as part of the definition process. The work done to date has focused on extending current specifications like HTML 4.01 and XHTML 1.x, ensuring the dynamic accessibility of scripted Web content (Javascript with (X)HTML markup). There are four critical extensions: # Roles attribute: Enables the definition of the role of an element by annotating the host language (i.e.
States, and Property attributes: Full keyboard focus, states and properties that may be mapped directly or indirectly to platform accessibility APIs. # Role Document landmark values: Provides a standard set of roles that will define specific parts of a document for the purposes of accessibility.This allows key mappings by desktop user agents so that it is easier to navigate parts of the document (without using tab indexing type functionality). # Taxonomy of ARIA role values: This is a taxonomy that defines the potential roles in a document structure and the properties they may contain. It allows user agents or authoring tools map to the accessibility API. The taxonomy is modeled using RDF/OWL. The specifications does not cause an increase in the amount of the code, nor does it make development that much more complex. For developers it's important to look at the Best Practices document and the Technical Specification document. There are already some Javascript Toolkits that already support the specification. And if you're worried about how older browsers will be affected by the changes - don't. The older browsers simply won't recognize the new extensions and will continue to display content as normal. If you aren't already, it's time to start thinking about accessibility in your RIA applications. There's a huge population out there that you are ignoring if you don't. And they have money too!