Google Assistive Technology Detection
We all know Google engineers are working away a stuff that's so amazing they have to wait a couple of years before releasing it otherwise it'll blow our minds up (Gmail, maps, etc).
That said, they've released functionality tucked away inside the search results page that I never knew existed. Full accessibility support.
I spotted this when I was preparing my slides for the Sweden Geek Meet talk: Blueprint for Unobtrusive Web Development.
When using FireVox the free screen reader extension for Firefox, Google's search results automatically detected the assistive device and changed the experience for me.
Below is a video demonstrating the experience:
What happened
I've not looked too deeply in to it yet, but as far as I understand, using the AxsJAX library, Google is able to detect assistive devices and respond accordingly.
Here's a list of what changed from the traditional experience:
- The first result is made to appear much bigger and easier to read
- The screen reader, via ARIA (I believe), jumps to the first result, skipping over the header gumph
- Results are navigable using the cursor keys: up & down
- As the next result is highlighted and before the screen reader announces the detail, an audible cue tells us it has moved on
- If we reach the last result and press the down cursor, it returns to the first result, triggering a higher pitched audible cue, telling me it has started again
All this happens without me having to tell Google that I'm using a screen reader.
I definitely want to see more of this in upcoming applications (note: from what I understand, this is also built in to Gmail, Reader and number of other apps).
You should follow me on Twitter here I'll tweet about JavaScript, HTML 5 and other such gems (amongst usual tweet-splurges)
Introducing HTML5
Some privacy concerns to consider with any approach like this, especially if a web site has things like user accounts. It is my business to decide whether you know I'm browsing with a screen reader or other assistive technology or not.
axjax probably only detects FireVox which is a browser extension (Charles Chen wrote both). AFAIK the a11y APIs don't support AT detection, plus we don't really don't want AT . Thanks to Aaron Leventhal and Maco Zehe for pointing this out
Charles and TV did a talk at Google Tech Talk about those additions. I think it's this link but it's not loading for me now so I can't verify. http://www.youtube.com/watch?v=nF3yhZrtLRw