In order for assistive technologies (AT) to convey meaningful information to users about an application's user interface, the AT first must be able to access that information from the application. Microsoft's solution to this problem is Microsoft® Active Accessibility® (MSAA), which has been available as an add-on since Windows® 95 and built into subsequent Windows® releases. MSAA is a technology that provides a standard, consistent mechanism for exchanging information between applications and assistive technologies. For example, MSAA allows applications to expose screen readers to the type, name, location, and current state of all objects and notifies screen readers of any Windows event that leads to a user interface change.
Although it is not the only way for an application to communicate with assistive technology, MSAA allows AT developers to support a broader variety of applications without custom programming for each one. The number of applications that support MSAA is growing, although there still are many popular applications that do not support it.
Microsoft Active Accessibility: Architecture presents the basic Active Accessibility architecture and spells out Active Accessibility Server Requirements.
With the release of Windows Vista, Microsoft unveiled a new accessibility model called UI Automation, which offers improvements over MSAA. The MSDN article UI Automation and Microsoft Active Accessibility provides information about the differences between the two.