Accessing Microsoft Active Accessibility Servers

The Microsoft Active Accessibility to UI Automation Proxy is a software component that enables Microsoft UI Automation clients to interact with Microsoft Active Accessibility servers that implement the IAccessible interface natively. The proxy supports the LegacyIAccessible control pattern, and supplies an instance of the IUIAutomationLegacyIAccessiblePattern interface for each Microsoft Active Accessibility server detected. UI Automation clients use the methods exposed by IUIAutomationLegacyIAccessiblePattern to access the Microsoft Active Accessibility properties and objects supported by the server.

If a UI Automation element has an underlying Microsoft Active Accessibility implementation, a client can obtain an IUIAutomationLegacyIAccessiblePattern interface pointer for the element by passing the UIA_LegacyIAccessiblePatternId control pattern ID to one of the following IUIAutomationElement methods:

The IUIAutomationLegacyIAccessiblePattern interface is not available for controls based on UI Automation.

The IUIAutomationLegacyIAccessiblePattern interface enables UI Automation clients to access the underlying IAccessible implementation of an Microsoft Active Accessibility element. However, the interface does not support methods that are obsolete or redundant with UI Automation features. For example, IUIAutomationLegacyIAccessiblePattern does not have a method that is equivalent to IAccessible::accLocation because the current location of a UI element is available from the UI Automation BoundingRectangle property.

The IUIAutomationLegacyIAccessiblePattern::GetIAccessible method enables a client to retrieve an IAccessible interface pointer from an UI Automation element. The reverse is also possible by using the IUIAutomation::ElementFromIAccessible and IUIAutomation::ElementFromIAccessibleBuildCache methods.

IUIAutomationLegacyIAccessiblePattern::GetIAccessible returns NULL if the IAccessible interface for the element is provided by a proxy object from OLEACC.dll or from the UI Automation to Microsoft Active Accessibility Bridge.

Conceptual

UI Automation and Active Accessibility

UI Automation Control Patterns Overview