UI Automation Control Types Overview
Microsoft UI Automation control types are properties that serve as well-known identifiers that indicate the kind of control that a particular UI element represents, such as a combo box or a button. Client applications use the type to identify the capabilities of a control and to determine how to interact with it.
This topic contains the following sections:
- UI Automation Control Type Requisites
- The LocalizedControlType Property
- Current UI Automation Control Types
- Related topics
UI Automation Control Type Requisites
Each UI Automation control type has a set of conditions associated with it. When a provider assigns a control type to a control, the provider must ensure that the control meets all of the conditions associated with that control type. The conditions include the following:
- UI Automation control patterns: Each control type has a set of control patterns that the control must support, a set that is optional, and a set that the control must not support.
- UI Automation property values: Each control type has a set of properties that the control must support.
- UI Automation events: Each control type has a set of events that the control must support.
- UI Automation tree structure: Each control type defines how the control must appear in the UI Automation tree structure.
When a control meets the conditions for a particular control type, the IUIAutomationElement::CurrentControlType (or IUIAutomationElement::CachedControlType) property value will indicate that control type.
If your control does not meet the specifications for a particular control type, use UIA_CustomControlTypeId as the control type ID, and completely describe the control by using the relevant control patterns and properties. You can also set the UIA_LocalizedControlTypePropertyId property to a string that best describes the type of your control.
The LocalizedControlType Property
If you use a predefined control type to describe your control, use the default value for the UIA_LocalizedControlTypePropertyId property and allow UI Automation to provide a localized string for providers to expose properly. If you cannot use a predefined control type to describe your control, set the UIA_LocalizedControlTypePropertyId property to a localized string that accurately describes the type of your control. The string should be concise, yet accurate enough that an assistive technology such as a screen reader can use it in the UI to inform the user of the control's type.
Current UI Automation Control Types
The following topics describe the UI Automation control types. For each control type, the description includes the set of conditions that a control of the given type must support:
- AppBar Control Type
- Button Control Type
- Calendar Control Type
- CheckBox Control Type
- ComboBox Control Type
- DataGrid Control Type
- DataItem Control Type
- Document Control Type
- Edit Control Type
- Group Control Type
- Header Control Type
- HeaderItem Control Type
- Hyperlink Control Type
- Image Control Type
- List Control Type
- ListItem Control Type
- Menu Control Type
- MenuBar Control Type
- MenuItem Control Type
- Pane Control Type
- ProgressBar Control Type
- RadioButton Control Type
- ScrollBar Control Type
- SemanticZoom Control Type
- Separator Control Type
- Slider Control Type
- Spinner Control Type
- SplitButton Control Type
- StatusBar Control Type
- Tab Control Type
- TabItem Control Type
- Table Control Type
- Text Control Type
- Thumb Control Type
- TitleBar Control Type
- ToolBar Control Type
- ToolTip Control Type
- Tree Control Type
- TreeItem Control Type
- Window Control Type
Related topics
-
Reference
-
Conceptual