W3C アクセシビリティ対応リッチ インターネット アプリケーション仕様のUI オートメーション
Web サイトは、動的コンテンツと、非同期 JavaScript や XML (AJAX)、DHTML、JavaScript などのテクノロジでサポートされる高度な UI コントロールによってユーティリティを向上させます。 ただし、支援技術は、多くの場合、これらの複雑なコントロールと対話したり、動的コンテンツをユーザーに公開したりすることはできません。 アクセシビリティの高いリッチ インターネット アプリケーション (ARIA) は、障褻のあるユーザーがアクセスできるように Web コンテンツとアプリケーションを開発するための W3C 技術仕様です。
ARIA 仕様をサポートするために、Microsoft UI オートメーション 仕様を使用すると、開発者は UI オートメーション AriaRole 属性と AriaProperties 属性を W3C ARIA のロールと状態、またはプロパティに関連付けることができます。 これは、Microsoft Internet エクスプローラー などのユーザー アプリケーションが、ベースライン アクセシビリティ オブジェクト モデルを維持しながら、UI オートメーションのコンテキストで ARIA オブジェクト モデルをサポートするのに役立ちます。
この付録では、2 つの新しいUI オートメーションプロパティを活用して、W3C 情報を Microsoft Active Accessibility とUI オートメーション仕様にマッピングすることをお勧めします。
このトピックは、次のセクションで構成されています。
- Microsoft Active Accessibility と UI オートメーション にマップされた W3C ARIA ロール
- Microsoft Active Accessibility and UI オートメーションにマップされた W3C ARIA の状態とプロパティ
- その他の考慮事項
Microsoft Active Accessibility と UI オートメーション にマップされた W3C ARIA ロール
W3C ARIA ロールは、Microsoft Active Accessibility ロールまたは UI オートメーション コントロールの種類にマップできます。 UI オートメーションでは、元の W3C ARIA ロールも AriaRole プロパティでサポートされる場合があります。 ユーザー エージェントは、UI オートメーション LocalizedControlType プロパティを使用して W3C ARIA ロールのローカライズされた説明を提供できますが、これは省略可能です。 ローカライズされた文字列が指定されていない場合、システムは既定の LocalizedControlType 文字列を指定します。 ユーザー エージェントは、ARIA W3C 標準で定義されているように、区切り記号としてスペースを使用して AriaRole プロパティにセカンダリ ロールを提供することもできます。
Microsoft Active Accessibility and UI オートメーションにマップされた W3C ARIA の状態とプロパティ
W3C ARIA の状態とプロパティは、さまざまな Microsoft Active Accessibility とUI オートメーションプロパティと関数にマップされます。 ほとんどの ARIA の状態とプロパティは、UI オートメーション AriaProperties プロパティでサポートされています。 例外は、オブジェクト参照を受け取る ARIA プロパティ (describedby ARIA プロパティなど)、およびアクセシビリティ オブジェクト モデルでサポートされている ARIA プロパティです。 たとえば、ARIA activedescendent プロパティは、アクセシビリティ オブジェクト モデルでフォーカスを持つ要素として表されることが想定されています。 ARIA 所有プロパティは、指定時にアクセシビリティ オブジェクト モデルにも反映される必要があります。
AriaProperties は、名前と値のペアのコレクションを持つ文字列プロパティで、区切り記号は等号 (=) とセミコロン (;)、例: "checked=true;disabled=false" です。 これらの区切り文字 (円記号) が値に表示される場合、円記号 (\) はエスケープとして使用されます。 プロバイダー コードは、ドキュメント オブジェクト モデルの元の ARIA プロパティを検証するための検証を追加できますが、必須ではありません。
W3C ARIA の状態とプロパティ | Microsoft Active Accessibility プロパティ | UI オートメーションのプロパティ | UI オートメーション AriaProperties プロパティ |
---|---|---|---|
activedescendent | STATE_SYSTEM_FOCUSED (accState) | HasKeyboardFocus (フォーカスを受け取るために指定された子要素のプロパティ) | 該当なし |
アトミック (atomic) | 該当なし | 該当なし | アトミック (atomic) |
busy (取り込み中) | STATE_SYSTEM_BUSY (accState) | 該当なし | busy (取り込み中) |
channel | N/A | 該当なし | channel |
checked | STATE_SYSTEM_CHECKED (accState) | ToggleState (コントロール パターンの切り替え ) | checked |
controls | N/A | ControllerFor | 該当なし |
describedby | 該当なし | DescribedBy | 該当なし |
disabled | STATE_SYSTEM_UNAVAILABLE (accState) | IsEnabled | disabled |
dropeffect | 該当なし | 該当なし | dropeffect |
拡大 | STATE_SYSTEM_COLLAPSED または STATE_SYSTEM_EXPANDED (accState) | ExpandCollapseState (ExpandCollapse コントロール パターン) | 拡大 |
flowto | N/A | FlowsTo | N/A |
つかむ | 該当なし | N/A | つかむ |
haspopup | STATE_SYSTEM_HASPOPUP (accState) | 該当なし | haspopup |
hidden | STATE_SYSTEM_INVISIBLE (accState) | IsOffscreen | hidden |
無効 | N/A | IsDataValidForForm | 無効 |
labelledby | N/A | LabeledBy | 該当なし |
Level | accValue | n/a (オートメーション要素ツリー構造で表されます) | レベル |
live | N/A | 該当なし | live |
マルチ | N/A | ドキュメント コントロールの種類 | マルチ |
複数選択可能 | STATE_SYSTEM_EXTSELECTABLE (accState) | CanSelectMultiple (選択 コントロール パターン) | 複数選択可能 |
所有 | n/a (アクセス可能なオブジェクト ツリーに反映する必要があります) | n/a (オートメーション要素ツリーに反映する必要があります) | N/A |
Posinset | n/a (アクセス可能なオブジェクト ツリー構造または childId で表されます) | n/a (オートメーション要素ツリー構造で表されます) | posinset |
押さ れた | STATE_SYSTEM_PRESSED | ToggleState (コントロール パターンの切り替え ) | 押さ れた |
readonly | STATE_SYSTEM_READONLY | IsReadOnly | readonly |
関連 | N/A | N/A | 関連 |
必須 | 該当なし | IsRequiredForForm | 必須 |
secret | STATE_SYSTEM_PROTECTED | IsPassword | secret |
オン | STATE_SYSTEM_SELECTED | IsSelected (SelectionItem コントロール パターン) | オン |
setsize | N/A | n/a (オートメーション要素ツリー構造の子カウント) | setsize |
sort | N/A | 該当なし | sort |
Tabindex | STATE_SYSTEM_FOCUSABLE | IsKeyboardFocusable | Tabindex |
valuemax | 該当なし | Maximum (RangeValue コントロール パターン) | valuemax |
valuemin | 該当なし | Minimum (RangeValue コントロール パターン) | valuemin |
valuenow | IAccessible::get_accValue | 値 (RangeValue コントロール パターン) | valuenow |
valuetext |
IAccessible::get_accValue 注: valuenow プロパティと valuetext ARIA プロパティの両方が設定されている場合、accValue は ARIA valuetext プロパティのデータを保持します。 |
値 (値 制御パターン) 注: rangeValue コントロール パターンと Value コントロール パターンは、valuetext と valuenow の両方が指定されている場合、UI オートメーションと共存できます。 |
valuetext |
その他の考慮事項
UI オートメーションには、Document オブジェクト内のオブジェクトの埋め込みをサポートする Text コントロール パターンを使用した単純なテキスト オブジェクト モデルも用意されています。 これにより、ユーザー エージェントとクライアント アプリケーションは、エンド ユーザーのシナリオに応じて、Web コンテンツを HTML ドキュメントまたは従来のデスクトップ UI として扱えます。