Accessibility mashups: AxsJAX fun with XKCD Comics



From time to time, our own T.V. Raman shares his tips on how to use Google from his perspective as a technologist who cannot see -- tips that sighted people, among others, may also find useful.

Earlier this year, I blogged about the potential presented by accessibility mashups with respect to delivering web interfaces that are optimized to a user's special needs. More recently, my office-mate Charles Chen and I blogged about our work on AxsJAX as a framework for leveraging Web-2.0 for injecting accessibility enhancements into web applications.

As we head into the holiday season, we decided it was time to have some fun and generate a few laughs based on what we've worked on during the year. As chance would have it, Randall Munroe, the creator of the XKCD comic strip, visited our Mountain View campus to give an extremely entertaining talk. He even made a reference to blind hacker geeks! So the temptation was too hard to resist. We had to speech-enable his comic strip.

The XKCD comics are highly visual, with a short comment from the author accompanying many of the episodes. Having a detailed written description that is visible to everyone would spoil the comic for the average user; part of the fun is to understand the jokes purely from the sketches. At the same time, notice that indexing and searching online comics runs into the same challenge that blind users face: to be able to locate past episodes, one needs access to textual transcripts that capture the essence of each sketch. To help with the latter, fans of online comics like XKCD have created a search engine devoted to indexing comic strips, replete with full text transcriptions. This is an example of a social Web application where fans can transcribe their favorite comics including XKCD.

In the Web 1.0 world, I would have to pull up an XKCD episode, then go to the site containing the transcripts, and finally find the associated transcript in order to make sense of the comic. But this is exactly where Web 2.0 mashups excel; mashups are all about bringing data from multiple Web sources into a single integrated view. Once we realized this, we were able to AxsJAX the XKCD site with a small amount of code. Now, I can browse to the XKCD comic site, and listen to each episode -- with the underlying AxsJAX-based mashup taking care of the minutiae of retrieving the relevant transcript and integrating it into the comic strip.

This approach leverages all that is powerful about web-based applications:

  • Distributed accessibility --- the XKCD author does not need to create the transcripts.
  • Transcripts can be integrated from across the web.
  • The accessibility enhancements do not spoil the fun for XKCD readers in general.
  • And with Open Source self-voicing plugins like Fire Vox, every XKCD user can listen to the strip when desired.