Brief history of browser accessibility support

The development of a ‘Brief history of browser accessibility support‘ was prompted by Google’s Evolution of the Web interactive infographic. I was dazzled by its coolness, but noticed that amongst all the web technologies ARIA 1.0 was not to be found. ARIA is included in the makeup of the open web stack.

This got me thinking that it would be useful to have an infographic showing the timeline for implementations of the various accessibility APIs and accessibility related technical specifications. Below is a rather large thumbnail version of the (non interactive infographic, based on the ‘Evolution of the Web’). There is also a full size version and related timeline available.

Note: If you have more accurate information on any content in the graphic or timeline  please speak up!

Brief history of browser accessibility support infographicInfographic depicting the releases of browsers and their implementation of accessibility support over the period from 1995 to 2011.

Brief history of browser accessibility support infographic and timeline.

Accessibility API and Specification support table

The following table attempts to provide an at a glance overview of where support is at now in 2011. It has been derived from information available on the web, ad hoc testing, user reports and any other sources I could find.

Note: If you have more accurate information please speak up!

table legend

  • supported “Good support” means implemented to a level that provides support for the majority of features.
  • “partial support” lacks support for some important features.
  • not applicable “not applicable” means the browser does not run on the OS for which the Accessibility API is designed.
  • not supported “not supported” means the browser does not have practical support for the specification or Accessibility API on the OS.

Note: The table refers to the current versions of browsers as of 14/07/2012.

Practical Accessibility API support by browser and OS (14/07/2012)
ChromeFirefoxInternet ExplorerOperaSafari
MSAApartial supportgood supportgood supportnot supportednot supported
IA2partial supportgood supportnot supportednot supportednot supported
UI Automationnot supportedpartial supportgood supportnot supportednot supported
AXaccessibilitygood supportpartial supportnot applicablepartial supportgood support
AT-SPInot supportedgood supportnot applicablenot supportednot applicable
ARIA 1.0partial supportgood supportgood supportnot supportedgood support
UAAG 1.0partial supportpartial supportpartial supportpartial supportpartial support

Glossary of terms (used in the table and infographic)

Accessible Rich Internet Applications 1.0 (cross platform)
Assistive Technology Service Provider Interface (Linux)
The Mac OS X Accessibility Protocol (Mac OS X)
Introduction to Accessibility Programming Guidelines for Cocoa (Mac OS X)
UIAccessibility Protocol Reference (iOS)
Iaccessible2 (Windows/Linux)
Microsoft Active Accessibility (Windows)
UAAG 1.0
User Agent Accessibility Guidelines 1.0
Microsoft UI Automation (Windows)
Categories: Development

About Steve Faulkner

Steve is the Technical Director at TPGi. He joined TPGi in 2006 and was previously a Senior Web Accessibility Consultant at vision australia. He is the creator and lead developer of the Web Accessibility Toolbar accessibility testing tool. Steve is a member of several groups, including the W3C Web Platforms Working Group and the W3C ARIA Working Group.


Joshue O Connor says:

Great stuff Steve! Like the groovy ‘browsers on the tube’ map 🙂

Pete Brunet says:

Thanks Steve, Since both Safari and Chrome are built on WebKit why does Chrome only partially support a11y on OSX but Safari fully supports it? Perhaps the forks have significantly diverged.

Do you have any links regarding the WebKit forks especially in regards to a11y support and intentions for folding support back into the trunk?

In those cases where support is partial, do you have links to information indicating what support is missing?


Steve Faulkner says:

Hi Pete, while chrome is built on webkit it does not fully inherit all the accessibility support. Why? I don’t know.