付録 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 では、使用可能なコントロール パターンとして Invoke、 ExpandCollapse、Toggle も使用 されます。 たとえば、groupbox コントロールには既定のアクションはありません。 ExpandCollapse がサポートされている場合、Active Accessibility Bridge は既定のアクションに使用します。
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 |
イベント
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 テーブル」を参照してください |