Author: Gez Lemon
The AxsJAX Framework
Accessibility of AJAX
Broadly speaking, there are two problems with Web 2.0 applications:
- Role, state, and other properties that might visually be obvious are often not conveyed to assistive technologies.
- They often fail to provide feedback to users of assistive technology, leaving the user wondering what has happened.
Both of these problems are solved with the W3C's Web Accessibility Initiative - Accessible Rich Internet Applications (WAI-ARIA). Feedback on what has happened is provide through WAI-ARIA's Live Regions, which includes properties that determine the politeness of feedback, and exactly what is reported to the user. Both JAWS and Window-Eyes, the two most popular screen readers, are working on implementing live regions. Fire Vox, the open source talking browser extension for Firefox, already supports live regions.
The AxsJAX framework works by automatically inserting ARIA properties into the DOM, based on design patterns. At the moment, the only Web 2.0 applications that support AxsJAX are Google Reader and Google Search.
Injecting ARIA Properties
There are several ways that the AxsJAX framework can inject ARIA properties into Web 2.0 applications. The cross-browser approach would be to use the AxsJAX bookmarklet. This approach means that the user needs to activate the bookmarklet each time they visit a page that supports the AxsJAX framework.
There is also a GreaseMonkey Mozilla/Firefox script. GreaseMonkey scripts are executed automatically when a page is visited, which means that the ARIA properties are inserted automatically when the page is loaded if the user is using the AxsJAX GreaseMonkey script.
Fire Vox will automatically inject ARIA properties using the AxsJAX framework if the "Use site specific enhancements" option is enabled, regardless of bookmarklets and GreaseMonkey scripts. Charles and Raman are looking to the open source community for coming up with other innovative means of providing enhancements using the AxsJAX framework.
Using the AxsJAX Framework
To make use of the framework, you will need a user agent that supports WAI-ARIA, such as Firefox 2.0 or later. You will also require an assistive technology that supports WAI-ARIA. If the assistive technology you are using has a virtual buffer, you will need to ensure that the virtual buffer is disabled - for example, using PC-Cursor mode in JAWS.
Google Reader and Google Search have a set of keystrokes than enhance the experience for assistive technology and regular users alike. For example, n and p may be used to cycle forwards and backwards through the items in the result-set respectively. The AxsJAX framework ensures that the updates are reported correctly to assistive technologies that support ARIA's live regions.