Accessibility: Mapping UIA to ATK

Table of contents

UIA Provider

A page to show the mapping being used between UI Automation and ATK.

For an overview of the architecture see the Architecture page.


UIA Control Types

UIA Control Types overview (MSDN)

UIA Control Type Status Providers ATK Roles Notes
Button Almost finished
(Calvin & Andres)

IInvokeProvider IToggleProvider

ATK_ROLE_PUSH_BUTTON Work is still needed with states and updating FramingRect from UIA.
Calendar Not Started IGridProvider IScrollProvider ISelectionProvider ITableProvider IValueProvider ATK_ROLE_CALENDAR
CheckBox Done (Andres) IToggleProvider ATK_ROLE_CHECK_BOX
ComboBox Almost done (Andres) ATK_ROLE_COMBO_BOX
DataGrid Not Started ATK_ROLE_TABLE
DataItem Not Started
Document Not Started ATK_ROLE_DOCUMENT_FRAME
Edit In progress (Andres) ATK_ROLE_ENTRY
Group In Progress
(Mike)
IExpandCollapseProvider ATK_ROLE_PANEL
Header Not Started
HeaderItem Not Started ATK_ROLE_TABLE_COLUMN_HEADER ATK_ROLE_TABLE_ROW_HEADER
Hyperlink Not Started ATK_ROLE_LINK
Image Not Started ATK_ROLE_IMAGE
List In Progress
(Calvin)
ATK_ROLE_LIST
ListItem Done (Mike) ATK_ROLE_LIST_ITEM
Menu In progress (Andres) ATK_ROLE_MENU We lack the provider yet
MenuBar Not Started ATK_ROLE_MENU_BAR
MenuItem Not Started ATK_ROLE_MENU_ITEM
Pane In Progress
(Calvin)
ITransformProvider IDockProvider ATK_ROLE_PANEL Work is still needed with states and updating FramingRect from UIA.
ProgressBar Not Started ATK_ROLE_PROGRESS_BAR
RadioButton Done (Andres) ATK_ROLE_RADIO_BUTTON
ScrollBar In Progress
(Mike)
IRangeValueProvider ATK_ROLE_SCROLL_BAR
Separator Not Started ATK_ROLE_SEPARATOR
Slider Not Started ATK_ROLE_SLIDER
Spinner Not Started ATK_ROLE_DIAL
SplitButton Not Started
StatusBar Done (Mike) IGridProvider ATK_ROLE_STATUSBAR
Tab Not Started ATK_ROLE_PAGE_TAB_LIST
TabItem Not Started ATK_ROLE_PAGE_TAB
Table Not Started ATK_ROLE_TABLE
Text Not Started ATK_ROLE_TEXT
Thumb Not Started
TitleBar Not Started ATK_ROLE_CAPTION
ToolBar Not Started ATK_ROLE_TOOL_BAR
ToolTip Not Started ATK_ROLE_TOOL_TIP
Tree Not Started ATK_ROLE_TREE
TreeItem Not Started ATK_ROLE_TREE_TABLE
Window In Progress ATK_ROLE_WINDOW


UIA Provider Interfaces

The following is a list of UIA Provider interfaces to be used in the table above.

IExpandCollapseProvider IGridItemProvider IInvokeProvider IMultipleViewProvider IRangeValueProvider IRawElementProviderAdviseEvents IRawElementProviderFragment IRawElementProviderFragmentRoot IRawElementProviderHwndOverride IRawElementProviderSimple IScrollItemProvider IScrollProvider ISelectionItemProvider ISelectionProvider ITableItemProvider ITableProvider ITextProvider ITextRangeProvider ITransformProvider IValueProvider IWindowProvider


See also

Interesting as well are the MWF->UIA mappings and the GTK->Gail->ATK->UIA mappings+candidates.