This documentation is archived and is not being maintained.

Active Accessibility

Visual Studio .NET 2003

Microsoft Active Accessibility is a developer technology that improves the way programs and the operating system work with accessibility aids. Using Active Accessibility, software developers can make their programs more compatible with accessibility aids, and accessibility aid developers can make more reliable and robust aids.

Any piece of software that uses Active Accessibility to expose information about its user interface (UI) is called an Active Accessibility server. Any piece of software that uses Active Accessibility to interface with the UI elements of another piece of software is called an Active Accessibility client.

Active Accessibility provides a standard way for accessibility aids to get information about user interface elements and for programs to expose that information to the aids. For example, Active Accessibility provides these individual pieces of information:

  • Type of object
  • Name of object
  • Location of object
  • Current state of object

Active Accessibility also provides:

  • Notification of changes in user interface via windows Events
  • Navigation, both spatial (up, down, left, right) and logical (next, previous, parent, first child, last child) of Active Accessibility server UI elements and objects

This standard helps program-developers and aid-developers alike ensure their products are compatible.

The standard also gives software developers who use Active Accessibility more flexibility in designing their programs' user interfaces. Consequently, software developers can innovate more freely without sacrificing compatibility. On the other hand, developers of aids can confidently create products they will work well with programs that use Active Accessibility. In general, Active Accessibility helps developers by:

  • Providing built-in support in the operating system.
  • Making available a COM interface and API elements that help replace the unreliable and less portable techniques developers had to use in the past.
  • Providing the framework for programs and operating systems to cooperate with accessibility aids.
  • Providing methods for exposing information about custom controls.
  • Exposing information about most system-provided user interface elements, such as list boxes and buttons.
  • Providing a mechanism for accessibility aids to be notified when the user interface changes.

For more information, see Microsoft Active Accessibility: Introduction (

See Also

Designing Accessible Applications