Enabling Technology


Thomas Logan is a member of the Microsoft Accessibility Team.

He is a technology evangelist.

Programmatic Access

This refers to the gathering of information about the UI or other UI state information through code alone. This includes changes or updates to the UI.

Microsoft wanted to increase the programmatic access in the shipment of Vista over past OS offerings. Therefore they will move from offering only MSAA to a layer to be known as UI Automation. Aside from greater support to AT, UI Automation will allow scripted testing and better programmatic access to an application’s UI. UI Automation hopes to create a universal object model for all windows on the screen as opposed to the per application model we now have.

Key components of UI Automation:

  • Automation Tree: navigation of the UI (object model)
  • Automation Element: a piece of the UI (button, slider)
  • Properties: UI information of an element (value, text, isDisabled)
  • Control Patterns: Allows interaction with UI elements
  • Events: notification of changes in the UI

The old MSAA framework will still be available to legacy applications and unwavering developers. The hope is that MS will persuade these developers to change their ways when they see the advances that UIA will allow them to make in testing and productivity.

Vista will also ship with Speech Recognition and Magnification API.

These APIs will be available to programmers to develop unique applications. Some features include the fact that the API is OS supported, implemented as Win32 call, ability to set which windows are to be affected, ability to scale content, and the ability to do multiple color/image transformation effects