Tuesday, November 13, 2007

Introducing AxsJAX -- Access-Enabling AJAX



As the developer behind Fire Vox I've always wanted to make AJAX web applications truly usable for the blind and visually impaired. The challenge is that these users have to deal with a much higher learning curve than sighted users. Instead of simply learning the controls for a web application, they have to also learn how to get their assistive technology of choice to go to the interesting parts of that application to find out what is currently there.

When I started as a Noogler, I was extraordinarily impressed with the tools that T.V. Raman had built into Emacspeak for efficiently performing specific tasks. An insight that I gained from watching him use Emacspeak is that the application should just say the right thing in response to user actions; users should not have to do an action in the application and then use their assistive technology to go hunting around the screen to figure out what happened.

In my first week at Google, I discovered Google Reader a highly optimized feed reader with very good keyboard support. For my starter project at Google, I decided to access-enable this application using W3C ARIA. Using Greasemonkey, I could inject JavaScript code to add the needed ARIA bits to make Google Reader say the right things at the right time.

Connecting The Dots

Based on the experience of access-enabling Reader, we have now refactored the code to come up with a common JavaScript framework for enhancing the accessibility of AJAX applications. This framework is called AxsJAX, and it was refined in the process of access-enabling Web Search.

We're now excited to open-source this framework since we believe that there is nothing Google-specific in the techniques we have implemented. We invite the Web developer community to help us collectively define a robust framework for rapid prototyping of accessibility enhancements to Web 2.0 applications.

The ability to rapidly prototype end-user interaction has led to an explosion in the number of AJAX applications; until now, visually impaired users have been left behind in this process. We hope that the AxsJAX framework encourages the Web community to bring the power of Web 2.0 development to solving the problem of accessing rich Web interaction in an eyes-free environment.

4 comments:

  1. I have noticed that when speaking of accessibility you and most others seem primarily concerned with speech.
    Since I am primarily a braille user does voice enabling include braille.
    They are not the same thing as while I want to know what has changed I may not want to be put on a button just because it has become active and may not even care that it is active at that point. In fact
    I find it aggravating when I am all of a sudden moved from what I am doing to a status bar because something has changed and I have to wait for something to time out or I have to take an action to get back where I was.
    That aside I certainly agree with making things more accessible.

    ReplyDelete
  2. It is a really interesting approach. Charles, I'd love to hear more about what you think are the strengths or weaknesses. Have you run into any snags?

    I'm so pleased for you that you were able to open source this.

    (Perhaps of interest to you, I had some half baked thoughts about a similar approach (injecting accessibility) a couple of weeks ago but it dropped off my radar.)

    ReplyDelete