IAccessible2 is a new accessibility API for Microsoft Windows applications. Initially developed by IBM under the codename Project Missouri,[1] IAccessible2 has been placed under the aegis of the Free Standards Group, now part of the Linux Foundation.[2] It has been positioned as an alternative to Microsoft's new UI Automation API.
While UI Automation is trumpeted as "royalty-free",[3] IAccessible2 claims to be an "open standard".
Contents |
Whereas UI Automation marks a radical break from Microsoft Active Accessibility (MSAA) to create a more flexible accessibility API, IAccessible2 fills in perceived omissions in MSAA to match the Java Accessibility API and Assistive Technology Service Provider Interface (AT-SPI).[4] By extending the MSAA interface, rather than replacing it, IAccessible2 allows "application developers to leverage their investment in MSAA while also providing an Assistive Technology (AT) access to rich document applications."[5] It is also advantageous for Microsoft's commercial competitors, Sun and IBM, to promote an alternative accessibility interface to the Windows platform standard, which explains both their focus on developing non-MSAA/UIA interfaces and their promotion of cross-platform support despite the lack of any AT that is cross-platform that might use it.
Project Missouri was started when the State of Massachusetts, in the process of adopting the OpenDocument format for its public records, required that the format be made accessible.[6] Increasing the accessibility of dynamic web applications, for example by exposing custom controls for use with assistive technology and by filtering streams of new information by type and importance, became a second major focus for the project.[7]
Currently, support for IAccessible is in development for applications such as the Mozilla Application Suite [8], Opera Browser [9] and NonVisual Desktop Access.[10] Although IAccessible2 was introduced as a Windows accessibility API, Trolltech are treating IAccessible2 as a potential alternative to AT-SPI on Linux too, and planning to add preliminary support to Qt 4.3.[11]