How Active Accessibility Exposes User Interface Elements

Microsoft Active Accessibility creates a proxy object for each user interface element that it exposes. A proxy object acts as an intermediary between the client utility and the UI element. The purpose of the proxy object is to monitor the life span of the UI element and to implement the IAccessible properties and methods on behalf of the UI element. Server developers who create custom controls or other custom UI elements should also create proxy objects. For more information, see Creating Proxy Objects.

When Microsoft Active Accessibility creates an object to expose a predefined or common control, it actually creates at least two objects: one for the control and one for the window that surrounds the control. In most cases, these parent windows have the Role property of ROLE_SYSTEM_WINDOW and have the same Name property and window class name as the control. The information about the control that clients convey to end users is contained in the object that Microsoft Active Accessibility creates to expose the control, not the parent object that exposes the window that surrounds the control.

For more information, see the following topics.