IAccessible2

IAccessible2 is an accessibility API for Microsoft Windows applications. Initially developed by IBM under the codename Project Missouri, IAccessible2 has been placed under the aegis of the Free Standards Group, now part of the Linux Foundation. It has been positioned as an alternative to Microsoft's new UI Automation API.

While UI Automation is trumpeted as "royalty-free", IAccessible2 claims to be an "open standard".

Goals
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). 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." 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. 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.

Support
Support for IAccessible is present in LibreOffice as of version 4.2. It is in development for Apache OpenOffice, Mozilla Application Suite, NonVisual Desktop Access and the Opera web browser. Although IAccessible2 was introduced as a Windows accessibility API, Qt Development Frameworks is treating IAccessible2 as a potential alternative to AT-SPI on Linux too, and planning to add preliminary support to Qt 4.3. As of 2019, Qt uses MSAA and IAccessible2 on Windows, and continues to use AT-SPI for Unix/X11 systems.