Control Types and Their Supported Control Patterns

Client applications get information about a control by retrieving general properties through the IUIAutomationElement interface, and by retrieving type-specific properties through the control pattern interfaces that the control supports. This topic lists the Microsoft UI Automation control types and identifies the control patterns that each type supports.

The following table organizes the control patterns into the following categories:

  • Must support. The control must support this control pattern.
  • Conditional support. The control may support this control pattern depending on the state of the control.
  • Does not support. The control does not support this control pattern; however, a customized version of the control may support this control pattern.

Some controls have conditional support for several control patterns, depending on the functionality of the control. For example, the menu item control has conditional support for the Invoke, ExpandCollapse, Toggle, or SelectionItem control pattern, depending on its function in the menu control.

Control type Must support Conditional support Does not support
AppBar ExpandCollapse, Toggle None Invoke
Button None ExpandCollapse, Invoke, Toggle None
Calendar Grid, Table Scroll, Selection Value
CheckBox Toggle None None
ComboBox ExpandCollapse Selection, Value Scroll
DataGrid Grid Scroll, Selection, Table None
DataItem SelectionItem CustomNavigation, ExpandCollapse, GridItem, ScrollItem, TableItem, Toggle, Value None
Document Text Scroll, Value None
Edit None RangeValue, Text, Value None
Group None ExpandCollapse None
Header None Transform None
HeaderItem None CustomNavigation, Invoke, Transform None
Hyperlink Invoke Value None
Image None GridItem, TableItem Invoke, SelectionItem
List None Grid, MultipleView, Scroll, Selection Table
ListItem SelectionItem CustomNavigation, ExpandCollapse, GridItem, Invoke, ScrollItem, Toggle, Value None
Menu None None None
MenuBar None Dock, ExpandCollapse, Transform None
MenuItem None ExpandCollapse, Invoke, SelectionItem, Toggle None
Pane None Dock, Scroll, Transform Window
ProgressBar None RangeValue, Value None
RadioButton SelectionItem None Toggle
ScrollBar None RangeValue Scroll
SemanticZoom Toggle None None
Separator None None None
Slider None RangeValue, Selection, Value None
Spinner None RangeValue, Selection, Value None
SplitButton ExpandCollapse, Invoke None None
StatusBar None Grid None
Tab Selection Scroll None
TabItem SelectionItem None Invoke
Table Grid, GridItem, Table, TableItem None None
Text None GridItem, TableItem, Text Value
Thumb Transform None None
TitleBar None None None
ToolBar None Dock, ExpandCollapse, Transform None
ToolTip None Text, Window None
Tree None Scroll, Selection None
TreeItem ExpandCollapse Invoke, ScrollItem, SelectionItem, Toggle None
Window Transform, Window Dock None


UI Automation Control Patterns Overview

UI Automation Control Types Overview