Charles L. Chen and T. V Raman announced an open source framework called AxsJAX. The framework inserts ARIA properties into web applications to make them accessible to assistive technologies.
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.
Note that the other Web 2.0 application that is enabled by AxsJAX at present is an implementation of the popular JawBreaker game. When we have a few minutes, we'll add a "showcase" page on the AxsJAX Wiki that lists applications that have been AxsJAXed.
Posted by raman on
Thank you for the update. I wish I had an opportunity to see you and Charles demonstrate the AxsJAX framework at the W3C Plenary.
Posted by Gez on
Would be great to see the combination of tools that actually works. I tried both Google Search and Google Reader with latest JAWS (virtual buffer turned off) and Firefox, but do not see any enhancements that the article talks about.
But this sounds like an interesting concept, no doubt.
Posted by Anonymous on
You can try it in Fire Vox now to hear it working. Both JAWS and Window-Eyes are currently implementing support for Live Regions.
Posted by Gez on
Sounds interesting. Is it likely that support in JAWS and Window-Eyes will be such that the end user doesn't need to make any configuration changes to get the full experience?
Posted by Richard Morton on
For ARIA's Live Regions, it's unlikely that the user will need to change their default configuration, but we won't know for definite until it's implemented.
If JAWS and Window-Eyes get behind the AxsJAX framework to automatically insert relevant ARIA properties into the DOM before presenting it to the user, then it's likely they would provide an option for it, as Charles has done with Fire Vox. If they don't get behind the AxsJAX framework, then users will need the bookmarklet or GreaseMonkey script to get the benefits from the framework (until other innovative ways are suggested for adding the framework).
Posted by Gez on
I read the docs on the Google code, however, two things are still unclear to me:
Sorry for so many questions.
Posted by Paul K on
Yes, the framework is hosted by Google. The benefit is that when updates are made to the framework, they're automatically available through the same bookmarklet, GreaseMonkey script, and so on. There is an obvious privacy issue for people using GreaseMonkey, whereby the script is activated automatically, unless users specify which websites they want the scripts to work with.
They have a function that selects the appropriate script depending on the URL.
It isn't site specific. It's open source, so people can contribute to the framework with scripts that insert ARIA properties into web-based applications.
Posted by Gez on
The open source nature should certainly aid in the quickness that 3rd party modules can be added. Without these advancements into Web 2.0 applications, the visually impaired would find it increasingly harder to get around online than they already do. This is a great advancement and they should be commended for it.
Posted by Lynne on