access key

An underlined character in the text of a control's label.

accessibility aid

Also called assistive technology; specialized programs that work with a computer's operating system to accommodate specific impairments, such as a limited range of motion or blindness. Products include larger keyboards, eye-gaze-operated keyboards, voice input utilities, onscreen keyboards, and products that can convert text to speech or to a dynamic Braille display. For more information, see Assistive Technology Products.

accessible object

Any user interface element that implements the IAccessible interface and has properties that describe the object's name, screen locations, and other information needed by accessibility aids. For more information, see Accessible Objects.


child element

See simple element.


Any program that uses UI Automation or Microsoft Active Accessibility to access, identify, or manipulate the user interface elements of an applications; clients include accessibility aids, automated testing tools, and some computer-based training applications. For more information, see How Active Accessibility Works.

client-side provider

A software component that is implemented by a UI Automation client to retrieve information about the UI of an application that does not support, or does not fully support, UI Automation. Typically, client-side providers (proxies) communicate with the application across the process boundary by sending and receiving Windows messages.


Also called a parent; an accessible object that corresponds to one or more simple elements; for example, an IAccessible object for a list box is the parent of the list items.

control pattern

In UI Automation, a design implementation that describes a discrete piece of functionality for a control. This functionality can include the visual appearance of a control and the actions it can perform.

control pattern object

A run-time instance of a COM object that exposes one or more control pattern interfaces.

control pattern provider

A software component that implements one or more control pattern interfaces.

custom control

A control authored by a user or third-party software vendor, or a system-defined control that was modified by a user or third-party software vendor.


degenerate text range (empty range)

An object that represents an empty (zero-character) span of text. A degenerate text range has adjacent endpoints and specifies a point between two characters.

disjoint text range

An object that represents multiple spans of text that are not physically adjacent to each other.

docking container

A control that allows the arrangement of child elements, both horizontally and vertically, relative to the boundaries of the docking container and other elements within the container.


event listener

A client application that has registered to receive notifications from UI Automation or Microsoft Active Accessibility whenever specific UI changes occur.

event notification

A call from a UI Automation provider to a client, in which the provider notifies the client of an event that might affect the state or appearance of a UI item.



To define the types of UI Automation elements to be included in a view of the UI Automation tree. See also: raw view, control view, and content view.

fragment root

The UI Automation element at the root node of a subtree of the UI Automation tree. A fragment root does not have a parent but is hosted within some other framework, usually a Win32 window handle (HWND).



A UI element, such as a window or control, that contains other UI elements. A host performs UI Automation services on behalf of the hosted elements.



The COM interface that contains all the methods and properties for Microsoft Active Accessibility.

IAccessible proxy

A type of IAccessible support that provides default accessibility information for standard UI elements: USER controls, USER menus, and common controls from COMCTL and COMCTL32. For more information, see IAccessible Proxies.


logical navigation

One of two IAccessible navigation modes in which a client explores the Microsoft Active Accessibility object hierarchy (next, previous, parent, first child, last child).



Packaging and sending interface parameters across process boundaries.


native implementation

The type of support provided by user interface elements that implement the IAccessible interface.


off-screen model

This model is a database of objects on the screen and includes their properties and their spatial relationships.


The dynamic-link library that provides the Microsoft Active Accessibility run time and manages requests from Microsoft Active Accessibility clients.



Also called a container; an accessible object that corresponds to one or more simple elements; for example, an IAccessible object for a list box is the parent of the list items

placeholder automation element

A UI Automation element that represents a virtualized item in the UI Automation tree. Typically, a placeholder does not have loaded data for all UI Automation properties, and it is required to implement only the VirtualizedItem control pattern.

property-changed event

An event that is triggered when the value of a property has changed. Clients register to receive specific property-changed events, and UI Automation notifies the registered clients when those events occur.

provider interface

A collection of public methods implemented by a UI Automation provider.


See IAccessible proxy.


raw view

The full tree of IUIAutomationElement objects in the UI Automation tree for which the desktop is the root. The raw view closely follows the native programmatic structure of an application and, therefore, is the most accurate view of the UI structure. It is also the base on which the other views of the tree are built.

realized item

A UI item for which full information has been loaded into memory, enabling UI Automation to create an automation element for the item.

run-time identifier

An array of integers that identifies the running instance of a UI Automation element. The identifier is unique within the UI of the desktop on which it was generated.


safe array

A self-describing data type for declaring arrays used in creating COM components. Along with the data, a safe array contains information about the number and bounds of its dimensions.


Defining the extent of the view, starting from a base element.


Any control, module, or applications that uses Microsoft Active Accessibility to expose information about its user interface

server-side provider

A software component that exposes information about a UI element that is based on a UI framework that does not support UI Automation natively. Server-side providers (native providers) communicate with client applications across the process boundary by exposing COM interfaces to the UI Automation core system, which services requests from clients.

simple element

Also known as a Child Element; any user interface element that shares an IAccessible object with other elements and relies on that IAccessible object to expose its properties. For more information, see Simple Elements.

spatial navigation

One of two IAccessible navigation modes in which a client moves from one user interface element to another based on their on-screen positions (up, down, left, right).


Text Services Framework

A scalable system framework that enables natural language services and advanced text input on the desktop and within applications.

text unit

A predefined unit of text (character, word, line, or paragraph) used for navigating through logical segments of a text range.


UI Automation client

An assistive technology application, such as a screen reader, that uses UI Automation to obtain programmatic access to the UI elements in an application user interface. The client presents information about UI elements to the end user. Automated test scripts are also considered to be UI Automation clients.

UI Automation core

A run-time component that implements the UI Automation framework.

UI Automation element

A UI item that is represented by a COM object that implements a UI Automation provider interface and that exposes the IUIAutomationElement interface to UI Automation clients.

UI Automation framework

An integral Windows component that supports programmatic access to most UI elements on the desktop. It enables assistive technology products such as screen readers to provide information about the UI to end users, and to manipulate the UI by means other than standard input. UI Automation also allows automated test scripts to interact with the UI.

UI Automation node

Deprecated. See UI Automation element.

UI Automation provider

An implementation of UI Automation interfaces that exposes programmatic information about a UI element. The provider supplies this information to the UI Automation framework in response to UI Automation client requests.

UI Automation tree

A hierarchical representation of all UI Automation elements on the Windows desktop. The tree consists of a root element that represents the current desktop, and whose child elements represent application Windows. Each of these child elements can contain elements that represent pieces of the UI, such as menus, buttons, toolbars, and list boxes. These elements can contain elements such as list items.

UI framework

A component that manages child controls, hit-testing, and rendering in an area of the screen.


view identifier

A value that identifies a view that is available for a UI Automation element that implements a control pattern. This type of element provides and is able to switch between multiple representations of the same set of information or child controls.

virtualized item

A UI element that is loaded into memory only when it is needed, typically when the element becomes visible on the screen. A virtualized item is represented by a placeholder automation element in the UI Automation tree.


Window Events (WinEvents)

The type of event used to notify clients that an accessible object has changed in some manner.

window-based element

A UI Automation element that represents a UI item that has its own Win32 window handle (HWND).