共用方式為


附錄 G:消費者介面自動化的作用中協助工具橋接器

本附錄包含 Microsoft Active Accessibility Bridge 的相關資訊。 Active Accessibility Bridge 可讓實作 Microsoft Active Accessibility 的應用程式存取實作 Microsoft 消費者介面自動化的應用程式。 藉由將 Microsoft Active Accessibility 和 消費者介面自動化橋接在一起,Microsoft Active Accessibility 型用戶端,例如 Windows XP 上的 screenreader,可以程式設計方式與消費者介面自動化消費者介面自動化型提供者互動,例如Windows Presentation Foundation (WPF) 應用程式。 它是 消費者介面自動化 Native Core API (UIAutomationCore.dll) 的一部分。

Active Accessibility Bridge 會將消費者介面自動化屬性和事件對應至 Microsoft Active Accessibility 的屬性和事件。 下表會將 Microsoft Active Accessibility IAccessible介面方法和屬性對應至消費者介面自動化。 使用這些資料表來判斷開發 Microsoft Active Accessibility 型用戶端的適當程式碼撰寫做法。

IAccessible 屬性 UI 自動化屬性
get_accChild 未實作
get_accChildCount 衍生自消費者介面自動化樹狀結構
get_accParent 衍生自消費者介面自動化樹狀結構
accNavigate 未實作

 

描述性屬性和方法

IAccessible UI 自動化
accDoDefaultAction 如需詳細資訊,請參閱控制項類型和 accRole 資料表。
get_accDefaultAction 如需詳細資訊,請參閱控制項類型和 accRole 資料表。
get_accKeyboardShortcut AccessKeyPropertyor AcceleratorKeyProperty;如果兩者都存在,則 AccessKeyProperty 優先。
get_accName NameProperty
get_accRole ControlTypeProperty。 如需詳細資訊,請參閱控制項類型和 accRole 資料表。
get_accState 如需詳細資訊,請參閱控制項類型和 accRole 資料表。
get_accValue ValueProperty;支援 Value 控制項模式或 RangeValue 控制項模式控制項模式控制項模式的控制項類型。 RangeValue 值與 Microsoft Active Accessibility 行為一致, (0 到 100) 。 值項目使用字串。
put_accValue ValueProperty;支援 Value 控制項模式或 RangeValue 控制項模式的控制項類型支援
get_accHelp HelpTextProperty
get_accDescription 未實作
get_accHelpTopic 未實作

 

控制項類型和 accRole

Microsoft Active Accessibility 預設角色是 ROLE_SYSTEM_CLIENT。 如果找不到控制項類型的預設動作,Active Accessibility Bridge 也會使用下列可用的控制項模式: InvokeExpandCollapseToggle。 例如,groupbox 控制項沒有預設動作。 如果它支援 ExpandCollapse,則 Active Accessibility Bridge 會將它用於預設動作。

UI 自動化控制項類型 accRole 預設動作
按鈕 ROLE_SYSTEM_PUSHBUTTON 按鍵
Calendar ROLE_SYSTEM_CLIENT
CheckBox ROLE_SYSTEM_CHECKBUTTON 核取/取消核取 (切換)
ComboBox ROLE_SYSTEM_COMBOBOX
Custom ROLE_SYSTEM_CLIENT
DataGrid ROLE_SYSTEM_LIST
DataItem ROLE_SYSTEM_LISTITEM
文件 ROLE_SYSTEM_DOCUMENT
編輯 ROLE_SYSTEM_TEXT
群組 ROLE_SYSTEM_GROUPING
標頭 ROLE_SYSTEM_LIST
HeaderItem ROLE_SYSTEM_COLUMNHEADER 按一下
超連結 ROLE_SYSTEM_LINK 跳 (對應至 Invoke)
映像 ROLE_SYSTEM_GRAPHIC
清單 ROLE_SYSTEM_LIST
ListItem ROLE_SYSTEM_LISTITEM 按兩下
功能表 ROLE_SYSTEM_MENUPOPUP
MenuBar ROLE_SYSTEM_MENUBAR
MenuItem ROLE_SYSTEM_MENUITEM 針對具有子系的功能表項目執行或開啟/關閉。
窗格 ROLE_SYSTEM_PANE
ProgressBar ROLE_SYSTEM_PROGRESSBAR
RadioButton ROLE_SYSTEM_RADIOBUTTON 勾選
ScrollBar ROLE_SYSTEM_SCROLLBAR
滑桿 ROLE_SYSTEM_SLIDER
Spinner ROLE_SYSTEM_SPINBUTTON
SplitButton ROLE_SYSTEM_SPLITBUTTON
StatusBar ROLE_SYSTEM_STATUSBAR
Tab ROLE_SYSTEM_PAGETABLIST
TabItem ROLE_SYSTEM_PAGETAB Switch
Table ROLE_SYSTEM_TABLE
Text ROLE_SYSTEM_STATICTEXT
Thumb ROLE_SYSTEM_INDICATOR
標題列 ROLE_SYSTEM_TITLEBAR
ToolBar ROLE_SYSTEM_TOOLBAR
ToolTip ROLE_SYSTEM_TOOLTIP
樹狀結構 ROLE_SYSTEM_OUTLINE
TreeItem ROLE_SYSTEM_OUTLINEITEM 展開或折迭
Window ROLE_SYSTEM_WINDOW

 

消費者介面自動化屬性和 accState

accState UI 自動化屬性 觸發程式狀態變更
STATE_SYSTEM_CHECKED 針對 ControlType = 「checkbox」,請使用 ToggleState.On。 若為 「radiobutton」,請使用SelectionItemPattern::IsSelected Yes
STATE_SYSTEM_FOCUSABLE IsKeyboardFocusableProperty No
STATE_SYSTEM_FOCUSED HasKeyboardFocusProperty No
STATE_SYSTEM_PROTECTED IsPasswordProperty No
STATE_SYSTEM_READONLY IsReadOnlyProperty (Value 控制項模式和 RangeValue 控制項模式) No
STATE_SYSTEM_UNAVAILABLE IsEnabledProperty Yes
STATE_SYSTEM_LINKED ControlTypeProperty = 「hyperlink」 No
STATE_SYSTEM_SELECTABLE 支援 SelectionItemPattern No
STATE_SYSTEM_SELECTED IsSelectedProperty (SelectionItem 控制項模式) No
STATE_SYSTEM_COLLAPSED ExpandCollapseState = Collapsed Yes
STATE_SYSTEM_EXPANDED ExpandCollapseState = Expand 或 PartiallyExpanded Yes
STATE_SYSTEM_HASPOPUP 支援展開/折迭的功能表項目 No
STATE_SYSTEM_MIXED ToggleState = 不確定 No
STATE_SYSTEM_SIZEABLE IUIAutomationTransformPattern::CanResize No
STATE_SYSTEM_MOVEABLE IUIAutomationTransformPattern::CanMove No
STATE_SYSTEM_MULTISELECTABLE IUIAutomationSelectionPattern::CanSelectMultiple No

 

選取範圍和焦點

IAccessible UI 自動化
get_accFocus IUIAutomation::FocusedElement
accSelect 如需詳細資訊,請參閱 消費者介面自動化 Properties and accSelect SELFLAG 資料表。
get_accSelection SelectionPattern::GetSelection

 

消費者介面自動化屬性和 accSelect SELFLAG

accSelect SELFLAG UI 自動化屬性
SELFLAG_NONE 尚未提供
SELFLAG_TAKFOCUS IUIAutomationElement::SetFocus
SELFLAG_TAKESELECTION IUIAutomationSelectionItemPattern::Select
SELFLAG_ADDSELECTION IUIAutomationSelectionItemPattern::AddToSelection
SELFLAG_TAKEREMOVESELECTION IUIAutomationSelectionItemPattern::RemoveFromSelection
SELFLAG_EXTENDSELECTION 尚未提供

 

空間對應

IAccessible UI 自動化
accLocation BoundingRectangleProperty
accHitTest IRawElementProviderFragmentRoot::ElementProviderFromPoint

 

事件

System-Level事件常數 UI 自動化
EVENT_SYSTEM_MENUPOPUPSTART UIA_MenuOpenedEventId (注意:必須檢查這是否為快顯視窗。)
EVENT_SYSTEM_MENUPOPUPEND UIA_MenuClosedEventId
EVENT_SYSTEM_MENUSTART UIA_MenuModeStartEventId
EVENT_SYSTEM_MENUEND UIA_MenuModeEndEventId
EVENT_SYSTEM_SOUND
EVENT_SYSTEM_ALERT
EVENT_SYSTEM_CAPTURESTART
EVENT_SYSTEM_CAPTUREEND
EVENT_SYSTEM_DIALOGSTART
EVENT_SYSTEM_DIALOGEND
EVENT_SYSTEM_MOVESIZESTART
EVENT_SYSTEM_MOVESIZEEND
EVENT_SYSTEM_CONTEXTHELPSTART
EVENT_SYSTEM_CONTEXTHELPEND 不相關
EVENT_SYSTEM_DRAGDROPSTART
EVENT_SYSTEM_DRAGDROPEND
EVENT_SYSTEM_SWITCHSTART 不相關
EVENT_SYSTEM_SWITCHEND 不相關
EVENT_SYSTEM_MINIMIZESTART
EVENT_SYSTEM_MINIMIZEEND
EVENT_SYSTEM_FOREGROUND
EVENT_SYSTEM_SCROLLINGSTART 尚未提供
EVENT_SYSTEM_SCROLLINGEND 尚未提供

 

Object-Level事件常數 UI 自動化
EVENT_OBJECT_FOCUS AutomationFocusChangedEvent
EVENT_OBJECT_VALUECHANGE ValueProperty (實值控制項模式和 RangeValue 控制項模式)
EVENT_OBJECT_SELECTION ElementSelectedEvent (SelectionItem 控制項模式)
EVENT_OBJECT_SELECTIONADD ElementAddedToSelectionEvent (SelectionItem 控制項模式)
EVENT_OBJECT_SELECTIONREMOVE ElementRemovedFromSelectionEvent
EVENT_OBJECT_SELECTIONWITHIN EventsSelectionInvalidatedEvent
EVENT_OBJECT_STATECHANGE 如需觸發狀態變更的狀態,請參閱消費者介面自動化 Properties 和 accState 資料表