Summary

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

Contents

The AxsJAX Framework

Charles L. Chen and T. V Raman have developed a common JavaScript framework to enhance the accessibility of AJAX-based applications. The framework is called AxsJAX, pronounced, "Access JAX". Charles came up with the idea after adding ARIA support for Live Regions to Google Reader, which already had very good keyboard support.

Accessibility of AJAX

Broadly speaking, there are two problems with Web 2.0 applications:

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.

Category: Accessibility.

Comments

  1. [axsjax-framework-aria.php#comment2]

    Hi Raman,

    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

  2. [axsjax-framework-aria.php#comment3]

    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

  3. [axsjax-framework-aria.php#comment4]

    Hello Anonymous,

    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

  4. [axsjax-framework-aria.php#comment5]

    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

  5. [axsjax-framework-aria.php#comment6]

    Hi Richard,

    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?

    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

  6. [axsjax-framework-aria.php#comment7]

    Hi Gez,

    I read the docs on the Google code, however, two things are still unclear to me:

    1. Does the bookmarklet make trips to Google servers to fetch code for injection?
    2. How does framework know which code snippets to insert? It is easy with Google products because both Charles and Raman have access to their codebase. If this is site-specific, then what is the significance of the framework?

    Sorry for so many questions.

    - P

    Posted by Paul K on

  7. [axsjax-framework-aria.php#comment8]

    Hi Paul,

    Does the bookmarklet make trips to Google servers to fetch code for injection?

    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.

    How does framework know which code snippets to insert?

    They have a function that selects the appropriate script depending on the URL.

    If this is site-specific, then what is the significance of the framework?

    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

  8. [axsjax-framework-aria.php#comment9]

    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

Comments are closed for this entry.