Share via


付録 G: UI オートメーションへのアクティブなアクセシビリティ ブリッジ

この付録には、Microsoft Active Accessibility Bridge に関する情報が含まれています。 Active Accessibility Bridge を使用すると、Microsoft Active Accessibility を実装するアプリケーションは、Microsoft UI オートメーションを実装するアプリケーションにアクセスできます。 Microsoft Active Accessibility とUI オートメーションを一緒にブリッジすることで、Windows XP 上のスクリーン リーダーなどの Microsoft Active Accessibility ベースのクライアントは、Windows Presentation Foundation (WPF) などのUI オートメーションUI オートメーションベースのプロバイダーとプログラムで対話できます。アプリケーション。 これは、UI オートメーション Native Core API (UIAutomationCore.dll) の一部です。

Active Accessibility Bridge は、UI オートメーションプロパティとイベントを Microsoft Active Accessibility のプロパティとイベントにマップします。 次の表は、Microsoft Active Accessibility IAccessible インターフェイスのメソッドとプロパティをUI オートメーションにマップします。 これらの表を使用して、Microsoft Active Accessibility ベースのクライアントを開発するための適切なコーディングプラクティスを決定します。

IAccessible プロパティ UI オートメーションのプロパティ
get_accChild 未実装
get_accChildCount ツリーから派生UI オートメーション
get_accParent ツリーから派生UI オートメーション
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) と一致します。 Value 項目は文字列を使用します。
put_accValue ValueProperty; Value コントロール パターンまたは RangeValue コントロール パターンをサポートするコントロール型でサポートされます
get_accHelp HelpTextProperty
get_accDescription 未実装
get_accHelpTopic 未実装

 

コントロールの型と accRole

Microsoft Active Accessibility の既定のロールは ROLE_SYSTEM_CLIENT。 コントロールの種類に対して既定のアクションが見つからない場合、Active Accessibility Bridge では、使用可能なコントロール パターンとして InvokeExpandCollapse、Toggle も使用 されます。 たとえば、groupbox コントロールには既定のアクションはありません。 ExpandCollapse がサポートされている場合、Active Accessibility Bridge は既定のアクションに使用します。

UI オートメーション コントロール型 accRole 既定の動作
Button 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 なし
Document ROLE_SYSTEM_DOCUMENT なし
編集 ROLE_SYSTEM_TEXT なし
グループ ROLE_SYSTEM_GROUPING なし
Header ROLE_SYSTEM_LIST なし
HeaderItem ROLE_SYSTEM_COLUMNHEADER Click
ハイパーリンク ROLE_SYSTEM_LINK ジャンプ (呼び出しにマップ)
イメージ ROLE_SYSTEM_GRAPHIC なし
リスト ROLE_SYSTEM_LIST なし
ListItem ROLE_SYSTEM_LISTITEM ダブルクリック
Menu 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 なし
Slider ROLE_SYSTEM_SLIDER なし
Spinner ROLE_SYSTEM_SPINBUTTON なし
SplitButton ROLE_SYSTEM_SPLITBUTTON なし
StatusBar ROLE_SYSTEM_STATUSBAR なし
タブ ROLE_SYSTEM_PAGETABLIST なし
TabItem ROLE_SYSTEM_PAGETAB Switch
Table ROLE_SYSTEM_TABLE なし
[テキスト] ROLE_SYSTEM_STATICTEXT なし
つまみ ROLE_SYSTEM_INDICATOR なし
TitleBar ROLE_SYSTEM_TITLEBAR なし
ToolBar ROLE_SYSTEM_TOOLBAR なし
ToolTip ROLE_SYSTEM_TOOLTIP なし
ツリー ROLE_SYSTEM_OUTLINE なし
TreeItem ROLE_SYSTEM_OUTLINEITEM 展開または折りたたみ
ウィンドウ ROLE_SYSTEM_WINDOW なし

 

UI オートメーションのプロパティと accState

accState UI オートメーションのプロパティ トリガーの状態の変更
STATE_SYSTEM_CHECKED ControlType = "チェックボックス" の場合は、ToggleState.On を使用します。 "radiobutton" の場合は、SelectionItemPattern::IsSelected を使用します はい
STATE_SYSTEM_FOCUSABLE IsKeyboardFocusableProperty いいえ
STATE_SYSTEM_FOCUSED HasKeyboardFocusProperty いいえ
STATE_SYSTEM_PROTECTED IsPasswordProperty いいえ
STATE_SYSTEM_READONLY IsReadOnlyProperty (値コントロール パターンと RangeValue コントロール パターン) いいえ
STATE_SYSTEM_UNAVAILABLE IsEnabledProperty はい
STATE_SYSTEM_LINKED ControlTypeProperty = "hyperlink" いいえ
STATE_SYSTEM_SELECTABLE SelectionItemPattern はサポートされています いいえ
STATE_SYSTEM_SELECTED IsSelectedProperty (SelectionItem コントロール パターン) いいえ
STATE_SYSTEM_COLLAPSED ExpandCollapseState = Collapsed はい
STATE_SYSTEM_EXPANDED ExpandCollapseState = Expanded または PartiallyExpanded はい
STATE_SYSTEM_HASPOPUP 展開/折りたたみをサポートするメニュー項目 いいえ
STATE_SYSTEM_MIXED ToggleState = Indeterminate いいえ
STATE_SYSTEM_SIZEABLE IUIAutomationTransformPattern::CanResize いいえ
STATE_SYSTEM_MOVEABLE IUIAutomationTransformPattern::CanMove いいえ
STATE_SYSTEM_MULTISELECTABLE IUIAutomationSelectionPattern::CanSelectMultiple いいえ

 

選択とフォーカス

Iaccessible UI オートメーション
get_accFocus IUIAutomation::FocusedElement
accSelect 詳細については、「UI オートメーションのプロパティ」および「accSelect SELFLAG」の表を参照してください。
get_accSelection SelectionPattern::GetSelection

 

UI オートメーションプロパティと 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 (Value コントロール パターンと RangeValue コントロール パターン)
EVENT_OBJECT_SELECTION ElementSelectedEvent (SelectionItem コントロール パターン)
EVENT_OBJECT_SELECTIONADD ElementAddedToSelectionEvent (SelectionItem コントロール パターン)
EVENT_OBJECT_SELECTIONREMOVE ElementRemovedFromSelectionEvent
EVENT_OBJECT_SELECTIONWITHIN EventsSelectionInvalidatedEvent
EVENT_OBJECT_STATECHANGE 状態の変更をトリガーする状態については、「UI オートメーションプロパティと accState テーブル」を参照してください