This page is likely outdated (last edited on 22 Aug 2008). Visit the new documentation for updated content.

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.