W3C アクセス可能なリッチ インターネット アプリケーション仕様の UI オートメーション
Web サイトでは、動的コンテンツと、非同期 JavaScript と XML (AJAX)、DHTML、JavaScript などのテクノロジでサポートされる高度な UI コントロールによってユーティリティが向上します。 ただし、支援技術は、多くの場合、これらの複雑なコントロールと対話したり、動的コンテンツをユーザーに公開したりすることはできません。 アクセシビリティの高いリッチ インターネット アプリケーション (ARIA) は、障褻のあるユーザーがアクセスできるように Web コンテンツとアプリケーションを開発するための W3C 技術仕様です。
ARIA 仕様をサポートするために、Microsoft UI オートメーション仕様を使用すると、開発者は UI オートメーション AriaRole 属性と AriaProperties 属性を W3C ARIA のロールと状態、またはプロパティに関連付けることができます。 これにより、Microsoft Internet Explorer などのユーザー アプリケーションは、ベースライン のアクセシビリティ オブジェクト モデルを維持しながら、UI オートメーションのコンテキストで ARIA オブジェクト モデルをサポートできます。
この付録では、2 つの新しい UI オートメーション プロパティを利用して、W3C 情報を Microsoft Active Accessibility および UI オートメーション仕様にマッピングする方法について説明します。
このトピックには、次のセクションが含まれています。
- Microsoft Active Accessibility と UI オートメーションにマップされた W3C ARIA ロール
- Microsoft Active Accessibility および 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 および 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 (フォーカスを受け取るために指定された子要素のプロパティ) | n/a |
アトミック | n/a | n/a | アトミック |
忙しい | STATE_SYSTEM_BUSY (accState) | n/a | 忙しい |
チャンネル | n/a | n/a | チャンネル |
チェック | STATE_SYSTEM_CHECKED (accState) | ToggleState (コントロール パターン 切り替え) | チェック |
コントロール | n/a | ControllerFor | n/a |
describedby | n/a | DescribedBy | n/a |
無効 | STATE_SYSTEM_UNAVAILABLE (accState) | IsEnabled | 無効 |
dropeffect | n/a | n/a | dropeffect |
拡大 | STATE_SYSTEM_COLLAPSED または STATE_SYSTEM_EXPANDED (accState) | ExpandCollapseState (ExpandCollapse コントロール パターン) | 拡大 |
flowto | n/a | FlowsTo | n/a |
グラブ | n/a | n/a | グラブ |
haspopup | STATE_SYSTEM_HASPOPUP (accState) | n/a | haspopup |
隠れた | STATE_SYSTEM_INVISIBLE (accState) | IsOffscreen | 隠れた |
無効です | n/a | IsDataValidForForm | 無効です |
labelledby | n/a | LabeledBy | n/a |
レベル | accValue | n/a (オートメーション要素ツリー構造で表されます) | レベル |
住む | n/a | n/a | 住む |
multiline | n/a | ドキュメント コントロールの種類 | multiline |
複数選択可能 | STATE_SYSTEM_EXTSELECTABLE (accState) | CanSelectMultiple (Selection コントロール パターン) | 複数選択可能 |
所有 | 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 | 関連した |
必須 | n/a | IsRequiredForForm | 必須 |
秘密 | STATE_SYSTEM_PROTECTED | IsPassword | 秘密 |
入選 | STATE_SYSTEM_SELECTED | IsSelected (SelectionItem コントロール パターン) | 入選 |
setsize | n/a | n/a (オートメーション要素ツリー構造の子カウント) | setsize |
ソート | n/a | n/a | ソート |
tabindex | STATE_SYSTEM_FOCUSABLE | IsKeyboardFocusable | tabindex |
valuemax | n/a | Maximum (RangeValue コントロール パターン) | valuemax |
valuemin | n/a | Minimum (RangeValue コントロール パターン) | valuemin |
valuenow | IAccessible::get_accValue | Value (RangeValue コントロール パターン) | valuenow |
valuetext |
IAccessible::get_accValue 注: valuenow プロパティと valuetext ARIA プロパティの両方が設定されている場合、accValue は ARIA valuetext プロパティのデータを保持します。 |
Value (コントロール パターン 値) 注: valuetext と valuenow の両方が指定されている場合、RangeValue および Value コントロール パターンは UI オートメーションと共存できます。 |
valuetext |
その他の考慮事項
UI オートメーションには、Document オブジェクトへのオブジェクトの埋め込みをサポートする Text コントロール パターンを使用した単純なテキスト オブジェクト モデルも用意されています。 これにより、ユーザー エージェントとクライアント アプリケーションは、エンド ユーザーのシナリオに応じて、Web コンテンツを HTML ドキュメントまたは従来のデスクトップ UI として扱うことができます。