1. 導入

この章は参考情報である。

この仕様の目的は以下を含む:

WAI-ARIAは、ウェブコンテンツおよびアプリケーションのアクセシビリティーと相互運用性を改良するためのフレームワークを提供する技術仕様である。この文書は、カスタムウィジェットやその他のウェブアプリケーションコンポーネントを作成する開発者を主に対象とする。WAI-ARIAが解決しようとするアクセシビリティーの問題を開発者に紹介するWAI-ARIA入門書のような、他の観客、基本的概念およびWAI-ARIAの技術的アプローチのための関連文書へのリンクは、WAI-ARIA Overviewを参照されたい。

このドラフトは、ロールの2つの側面、ユーザーインターフェイスの機能と構造の関係を目下処理する。詳細と使用例のための、インタラクティブコンテンツをアクセシブルにするロールの使用法については、WAI-ARIA入門書[ARIA-PRIMER] を参照のこと。

ロールのタクソノミーは、プラットフォームのアクセシビリティーAPIに見られる共通のロールをサポートするために、ある程度設計されている。動的なウェブコンテンツによって、このタクソノミーで見つかったロールへの参照は、支援技術との相互運用性をサポートするために使用してもよい。

この規格をサポートするためのスキーマは拡張可能であるように設計されているため、カスタムロールは基本ロールを拡張することによって作成できる。これは、ユーザーエージェントが少なくとも基本ロールをサポートすることを可能にし、かつカスタムロールをサポートするユーザーエージェントは、強化されたアクセスを提供できる。この多くは、XMLスキーマで形式化されうることに注意すること[XSD]。しかし、baseConceptsおよびより記述的な定義のような、ロール間の類似性を定義できるということは、XSDで利用できないだろう。

1.1. リッチ・インターネット・アプリケーション・アクセシビリティー

ウェブアクセシビリティーの分野は、障害をもつ人にとってどのようにすればウェブコンテンツを利用可能にするかを定義する。ある種の障害をもつ人は、コンテンツを情報交換するために支援技術AT)を使用する。支援技術は、ユーザーに対してより適したフォーマットにコンテンツの体裁を変換することができ、ユーザーがさまざまな方法で情報交換することを可能にする。たとえば、ユーザーはマウスをドラッグやドロップする代わりに、矢印キーでスライダウィジェットと情報交換する必要または選択するかもしれない。効果的にこれを達成するために、ソフトウェアはコンテンツのセマンティックスを理解する必要がある。セマンティックスは意味の科学である。この場合、人間が理解するだろうユーザーインターフェイスとコンテンツ要素に適用するロール、ステート、およびプロパティを割り当てるために使用される。たとえば、ある段落が段落のようにセマンティックに識別される場合、支援技術は、その段落の正確な境界線を知ると、コンテンツの残りの部分から分けられる構成単位として情報交換できる。調整可能な範囲スライダまたは折りたたみ可能リスト(別名ツリーウィジェット)は、ウィジェットのさまざまな部分が、効果的なふれ合いをサポートするために支援技術に対して適切に識別される必要があるセマンティックスを持つ、より複雑な例である。

新しい技術は、アクセシビリティーに必要なセマンティックスをしばしば見落とし、しかも新しいオーサリング手法は、これらの技術の意図するセマンティックスをたびたび誤用する。言語において定義された意味を持つ要素が、ユーザーによって理解されるべきものとは異なる意味で使われている。

たとえば、ウェブアプリケーション開発者は、HTMLがセマンティックにtree要素を持たないにもかかわらず、CSSおよびJavaScriptを使用してHTMLで折りたたみ可能なツリーウィジェットを作成する。障害のないユーザーにとって、これは折りたたみ可能なツリーウィジェットのように見えてかつ動作するかもしれないが、適切なセマンティックスをもたず、支援技術がロールを認識しないかもしれないため、ツリーウィジェットは、障害をもつ人によって知覚可能または操作可能でないかもしれない。

WAI-ARIAの取り込みは、ウィジェットのアクセシビリティー、ユーザビリティー、および支援技術との相互運用性を整備するために、開発者がカスタムウィジェットに適切なセマンティックスを提供できる方法の一つである。この仕様は、コンテンツに付けられるロールオントロジーを提供することによって、アクセシビリティー製品が一般に認識するウィジェットおよび構造のタイプを識別する。これは、与えられたロールをもつ要素が、実装するホスト言語から継承された任意のセマンティックに関係なく、特定のウィジェットまたは構造タイプとして理解できる。ロールは、支援技術が有効な見栄えと対話をユーザーに提供するために使用する、プラットフォームのアクセシビリティーAPIの共通のプロパティである。

このロールタクソノミーは、文書構造を示すインタラクションウィジェットおよび要素を含む。ロールタクソノミーは、継承および各ロールがサポートする属性の詳細を説明する。アクセシビリティーAPIに対するロールの対応付けに関する情報は、WAI-ARIAユーザーエージェント実装ガイド [ARIA-IMPLEMENTATION]によって提供される。

ロールは要素タイプであり、時間またはユーザーアクションとともに変化しない。ロール情報は、指定された要素タイプの通常の処理を提供するために、ユーザーエージェントとの情報交換を経由して、支援技術によって使用される。

ステートおよびプロパティは、対話に影響および説明する要素の重要な属性を宣言するために使用される。属性がクライアントサイドのスクリプトによって動的に変更される場合でも、ステートおよびプロパティはユーザーエージェントおよびオペレーティングシステムに適切に要素を処理することを可能にする。たとえば、スクリーンリーダーや音声ディクテーションソフトウェアなどの代替入出力技術は、ユーザーに様々な情報交換の状態(無効、チェックなど)を認識し、効果的に操作され、通信できるようにする必要がある。

支援技術が文書オブジェクトモデル [DOM]を介してこれらのプロパティに直接アクセスすることは可能である一方、ユーザーエージェントにとって好ましいメカニズムは、オペレーティングシステムのアクセシビリティーAPIに対してステートおよびプロパティを対応づけることである。詳細についてはWAI-ARIAユーザーエージェント実装ガイド [ARIA-IMPLEMENTATION]を参照のこと。

図1は、ユーザーエージェント(ブラウザーなど)、アクセシビリティーAPI、および支援技術との関係を示している。図は、GUIのための多くのアクセシブルなプラットフォームに対するアクセシビリティーAPIに見られる典型的なアクセシビリティー情報(ロール、ステート、選択、イベント通知、関係情報、および説明)を含む、ユーザーエージェントによって支援技術に提供される"規約"を説明する。通常HTMLであるDOMは、データモデルおよび典型的なモデル - ビュー - コントローラ関係でビューとして機能し、そしてJavaScriptは、表示されたデータのスタイルおよびコンテンツを操作することでコントローラーとして機能する。ユーザーエージェントは、スクリーンリーダーなどの任意の支援技術によって使用できる、オペレーティングシステムのアクセシビリティーAPIに関連する情報を伝える。

The contract model with accessibility APIs

図1:アクセシビリティーAPIをもつ規約モデル

インタラクティブなコンテンツをアクセシブルにするためのロールの使用方法について詳細は、WAI-ARIA Primer [ARIA-PRIMER]を参照のこと。

文書に加えて、ロールタクソノミーは、リソース記述フレームワーク [RDF]で表現されるウェブオントロジー言語 [OWL]で提供される。ツールは、指定したコンテンツ文書でロールの実装を検証するためにこれらを使用できる。たとえば、いくつかのロールのインスタンスは、特定の親ロールの子となることが期待される。また、いくつかのロールは、別のロールがサポートしない特定のステートまたはプロパティをサポートするかもしれない。

注:将来の拡張性をサポートするためにRDF/OWLをロールの正式な表現として使用するかもしれない。標準RDF/OWLのメカニズムは、この仕様で定義されたロールから継承する新しいロールを定義するために使用することができる。ただし、相互運用可能な方法でロールの拡張を定義しかつ使用するためのメカニズムは、この仕様で定義されない。将来のWAI-ARIAのバージョンは、ロールを拡張するための方法を定義することが期待される。

代替入力デバイスのユーザーは、キーボードアクセシブルコンテンツを必要とする。WAI-ARIA オーサリングプラクティス [ARIA-PRACTICES]で提供される推奨キーボード情報交換と組み合わされる場合、新しいセマンティックスは、代替入力ソリューションが代替入力ソリューションを通してコマンドおよびコントロールを容易にする。

WAI-ARIAは、改良されたキーボードナビゲーションを提供することによって、運動機能および視力障害をもつ人を助けることができる、ランドマークのタクソノミーおよびXHTMLロールランドマークを通じてナビゲーションランドマークを導入する。WAI-ARIAはまた、認知学習障害をもつ人を支援するために使用されるかもしれない。追加のセマンティックスは、必要に応じて著者が代替コンテンツを再構築および代用できる。

支援技術は、ウィジェットのステートおよびプロパティの現在値を取得および設定することにより、代替入力をサポートする機能を必要とする。支援技術はまた、どのオブジェクトがリストボックスやグリッドなど複数の選択を許可するウィジェットを選択されて管理するかを判断する必要がある。

音声ベースのコマンドおよび制御システムは、ユーザーに音声情報を伝達するのに役立つrole属性のような、WAI-ARIAセマンティックスの恩恵を受けることができる。たとえば、要素がmenuのロールおよびそれぞれ異なる風味を表すテキストコンテンツを含むロールmenuitemを持つ3つの要素を含むもので決定されることによって、音声システムは「次の3つの選択肢のいずれかを選択してください。チョコレート、ストロベリー、バニラ。」とユーザーに言うかもしれない。

WAI-ARIAは、ネイティヴ言語のセマンティックスに対する代替としてでなく、補足として使用されることを意図する。ホスト言語がWAI-ARIAの機能に相当するアクセシビリティーを提供して機能を提供する場合、ホスト言語の機能を使用する。WAI-ARIAは、ホスト言語が必要なロールステート、およびプロパティインジケーターを欠いている場合にのみ使用すべきである。WAI-ARIAの機能にできるだけ類似したホスト言語の機能を使用し、WAI-ARIAを追加することで意味を洗練する。たとえば、選択可能なマルチグリッドはテーブルとして実装することできるかもしれず、その上WAI-ARIAは、単なる静的なデータテーブルでなく、対話型グリッドであることを明確にするために使用する。これは、WAI-ARIAをサポートしないユーザーエージェントのために可能な限り最良のフォールバックを可能にし、ホスト言語のセマンティックスの完全性を維持する。

1.2. 対象読者

この仕様は、ロール、ステート、プロパティ、および値を含む、WAI-ARIAのための基本的なモデルを定義する。この仕様が影響を与える複数の読者は次の通り:

  • WAI-ARIAの機能を含むコンテンツを処理するユーザーエージェント
  • 障害をもつユーザーに特別な方法でコンテンツを提示する支援技術
  • コンテンツを作成する著者。
  • 著者が適合コンテンツを作成するをの助けるオーサリングツール。そして
  • WAI-ARIAの適切な使用を確認する適合性チェッカー。

各適合性要件は、要件が適用される読者を示す。

この仕様は上記の読者に適用可能ではあるが、これは特に対象を定めるものではなく、上記の読者のいずれかのための独占的な情報源であることを意図しない。以下の文書が重要なサポート情報を提供する:

1.3. ユーザーエージェントのサポート

2つの方法で、WAI-ARIAはその機能のためのユーザーエージェントのサポートに依存する:

アクセシビリティーAPIに公開されるものを改善するために、WAI-ARIAマークアップを使用することは別として、ユーザーエージェントはAPIがネイティヴとして振る舞う。支援技術が非ウェブコンテンツで同じ情報に対してすでに行うように、支援技術はアクセシビリティーAPIの追加情報に反応する。しかし、支援技術がないユーザーエージェントは、アクセシビリティーAPIへの適切な更新を提供するよりほかは何もしない必要がある。

WAI-ARIA仕様は、ユーザーエージェントにWAI-ARIAマークアップに基づくネイティヴプレゼンテーションおよび情報交換の動作を強化することを、要求も禁止もしない。メインストリームのユーザーエージェントは、すべてのユーザーのためのナビゲーションを容易にするための意図とともに(たとえば、ダイアログボックスとして、またはキーボードコマンドを通して)、WAI-ARIAナビゲーションランドマークを公開するかもしれない。ユーザーエージェントは、障害を持たないユーザーを含めて、ユーザーにその有用性を最大にすることを推奨する。

著者の意図が支援技術に伝達されるように、WAI-ARIAは欠落しているセマンティックスを提供することを目的とする。一般に、WAI-ARIAを用いる著者は、適切な体裁と情報交換機能を提供するだろう。時間とともに、ホスト言語は、新しいフォームコントロールように、ユーザーエージェントによって標準的なアクセシブルユーザーインターフェイスコントロールとして実装される、WAI-ARIA等価物を追加するかもしれない。これは、著者がユーザーインターフェイスコンポーネントを有効にしたカスタムWAI-ARIAをそれらの代わりに使用できる。この場合、ユーザーエージェントは、ネイティヴホスト言語の機能をサポートする。ホスト言語の機能が著者のニーズを満たすのに不十分である場合、WAI-ARIAのセマンティックスがより明確に作者の意図を反映するように、それらは暗黙のホスト言語のセマンティックスに有害に競合しない際、WAI-ARIAを実装するホスト言語の開発者は、WAI-ARIAのセマンティックスをサポートし続けるように忠告する。

1.4. WAI-ARIAとホスト言語の相互進化

WAI-ARIAは、HTMLSVGなどの言語をサポートするものの中でセマンティックスを補強するためのもの、または明示的にARIAのサポートを含まない他のマークアップベースの言語で、アクセシビリティー拡張技術として使用される。オブジェクトの新しい種類の発明はウェブ言語で表示する標準化されたサポートよりも高速であるため、スタイルやスクリプト経由で、ページの言語でまだ直接サポートされない、著者がオブジェクトの新しい種類を作成する際、WAI-ARIAは支援技術にセマンティックスを明確にする。

ホスト言語がオブジェクトのその種類にセマンティック要素を提供する場合、スタイルおよびスクリプトをもつオブジェクトを作成することは適切ではない。WAI-ARIAは、これらのオブジェクトのアクセシビリティーを向上させることができる一方で、アクセシビリティーは、ユーザーエージェントがネイティヴにオブジェクトを処理できるようにすることによって提供される最良のものである。たとえば、div要素にheadingロールを使用するよりも、HTMLのh1要素を使用するほうがよい。

時間とともに、ホスト言語は、今のところWAI-ARIAを使ってのみ宣言できるオブジェクトのセマンティックスを提供するために進化していくことが予想される。WAI-ARIAの1つの目標はよりセマンティックかつアクセシブルなマークアップの出現を刺激する手助けをすることであるので、これは自然で望ましい。所定の機能に対するネイティヴセマンティックスが使用可能になる場合、著者は、ネイティヴ機能を使用し、その機能のWAI-ARIAの使用を中止することが適切である。しかし、レガシーコンテンツは WAI-ARIAを使用し続けるかもしれないので、WAI-ARIAをサポートするユーザーエージェントの必要性が残っている。

WAI-ARIAの特定の機能は時間とともに重要性を失うかもしれない一方で、ウェブページにセマンティックスを追加するWAI-ARIAの一般的な可能性は、持続するニーズが期待される。ホスト言語は、WAI-ARIAが提供するすべてのセマンティックスを実装しないかもしれず、様々なホスト言語は、異なる機能のサブセットを実装するかもしれない。オブジェクトの新しいタイプは継続的に開発されており、そして多くの場合ウェブオーサリングプラクティスは、より高速なホスト言語標準より前進するため、WAI-ARIAの1つの目標は、このようなオブジェクトをアクセシブルにする方法を提供することにある。このように、WAI-ARIAとホスト言語は両方一緒に進化するが、異なる速度で進化する。

一部のホスト言語は、ユーザーインターフェイス以外の機能のセマンティックスを作成するために存在する。たとえば、SVGはオブジェクトが表すだろうユーザーインターフェイスコンポーネントでなく、グラフィカルオブジェクトの生成物の背後にあるセマンティックスを表現し、XFormsは、フォームコントロールにセマンティックスを提供し、幅広いユーザーインターフェイス機能を提供しない。このようなホスト言語は、設計上、WAI-ARIAの機能に対応するネイティヴセマンティックスを提供しないかもしれない。この場合、WAI-ARIAは、ユーザーインターフェイスコンポーネントにセマンティック情報を追加するために、長期的なアプローチを採用することができる。

1.5. オーサリングプラクティス

1.5.1. オーサリングツール

WAI-ARIAロールステートプロパティの定義における要件の多くは、コードを検証するために使用される他の品質管理プロセスと同様、開発プロセスの間に自動的にチェックできる。カスタムウィジェットを作成している著者を支援するために、オーサリングツールは、WAI-ARIAでサポートされるものだけでなく、関連および相互参照されるロール。ステート、およびプロパティでサポートされる、ウィジェットのロール、ステート、およびプロパティと比較してもよい。オーサリングツールは、ウィジェットのデザインパターンのエラーを著者に通知してもよく、また単独のコンテキストから決定できない情報を開発者に表示してもよい。たとえば、スクリプトライブラリーは、ツリービューにおけるツリー項目のラベルを決定できるが、ツリー全体にラベルを付けることを著者に促す必要があるかもしれない。著者に論理アクセシビリティー構造の視覚化を促すために、オーサリング環境は、WAI-ARIAマークアップに基づいてウェブリソースのアウトラインビューを提供するかもしれない。

HTMLにおいて、tabindexは、ブラウザがWAI-ARIAの実装に対してキーボードのフォーカスナビゲーションをサポートする重要な手段である。オーサリングツールおよびデバッグツールはtabindex値が適切に設定されていることを確認するためにチェックしてもよい。たとえば、エラー条件は、ツリーで1つ以上のツリー項目が0以上tabindex値である場合、tabindexがどのツリー項目にも設定されない場合、またはロールツリーを伴う要素が0以上のtabindex値を持つ際にaria-activedescendentが定義されない場合を含むかもしれない。

1.5.2. プラクティスおよびツールのテスト

インタラクティブコンテンツのアクセシビリティーは、静的なチェックだけで確認できない。インタラクティブコンテンツの開発者は、ウィジェットやアプリケーションにデバイスに依存しないアクセスのためにテストすべきであり、ユーザーと情報交換中にすべてのコンテンツと変更へのアクセシビリティーAPIへのアクセスを確認すべきである。

1.6. 支援技術

アクセシビリティーセマンティックスへのプログラムアクセスが支援技術に不可欠である。ほとんどの支援技術は、認識されたアクセシビリティーAPIを通じて、他のアプリケーションと同様に、ユーザーエージェントと情報交換する。ユーザーインターフェイスで知覚可能なオブジェクトは、アクセシビリティーAPIインターフェイスで定義されたアクセシブルオブジェクトとして支援技術に公開される。これを適切に行うために、アクセシビリティー情報―ロール、ステート、プロパティならびに文脈情報―は、アクセシビリティーAPIを通じて支援技術に正確に伝える必要がある。状態変化が発生した場合、ユーザーエージェントはアクセシビリティーAPIに適切なイベント通知を提供する。HTMLのような多くのホスト言語で、コンテキスト情報は、文脈ツリー階層を提供するので、DOM自体から決定できる。

一部の支援技術はこれらアクセシビリティーAPIと情報交換する一方で、他は、DOMから直接コンテンツにアクセスできる。これらの技術は、異なるユーザー集合を助けるために、コンテンツを再構築、簡素化、スタイル付け、またはリフローできる。この適応タイプに対する一般的なユースケースは、高齢化、認知障害のある人、またはそのツールの使用を妨害する環境にいる人かもしれない。たとえば、地域のナビゲーションランドマークの可用性は、そのセマンティックスに基づいて、一度にコンテンツの一部のみを表示するモバイルデバイスへの適応を可能にする。これは、ユーザーが一度に処理するために必要な情報量を減らすことができる。他の状況において、キーボードまたはタッチスクリーンデバイスを使ってナビゲートしやすいものをもつカスタムユーザーインターフェイスコントロールを置き換えるために適切かもしれない。

セマンティックプログラムに対するこれらの要求は、ユーザーエージェントにだけでなく、コンテンツに適用されることを除いて、並列にユーザーエージェントアクセシビリティーガイドライン:ユーザーエージェントユーザーインターフェイスプログラム操作および変更のプログラム通知([UAAG])にアクセスする。

2. WAI-ARIAを使用する

この章は参考情報である。

支援技術が、文書の一部の後ろにあるセマンティックスを決定できない場合、またはユーザーが効果的に使用可能な方法で文書のすべての部分に移動できない場合、複雑なウェブアプリケーションはアクセシブルでなくなる(WAI-ARIA Primer [ARIA-PRIMER]を参照)。WAI-ARIAは、セマンティックスをロール(ユーザーインターフェイス要素を定義する種類)と、ロールでサポートされるステートおよびプロパティに分割する。

著者は、要素がすでにステートおよびプロパティに適切な暗黙のWAI-ARIAセマンティックスを持たない限り、ライフサイクルの間に、WAI-ARIAロールおよび適切なステートおよびプロパティ(aria-*属性)に文書内の要素を関連付ける必要がある。ロール属性は、ホスト言語要素の暗黙的なロールよりも優先されると同時に、このような場合において同等のホスト言語のステートおよびプロパティは、競合を避けるために優先される。

2.1. WAI-ARIAロール

WAI-ARIAロールは、Role Attributeで定義されるrole属性と類似の、role属性を使用する要素上で設定される[ROLE]。

<li role="menuitem">Open file…</li>

この仕様で定義されるロールは、文書ランドマークおよびWAI-ARIAロールタクソノミーを含む。

このタクソノミーおよびその期待される動作におけるロールは、RDF/OWLを用いてモデル化される[OWL]。ロールタクソノミーの機能は、各ロールに対して以下の情報を提供する:

  • ロールの有益な説明
  • 関連するロールに関する階層情報(たとえば、directorylistの一種である)
  • ロールのコンテキスト(たとえば、listitemlistの内部に含まれる)
  • 他の仕様で関連する概念の参照
  • class階層構造に類似の)セマンティックの継承を可能にするタイプ階層構造を提供するためのOWLの使用
  • 各ロールに対するサポートされるステートおよびプロパティ(たとえば、checkboxaria-checked(ステート)によってチェックされるものをサポートする)

付随するロールは、支援技術に各要素を扱うための方法に関する情報を与える。

2.2. WAI-ARIAステートおよびプロパティ

WAI-ARIAは、さまざまなOSプラットフォーム上のプラットフォームのアクセシビリティーAPIをサポートするために使用されるステートおよびプロパティ一式を提供する。支援技術は、公開されたユーザーエージェントのDOMを通して、またはプラットフォームのアクセシビリティーAPIへのマッピングを通して、この情報にアクセスしてもよい。ロールと組み合わせる場合、ユーザーエージェントは、いつでもユーザーに伝えるためのユーザーインターフェイス情報を支援技術に提供することができる。ステートまたはプロパティの変化は、支援技術に通知をもたらす。これは、変更が発生したことをユーザーに通知するかもしれない。

以下の例において、リスト項目(html:li)がチェック可能なメニュー項目を作成するために使用されており、JavaScriptのイベントaria-checkedを切り替えるためにマウスおよびキーボードのイベントを取り込む。ロールは、この単純なウィジェットの動作をユーザーエージェントに知らせるために使用される。ユーザーアクションとともに変化する属性aria-checkedなど)は、ステートおよびプロパティの節で定義される。

<li role="menuitemcheckbox" aria-checked="true">Sort by Last Modified</li>

管理されたステートと呼ばれる一部のアクセシビリティーステートは、ユーザーエージェントによって制御される。管理されたステートの例は、キーボードフォーカスおよび選択を含む。管理されたステートは多くの場合、スタイルの変更を定義するために対応するCSS擬似クラス(:focus::selectionなど)を持つ。対照的に、この仕様におけるステートは一般に著者によって制御され、管理されないステートと呼ばれる。aria-posinsetおよびaria-setsizeのような一部のステートは、ユーザーエージェントによって管理されるが、DOMが完全でなくかつユーザーエージェントの計算に誤りをもたらす場合、著者はステートを上書きすることができる。ユーザーエージェントは、管理されたステートと管理されないステートの両方をプラットフォームアクセシビリティーAPIにマッピングする。

ほとんどのモダンなユーザーエージェントは、CSS属性セレクター([CSS])をサポートし、同等の機能を実現するのに必要なスクリプトの量を減らす、WAI-ARIA属性情報に基づくUIの変更を著者に作成できるようにする。次の例において、CSSセレクターは、aria-checked属性値に基づき、テキストが太字でありかつチェックマークの画像が表示されるかどうかを決定するために使用される。

[aria-checked="true"] { font-weight: bold; }
[aria-checked="true"]:before { background-image: url(checked.gif); }

CSSがチェックマークの視覚的表現を切り替えるために使用されない場合、著者はmenuitemcheckboxがチェックされてるかどうかを示す画像を管理するために追加のマークアップおよびスクリプトを含めるかもしれない。

<li role="menuitemcheckbox" aria-checked="true">
  <img src="checked.gif" role="presentation" alt="">
  <!-- note: additional scripts required to toggle image source -->
  Sort by Last Modified
</li>

2.3. フォーカスの管理

アプリケーションがユーザー入力を提供する場所をユーザーに要求するため、applicationは、使用時にフォーカスをともなう要素を常に持つべきである。著者は、ユーザー操作でない限り、フォーカスをもつ要素を破壊または画面外にスクロールしないことを勧める。すべてのインタラクティブオブジェクトはフォーカス可能になるべきである。複合インタラクティブコントロールあらゆる部分は、キーボードショートカットのような、フォーカス可能であるか、またはコントロールの機能を達成するための文書化された別の方法を持つ必要がある。任意のインタラクティブ要素にフォーカスを移動するためにキーボードのユーザーに対して、著者は、タブ移動または他の標準的なナビゲーション技術のいずれかを通して、明白な、検出可能な方法を維持することを勧める。User Agent Accessibility Guidelines、ガイドライン9([UAAG]、ガイドライン9)を参照のこと。

標準的なHTMLおよび基本的なWAI-ARIAウィジェットを使用する場合、アプリケーション開発者は、単純にタブ順序を操作したり、文書における要素にキーボードショートカットを作成するためにスクリプトを使用したりすることができる。より複雑なウィジェットの使用は、開発者がそのウィジェット内でフォーカスを管理する必要がある。SVG Tinyは、デフォルトで文書の順序に従い、かつシステム依存入力機能(ほとんどのデスクトップコンピュータ上でTABキー)を使用して実装されるべき類似のナビゲーション"リング"メカニズムを提供する。SVGの著者は、フォーカス可能な属性を操作することでナビゲーション順序において要素を置いてもよく、著者が要素のナビゲーション属性を変更することで動的にナビゲーション順序を指定してもよい。

WAI-ARIAは、"コンポジット"ウィジェットとしても知られる、多数の"管理コンテナ"ウィジェットを含む。適切な場合、コンテナはアクティブであった最後の子孫を追跡する責任がある(デフォルトは通常コンテナにおける最初の項目である)。フォーカスがコンテナを残してかつ、後で再びフォーカスされる場合、コンテナが使用可能で一貫性のある戦略を維持することが不可欠である。例外が存在してもよい一方で、以前にフォーカスされたコンテナが再びフォーカスされる場合、コンテナが最後にフォーカスされた際にアクティブな子孫と同じ子孫をアクティブにすることが推奨される。例外は、コンテナウィジェットのコンテンツが変更されている場合、およびフォーカスがメニューバーに残る際に、ユーザーが常に最初の項目に戻ることを期待する場合にメニューバーのようなウィジェットを含む。たとえば、ユーザーがツリーグループから外へタブを使った際にツリーグループの2つ目の項目がアクティブであった場合、ツリーグループに再びフォーカスを持つ際にその2つ目の項目がアクティブな子孫となる。ユーザーはまた、コンテナ内のいずれかの子孫をクリックすることによってそのコンテナをアクティブにしてもよい。

コンテナまたはコンテナのアクティブな子孫がフォーカスを持つ場合、ユーザーは、現在のアクティブな子孫を変更するために矢印キーのような追加キーを押すことでコンテナをナビゲーションしてもよい。メインナビゲーションキー(一般にTabキー)をさらに押すと、コンテナから抜け出して次のウィジェットへ移動する。

たとえば、grid(全部が一度に文書で存在しなくてもよい)は、何千ものgridcell要素をもつスプレッドシートとして使用されてもよい。これは、フォーカスが、管理コンテナ要素上のaria-activedescendant属性を使用するコンテナによって管理される、またはその子要素のtabindexを管理しかつ適切な子にフォーカスを設定するコンテナによって管理される必要がある。詳細については、WAI-ARIA Authoring Practicesにおけるキーボードフォーカスの提供を参照のこと(ARIA-PRACTICES)。

コンテンツ著者は、次のコンテナのロールでフォーカスを管理するために要求される:

フォーカスの管理の詳細については、WAI-ARIA Authoring Practicesウィジェット間のフォーカスを管理するためにtabindexを使用するのセクションを参照のこと[ARIA-PRACTICES]。

3. WAI-ARIAに対する規範的要件

この章は、規範的である。

この仕様は、ある章が規範的または参考情報であるかどうかを表示する。規範的または参考情報としての章の分類は、章全体に適用される。文「この章は規範的である」または「この章は参考情報である」は、その章のすべての節に適用される。

規範的な章は、著者、ユーザーエージェント、および支援技術がこの仕様に準拠するように実装するために従わなければならない要件を規定する。この文書の規範部分におけるキーワードMUSTMUST NOTREQUIREDSHALLSHALL NOTSHOULDRECOMMENDEDMAYOPTIONALは、Keywords for use in RFCs to indicate requirement levels [RFC2119]で示されるとおりに解釈される。RFC 2119のキーワードは、(原文で)大文字で整形されかつclass="rfc2119"をもつstrong要素で包まれる。上に示したキーワードが使用されるが、この形式を共有しない場合キーワードは、RFC 2119の意味で形式的な情報を伝達せず、単なる説明、すなわち、参考情報である。可能な限り、そのような用途は、この使用において回避される。

参考情報の章は、この仕様を理解するのに有益な情報を提供する。そのような章は、推奨されるプラクティスの例を含むかもしれないが、この仕様に準拠するためにそのような推奨に従うことを必要としない。

4. 重要な用語

この章は参考情報である。

一部の用語は適当な位置に定義されるが、以下の定義は、この文書全体で使用される。

アクセシビリティーAPI

オペレーティングシステムおよびその他のプラットフォームは、支援技術オブジェクトおよびイベントに関する情報を公開する一連のインターフェイスを提供する。支援技術は、情報を取得し、それらのウィジェットと対話するためにこれらのインターフェイスを使用する。アクセシビリティーAPIの例は、Microsoft Active Accessibility [MSAA]、Microsoft User Interface Automation [UIA-ARIA]、Mac OS X Accessibility Protocol [AXAPI]、Linux/Unix Accessibility Toolkit [ATK]、Assistive Technology Service Provider Interface [AT-SPI]、IAccessible2 [IA2]である。

アクセシブルな名前

アクセシブルな名前は、ユーザーインターフェイス要素の名前である。各プラットフォームのアクセシビリティーAPIは、アクセシブルな名前プロパティを提供する。アクセシブルな名前の値は、可視(たとえば、ボタンの可視テキスト)またはユーザーインターフェイス要素の不可視(たとえば、アイコンを説明する代替テキスト)プロパティから得られるかもしれない。

アクセシブルな名前プロパティに対する簡単な用法は、"OK"ボタンによって説明することができる。テキスト"OK"は、アクセシブルな名前である。ボタンがフォーカスを受け取る場合、支援技術は、アクセシブル名前をもつプラットフォームのロールの説明を連結できる。たとえば、スクリーンリーダーは、"押しボタンOK"または"OKボタン"を話すことができる。連結の順序および役割の説明の詳細(たとえば"ボタン"、"押しボタン"、"クリック可能ボタン")は、プラットフォームアクセシビリティーAPIまたは支援技術によって決定される。

支援技術

ハードウェアおよび/またはソフトウェアは:

  • ウェブコンテンツを取得してレンダリングするためのユーザーエージェントによって提供されるサービスに依存する
  • APIの使用を通してユーザーエージェントまたはウェブコンテンツ自体と連動し、
  • 障害者によってウェブコンテンツとのユーザーの対話を容易にするためにユーザーエージェントによって提供されるものを超えたサービスを提供する

この定義は他の文書で使用したものと異なるかもしれない。

この文書のコンテキストにおいて重要である支援技術の例としては次のものを含む:

  • 拡大してかつレンダリングされたテキストと画像の視覚的な読みやすさを改善するために使用されるスクリーン拡大鏡。
  • 合成音声または点字ディスプレイを通して情報を伝達するために最も頻繁に使用されるスクリーンリーダー。
  • 合成音声にテキストを変換するために使用される音声変換ソフトウェア。
  • 音声制御とディクテーションを可能にするために使用される音声認識ソフトウェア。
  • キーボードをシミュレートするために使用される、(ヘッドポインタ、オンスクリーンキーボード、単一のスイッチ、息操作デバイスを含む)代替入力技術。
  • マウスポインタおよびクリックをシミュレートするために使用される代替ポインティングデバイス。
属性

この仕様において、属性は、マークアップ言語における属性として使用される。属性は、要素によって表されるオブジェクトステートおよびプロパティに関する情報を提供するために要素に追加される構造的特徴である。

クラス

類似の特性を共有する一連のインスタンスオブジェクト

要素

この仕様において、要素は、マークアップ言語における要素として使用される。要素は、オブジェクトに対するデータプロファイルを含むマークアップ言語における構成要素である。

イベント

コンピュータシステムにおける他のオブジェクトにオブジェクトステートで個別の変化を通信するために使用されるプログラムのメッセージ。ウェブページへのユーザー入力は、相互作用を記述する抽象イベントを介して一般的に媒介され、ドキュメントオブジェクトのステートの変化の通知を提供することができる。一部のプログラミング言語において、イベントは、通知としてより一般的には知られる。

非表示

要素すべてのユーザーに可視または知覚可能でないことを示す。要素またはいずれかのその祖先要素がtrueに設定されるaria-hidden属性を持つ場合、要素はDOMにおいて非表示と単に考えられる。

注:著者は、visibility:hiddenおよびdisplay:noneすべてのCSSメディアタイプに適用されることに注意する。したがって、いずれかの使用は、レンダリングエンジンを通してDOMにアクセスする支援技術からコンテンツを隠す。しかし、直接DOMに、またはコンテンツ(たとえば、不透明度またはオフスクリーンの位置決め)を目に見えて非表示にするために他のオーサリング技術にアクセスする支援技術をサポートするために、オフスクリーンの位置決めを使用する意図がスクリーンリーダーのユーザーにのみ可視コンテンツを作成し他の人から見えないコンテンツを作ることでない限り、著者は、要素が表示または非表示となる際にそれに応じてaria-hidden属性が常に更新されるのを確認する必要がある。

参考情報

情報目的で提供されかつ適合のために必須でないコンテンツ。適合するために必要なコンテンツは、規範的と呼ばれる。

キーボードアクセシブル

キーボードまたは、息操作チューブのようなキーボード入力を模倣する支援技術を使用するユーザーにアクセシブルなもの。この文書における参照は、WCAGガイドライン 2.1 "キーボード操作可能: すべての機能をキーボードから利用できるようにする"に関連する[WCAG20]。

ランドマーク

ユーザーがすばやくアクセスしたいかもしれないページ上の領域の種類。そのような領域におけるコンテンツは、主要なコンテンツのナビゲート、検索および熟読のような、ページ上の他の領域のそれと異なり、かつ特定のユーザーの目的と関連する。

ライブ領域

ライブ領域は、ユーザーフォーカスが別の場所にあるかもしれない場合、一般に、外部イベントの結果として更新されるウェブページの知覚領域である。この領域は、必ずしもユーザーの相互作用の結果として更新されるとは限らない。この慣習は、Ajax利用の増加で一般的になっている。ライブ領域の例は、チャットログ、株価表示機、またはゲームの統計を反映するために定期的に更新するスポーツのスコアリングセクションを含む。これらの非同期の領域はユーザーのフォーカス領域の外側で更新することが期待されるので、スクリーンリーダーなどの支援技術は、どちらかその存在に気づかないか、ユーザーに対して領域を処理することができないかのいずれかである。WAI-ARIAは、著者がこれらライブ領域を識別することを可能にし、その領域をどのように処理するかをプロパティのコレクションを提供している:aria-live、aria-relevant、aria-atomicおよびaria-busy。事前定義されたライブ領域ロールは、Choosing Between Special Case Live Regionsで挙げられる([ARIA-PRACTICES]、5.3節)。

プライマリコンテンツ要素

HTMLにおけるbody要素のような、ホスト言語の主要なコンテンツ要素の実装。

管理されたステート

フォーカスや選択のような、ユーザーエージェントによって制御されるアクセシビリティーAPIステート。これは、一般に著者によって制御される"非管理ステート"と対比される。それにもかかわらず、著者は、aria-posinsetおよびaria-setsizeのような一部の管理されたステートを上書きすることができる。多くの管理されたステートは、:focusなどの対応するCSS擬似クラス、および::selectionなどの対応するCSS疑似要素を持つ。

規範的

適合のために要求されるもの。対照的に、参考情報または"非規範"として識別されるコンテンツは、適合のために必須でない。

オブジェクト

ユーザーインターフェイスのコンテキストで、1つ以上の要素によってマークアップ言語で表現され、ユーザーエージェントによってレンダリングされる、知覚的ユーザーエクスペリエンスの項目。

プログラミングのコンテキストで、1つ以上のクラスおよび同様のオブジェクトの一般的な特性を定義するインターフェイスのインスタンス。アクセシビリティーAPIにおけるオブジェクトは、1つ以上のDOMオブジェクトを表すことができる。アクセシビリティーAPIは、DOMインターフェイスと区別されるインターフェイスを定義している。
オントロジー

クラスの特徴の説明およびどのようにクラスが互いに関連するか。

操作可能

ユーザーが制御することができる方法でユーザーが使用可能なもの。この文書における参照は、WCAG 2原則2、コンテンツは操作可能でなければならないに関連する[WCAG20]。キーボードアクセシブルを参照のこと。

所有される要素

'所有される要素'は、要素の任意のDOM子孫、aria-owns経由で子として指定される任意の要素、または所有する子の任意のDOM子孫である。

知覚可能

ユーザーが感じることができる方法でユーザーに提示可能なもの。この文書における参照はWCAG 2原則1コンテンツは知覚可能でなければならないに関連する。[WCAG20]

プロパティ

指定されたオブジェクトの性質に不可欠である、またはオブジェクトに関連付けられたデータ値を表す属性。プロパティの変化は、オブジェクトの意味または見栄えに著しい影響を与えるかもしれない。特定のプロパティ(たとえば、aria-multiline)は、ステートを変更する可能性がより低いが、変更差分の周期は原則でないことに注意する。aria-activedescendantaria-valuenow、およびaria-valuetextのような少数のプロパティは、頻繁に変更することが期待される。ステート対プロパティの明確化を参照のこと。

関係

2つの別なものの間の関係。関係は、オブジェクトがもう1つのオブジェクトを分類したり制御したりすることを示すような、様々な種類であってもよい。

ロール

種類の主な指標。このセマンティックな関連付けはツールが存在してもよく、その種類の他のオブジェクトに関するユーザーの期待と一致する方法でオブジェクトとの相互作用をサポートしてもよい。

セマンティックス

コンピューターが要素および属性などのオブジェクトの表現を処理し、かつさまざまな人間がオブジェクトの一貫した理解を相互に達成するような方法でオブジェクトを確実に表現できるような方法で定義される、人間によって理解されるようなものの意味。

ステート

ステートは、ユーザーのふるまいまたは自動化プロセスに応じて変更することができるオブジェクトの特性を表現する動的なプロパティである。ステートは、オブジェクトの本質的な性質に影響を与えないが、オブジェクトまたはユーザーインタラクションの可能性に関連したデータを表す。プロパティに対するステートの明確化を参照のこと。

タクソノミー

階層においてクラスがスーパークラスのプロパティを継承する、どのようにさまざまなクラスの特性が互いに関係するかの階層的な定義。タクソノミーは、オントロジーの形式的な定義の一部を構成することができる。

理解可能

ユーザーが適切な意味を構築することができる方法で提示可能なもの。この文書の参照は、WCAG 2原則3、情報およびユーザーインターフェイスの動作は理解可能でなければならないに関連する。[WCAG20]

ユーザーエージェント

ウェブコンテンツとのエンドユーザーのやりとりを引き出し、レンダリングしかつ容易にする任意のソフトウェア。この定義は他の文書で使用したものと異なるかもしれない。

ステートプロパティロール、またはテキストコンテンツによって表現される情報を固めるリテラル。

acrWidget

ユーザーが対話することができる個別のユーザーインターフェイスオブジェクト。ウィジェットは、1つの値または操作(たとえば、ボックスやメニュー項目をチェックする)を持つ単純なオブジェクトから、多数の管理されたサブオブジェクト(たとえば、ツリーやグリッド)を含む複雑なオブジェクト​へと多岐にわたる。

5. ロールモデル

この章は、規範的である。

この節は、WAI-ARIAロールタクソノミーを定義し、すべてのロールの特性およびプロパティを説明する。ここで提示されるすべての情報の正式なRDF/OWL表現は、スキーマ付録で利用可能である。

ロール、ロールの特性、ロールがサポートするステートおよびプロパティ、およびどのようにロールがマークアップで使用されてもよいかの仕様は、規範的なものとみなすものとする。タクソノミーをモデル化するために使用されるRDF/OWL表現は、参考情報とみなされるものとする。RDF/OWLタクソノミーは、将来的にWAI-ARIAを拡張するための媒体として、またはこの仕様によってロールに適用できるステートおよびプロパティを検証するためのツールのメーカーによって使用されるかもしれない。

ロールは、要素タイプでありかつ、著者は、時間の経過またはユーザーアクションとともにロール値を変えてはならない。ロールを変更することを望む著者は、関連する要素とその子を削除し、かつ適切なロールをもつ新しい要素に置き換えることによってそうしなければならない。一般的に、プラットフォームアクセシビリティーAPIは、ロール値変化の支援技術に通知するための手段を提供せず、その結果、支援技術は、新しいロール属性値をもつ支援技術のキャッシュを更新しないかもしれない。

DOMにおけるコンテンツを反映させるために、ユーザーエージェントは、実装されるアクセシビリティーAPIで適切な値にロール属性を対応づけるべきであり、ロール属性を変更する場合にユーザーエージェントは、対応づけを更新すべきである

5.1. 概念間の関係

ロールタクソノミーは、WAI-ARIAロール間同士およびHTMLやXFormsなどの、他の仕様からの概念との関係を示すために以下の関係を使用する。

5.1.1. スーパークラスロール

継承は、RDFスキーマ1.1([RDFS])subClassOfプロパティを使用するRDFで表現される。

RDFプロパティ
rdfs:subClassOf

現在のサブクラス化されたロールがタクソノミーに拡張するロール。この拡張は、すべてのプロパティおよびスーパークラスのロールの制約にサブクラスのロールを伝搬させる。よく知られている安定した仕様以外、継承はこの仕様の中で定義された項目に制限され、その結果外部項目を変更できないようにして継承されたクラスに影響を与えることができる。

5.1.2. サブクラスロール

RDFプロパティ
<none>

このロールがスーパークラスであるためにロールの有益なリスト。これは、仕様の読みやすくするために提供されるが、新しい情報を追加しない。

5.1.3. 関連する概念

RDFプロパティ
role:relatedConcept

他の仕様からの類似のまたは関連するアイデアについての有益なデータ。関連する概念は、必ずしも同一ではない。関連する概念は、互いにプロパティを継承しない。したがって、1つの概念の定義が変化する場合、プロパティ、挙動、およびその概念の関連する概念の定義は影響を受けない。

たとえば、プログレスバーは、ステータスインジケーターのようなものである。したがって、progressbarウィジェットは、statusを含むrole:relatedConcept値を持つ。しかし、statusの定義が変更される場合、progressbarの定義は影響を受けない。

5.1.4. ベース概念

RDFプロパティ
role:baseConcept

ロールのプロトタイプと見なされるオブジェクトに関する有益なデータ。ベース概念はタイプに似ているが、制限およびプロパティの継承はない。ベース概念は、外部の概念の継承に代わるものとして設計されている。ベース概念は、ロール定義とほぼ同一であることを除いて、関連する概念に似たものである。

たとえば、この文書で定義されるcheckboxは、HTMLで定義されるチェックボックスに似た機能および予想される挙動を持つ。したがって、checkboxbaseConceptとしてHTML checkboxを持つ。しかし、元のHTMLチェックボックスbaseConcept定義が変更された場合、各タイプの実際の継承はないため、この文書におけるcheckboxの定義は影響を受けない。

5.2. ロールの特性

ロールは、ロールの特性によって定義および説明される。特性は、ロールがどのようなものかのような、ロールの構造上の機能、ロールの背後にある概念、およびロールが含むことができるまたは必要があるインスタンスを定義する。ウィジェットの場合、これはまた、ウィジェットがどのようにHTMLフォームおよびXFormsへの対応づけに基づいたユーザーエージェントと対話するかを含む。ロールによってサポートされるWAI-ARIAからのステートおよびプロパティも示される。

ロールタクソノミーは、次のような特性を定義する。この特性は、ロールを記述するOWLクラスのプロパティとしてRDFに実装されている。

5.2.1. 抽象ロール

RDFプロパティ
N/A
Boolean

抽象ロールは、他のすべてのWAI-ARIAロールが構築される基盤である。このロールはAPIバインディングで実装されていないため、コンテンツ著者は、抽象ロールを使用してはならない。ユーザーエージェントは、アクセシビリティーAPIの標準ロール機構に抽象ロールを対応づけてはならない。抽象ロールは、以下を助けるために提供される:

  1. ロールタクソノミーを体系づけし、既知の概念のコンテキストにおける意味をロールに提供する。
  2. 必要な機能を含むロールの付加を簡素化する。

5.2.2. 要求されるステートおよびプロパティ

RDFプロパティ
role:requiredState
URIなど、任意の妥当なRDFオブジェクトリファレンス。

ロールおよびサブクラスロールのために具体的に要求されるステートおよびプロパティ。コンテンツ著者は、要求されるステートおよびプロパティに対してを提供しなければならない

オブジェクトが複数の先祖から継承され、ある祖先がプロパティがサポートされることを示す一方で、別の祖先がそのプロパティが要求されることを示す場合、プロパティは継承オブジェクトで要求される。

注:適切な暗黙のWAI-ARIAセマンティックをもつホスト言語属性は、この要件を満たす。

5.2.3. サポートされるステートおよびプロパティ

RDFプロパティ
role:supportedState
URIなど、任意の妥当なRDFオブジェクトリファレンス。

ロールおよび子ロールに具体的に適用できるステートおよびプロパティユーザーエージェントは、アクセシビリティーAPIにロールに対してすべてのサポートされるステートおよびプロパティを対応づけなければならない。コンテンツ著者は、サポートされるステートおよびプロパティに対してを提供してもよいが、デフォルト値で十分な場合の一部のケースでは必要ない。

注:適切な暗黙のWAI-ARIAセマンティックをもつホスト言語属性は、この要件を満たす。

5.2.4. 継承されるステートおよびプロパティ

スーパークラスロールからロールに継承されるプロパティの有益なリスト。ステートおよびプロパティは、DOMツリーにおける祖先要素からではなく、ロールタクソノミーにおけるスーパークラスロールから継承される。プロパティの継承は自動的に行われるため、このプロパティは、ロールで明示的に定義されない。この情報は、この仕様を読みやすくするために提供されている。継承されるステートおよびプロパティと組み合わせるサポートされるステートおよびプロパティのセットは、ロールによってサポートされるステートおよびプロパティの完全なセットを形成する。

5.2.5. 要求される所有要素

RDFプロパティ
role:mustContain
URIなど、任意の妥当なRDFオブジェクトリファレンス。

このロールをもつ要素によって所有される任意の要素。たとえば、ロールlistをもつ要素は、ロールgroupまたはlistitemの少なくとも1つの要素を所有する。

複数のロールがロールに対して要求される所有要素として指定される場合、1つの要求される所有要素の少なくとも1つのインスタンスが期待される。この仕様は、列挙される所有ロールのそれぞれのインスタンスを要求しない。たとえば、menumenuitemmenuitemcheckboxまたはmenuitemradioの少なくとも1つのインスタンスを持つ必要がある。menuロールは、それぞれの1つのインスタンスを要求しない。

たとえば、データセットの編集中またはロード中に、要求される所有要素が見つからないことがあるかもしれない。スクリプトの実行またはロードが原因でウィジェットが要求される所有要素が見つからない場合、著者は、trueに同等なaria-busyをもつ要素を含むものをマークしなければならない。たとえば、ページが完全に初期化されて完了するまで、著者はbusyなどの文書要素をマークするかもしれない。

注:「要求される所有要素」を持つロールは、逆の関係を意味しない。ロールの処理が子孫として存在する与えられたロールの要素なしで不完全かもしれない一方で、このリストでロールをもつ要素は常に与えられたロールの要素内で発見される必要はない。与えられたロールの要素が含まれる場所のコンテキストに関する要件については、要求されるコンテキストロールを参照のこと。

注:「要求される所有要素」のサブクラスロールをもつ要素はこの要件を満たさない。たとえば、listロールは、listitemまたはgroupロールのいずれかを使用して要素の所有権を要求する。groupロールはrowのスーパークラスであるが、rowのロールをもつ所有要素の追加は、listlistitemまたはgroupを所有しなければならないという要件を満たすことはない。

注:適切な暗黙のWAI-ARIAセマンティックをもつ要素は、この要件を満たす。

5.2.6. 要求されるコンテキストロール

RDFプロパティ
role:scope
URIなど、任意の妥当なRDFオブジェクトリファレンス。

要求されるコンテキストロールは、このロールが許可される所有コンテナを定義する。ロールが要求されるコンテキストを持つ場合、著者はロールをもつ要素が 要求されるコンテキストロールをもつ要素を内部に(または所有されて)含まれることを保証しなければならない。たとえば、ロールlistをもつ要素を内部に含まれる(または所有される)場合、ロールlistitemをもつ要素のみが意味を持つ。

注:「要求されるコンテキストロール」を持つロールは、逆の関係を意味しない。与えられるロールをもつ要素が意味のあるものにするために記載されるロールの要素内に出現する必要がある一方で、記載されるロールの要素は意味のあるものにするために与えられるロールの子孫要素を常に必要としない。与えられる子孫の存在に適切に処理されるよう要求する要素に関する要件については、要求される所有要素を参照のこと。

注:適切な暗黙のWAI-ARIAセマンティックをもつ要素は、この要件を満たす。

5.2.7. アクセシブルな名前の計算

RDFプロパティ
role:nameFrom
次のいずれかの値:
  1. 著者:aria-label属性、aria-labelledby属性、または、代替テキストを指定するための最低の優先順位を持つHTML title属性を伴う、HTMLにおけるaltまたはtitle属性のようなホスト言語ラベル付け機構のような明示的なマークアップ機能で著者によって提供される値に由来する名前。
  2. コンテンツ:要素ノードのテキスト値に由来する名前。これは一部のロールで"著者"に加えられることができるが、より高い優先度"著者"機能が提供されない場合にのみ、これはコンテンツで使用される。注:優先順位は代替テキスト計算アルゴリズムによって定義される。
5.2.7.1. 名前計算

アクセシブルな名前は、代替テキスト計算と題する節において以下に概説され、多数の方法を使用して計算される。

5.2.7.2. 説明計算

アクセシブルな説明は、現在のノード上のaria-describedby属性によって参照されるノードに対する代替テキストを連結することによって計算することができる。参照されるノードに対する代替テキストは、代替テキスト計算と題する節において以下に概説され、多数の方法を使用して計算される。

5.2.7.3. 代替テキスト計算

以下に概説する等価テキスト計算は、ユーザーエージェントがアクセシビリティーAPIを通して公開する名前または説明を取得する方法の説明である。著者は、マークアップにおける名前および説明を作成するためのガイドとしてこの節を使用することができる。アクセシビリティーチェッカーツールは、名前と説明が著者の意図したものであることを確認するために生成された等価テキストを著者が使用できるように、このアルゴリズムに基づく名前および/または記述生成器を実装することができる。

上記のように代替テキストは、名前と説明計算の両方で再利用される。複数の異なるノードおよびマークアップの組み合わせが提供される異なる規則がある。適切な場合、代替テキストは、要素内に含まれるすべての関連コンテンツから構築される。これは、テキスト自身の子たちからテキストを取得するために規則の完全なセットを使用して、(再帰的である)規則2Cによって達成される。

与えられたノードに対する代替テキストは、次のように計算される:

  1. 著者がaria-labelledbyまたは現在の計算で使用されているaria-describedbyによって非表示要素を使用するように指定しない限り、非表示要素をスキップする。デフォルトで支援技術のユーザーは、非表示情報を受信しないが、著者は、明示的にそれを上書きすることができ、かつアクセシビリティーAPIに送信されるラベル文字列の一部として非表示代替テキストを含むことができる。
  2. 任意の非スキップ要素の場合:
    1. 著者は、好みのこの順序で使用される、コンテンツ属性で要素の代替テキストを指定してもよい
      • aria-labelledby属性は、この計算がすでに再帰aria-labelledby宣言の結果として発生している場合(言い換えると、ループを発生させないので、別の要素から参照される場合にaria-labelledbyは再帰でない)を除き、要素の代替テキストとして優先する。しかし、要素のaria-labelledby属性は、要素のaria-label属性またはこの優先リストで別の下位機能によって提供される文字列を連結させるために、要素自身のIDREFを参照することができる。参照されたすべての要素に対する代替テキストは、以下の同じ規則のセットを使用して計算される。その後ユーザーエージェントは、空白をトリミングし、1つの空白文字を使用して部分文字列に結合する。部分文字列は、著者によって指定される順序(aria-labelledby属性におけるIDREF順)で結合される。
      • aria-labelledbyが空または未定義である場合、明示的なテキスト文字列を定義する、aria-label属性が使用される。しかし、この計算がすでに再帰的な代替テキスト計算の結果として発生しており、かつ現在の要素が規則2Bで定義されるように埋め込まれたコントロールである場合、aria-label属性を無視して規則2Bに直接進む。
      • aria-labelledbyおよびaria-labelが両方空または未定義であり、かつ要素がプレゼンテーショナル(role="presentation")としてマークされない場合、ラベルを関連付けるために同等のホスト言語属性または要素の存在を確認し、かつ代替テキストを決定するためにそのメカニズムを使用する。たとえばHTMLで、img要素のalt属性はラベル文字列を定義し、label要素はラベル付けされたフォーム要素を参照する。代替テキストの指定方法([HTML]、13.8節)およびHTML5の画像に対して代替として動作するテキストを提供に対する要件を参照のこと([HTML5]、4.7.1.1節)。

      編集注記:我々は、HTML5 WGにこの節を削除または削減するかを尋ねており、ARIAからの参照を削除することがある。

    2. 著者は、ユーザーが埋め込まれたコントロールの値を調整することができる場合に、他のウィジェットのラベル内のコントロールを時々埋め込む。たとえば、"[入力]回画面を点滅する"というテキスト入力フィールドを含むチェックボックスのラベルを考えてみる。ユーザーが埋め込まれたテキスト入力に"5"を入力した場合、完全なラベルは、"画面を5回点滅する"となる。このような場合のために、以下の方法で代替テキストの一部として埋め込まれたコントロールの値を含む:
      • 埋め込まれたコントロールがテキストフィールドである場合、その値を使用する。
      • 埋め込まれたコントロールがメニューである場合、選択したメニュー項目の代替テキストを使用する。
      • 埋め込まれたコントロールが選択またはコンボボックスである場合、選択したオプションを使用する。
      • 埋め込まれたコントロールが範囲(たとえば、spinbuttonslider)である場合、利用可能な場合にaria-valuetext属性値を使用し、そうでなければaria-valuenow属性値を使用する。
    3. そうでなければ、ルールAおよびBでチェックされる属性が結果を提供しなかった場合、現在の要素のロールが"Name From: contents"を許可する場合に、テキストは子孫コンテンツから収集される。子ノードに対する代替テキストは、この同じ規則のセットを使用して、連結される。この同じ規則は、計算が再帰的になり、かつどんなに深くても、このサブツリーにおけるすべてのノードで収集されているテキストをもたらすことを意味する、子に適用することができる。しかし、任意の与えられる子孫のサブツリーは、上記のAとBに記載される好ましいマークアップから代替テキストの一部を代わりに収集するかもしれない。この著者指定の属性は、サブツリー全体に対する正確な代替テキストを提供することが想定される。全体から見て、ノード規則が代替テキストが子孫から収集される時に一貫して適用され、そしてその子孫における各含有要素は、そのコンテンツを使用できるようにするかもしれないし、しないかもしれない。サブツリーにおける各ノードは一度だけ考慮される。テキストが子ノードから収集され、かつ一部の子孫ノードで別のIDREFとして参照される場合、2番目またはそれ以降の参照は追随しない。これは、無限ループを避けるために行われる。
    4. 最後の手段は、(HTMLにおけるtitle属性のような)ツールチップ属性からテキストを使用することである。これは、サブツリーのコンテンツを含めて他に何も結果を提供できない場合にのみ、使用される。
  3. テキストノードは要素の子からテキストを収集するために規則2Cを使用する要素の子であるため、テキストノードは多くの場合、訪問済みである。しかし、CSS規則を使用してテキストコンテンツを指定または変更することが可能であるので、ユーザーエージェントは必要に応じて、完全な代替テキストを生成するためにテキストノードによって参照されるテキストをもつ、そのようなコンテンツを組み合わせることが必要である。例は、ユーザーエージェントがDOMで与えられるものを伴うスタイルシートで指定されるテキストコンテンツを組み合わせた場合の、CSS :beforeおよび:after疑似要素の用法である。
    • 画像がテキストを置換する場合、そのテキストはおそらく同等であるため、ユーザーエージェントは、元のテキストを使用すべきである。
    • テキストが画像を置換する場合、ユーザーエージェントは、そのテキストを提供すべきである。
    • 新しいテキストが古いテキストを置換する場合、画面に描画されるものであるため、ユーザーエージェントは、新しいテキストを含めるべきである。

注:ユーザーエージェントは、DOMから決定可能なテキストコンテンツがない場合にCSS生成テキストから代替テキストを計算するための努力をするかもしれないが、ユーザーエージェントが不正確な代替テキストを決定するかもしれないため、著者は、スタイルシートを通じてテキストを提供するべきではない。

フラットな代替テキスト文字列の目的は、代替プレゼンテーションで知覚可能なラベルを作成することにある。アルゴリズムの各ステップで、実装は既存のテキスト等価文字列と追加される文字列をトリミングし、単一のスペースで2つの文字列を結合する。たとえば、空白文字は、説明で次々に使用される2つの要素のテキストの間に挿入してもよい。

5.2.7.4. テキストの代替計算例1
  • aria-labelledby(規則2A):メニューバーの例示マークアップにおける最初のメニュー項目のラベルは、上記の規則2Aに基づく"ファイル"である。要素は、id="fileLabel"をもつspan要素を選び出すaria-labelledby属性を持つ。span要素はラベルテキストを含む。
  • Namefrom: contents(規則2C):ファイルメニューにおける最初のアイテムのラベルは、規則2Cに基づく"新規"である。menuitemの要素は"Namefrom: content"テクニックによってラベルを取得することができるので、menuitem要素自身のテキストコンテンツで十分となる。この要素がラベルを取得するためにaria-labelledbyaria-label、またはaltのような属性を持たないことに注意する。
<ul role="menubar">
 
 <!-- Rule 2A: "File" label via aria-labelledby -->
  <li role="menuitem" aria-haspopup="true" aria-labelledby="fileLabel"><span id="fileLabel">File</span>
    <ul role="menu">

      <!-- Rule 2C: "New" label via Namefrom:contents -->
      <li role="menuitem">New</li>
      <li role="menuitem">Open…</li></ul>
  </li></ul>
5.2.7.5. テキストの代替計算例2
  • ネイティヴlabel要素(規則2A):ネイティヴ要素の使用は、要素のラベルがHTML label要素によって定義される最初のチェックボックスによって示される。
  • 埋め込まれた入力(規則2C):3つ目のチェックボックスは、より大きなラベルに追加する埋め込みコントロールを示す(規則2B)。ここで、ラベルは「3」が埋め込まれたテキストinputの値から取得され、"画面を3回フラッシュ"となる。
  • aria-label(規則2A):aria-labelを使用する規則2は、この埋め込まれたテキストinputのために示される。根拠は、この要素にラベルを与えることであるが、ある意味でチェックボックスのラベルの囲いを妨害しない。フォーカスがテキスト入力にある際にラベルはスクリーンリーダーによって必要とされる。
<fieldset>
  <legend>Meeting alarms</legend>

  <!-- Rule 2A: "Beep" label given by native HTML label element -->
  <input type="checkbox" id="beep"> <label for="beep">Beep</label> <br>
  <input type="checkbox" id="mtgTitle"> <label for="mtgTitle">Display the meeting title</label> <br>

  <!-- Rule 2B: Full label of checkbox includes value ("3") of embedded text input, "Flash the screen 3 times" -->
  <input type="checkbox" id="flash">
  <label for="flash">
    Flash the screen

    <!-- Rule 2A: label of text input given by aria-label, "Number of times to flash screen" -->
    <input type="text" value="3" size="2" id="numTimes" aria-label="Number of times to flash screen">
    times
  </label>
</fieldset>

5.2.8. プレゼンテーショナルな子

RDFプロパティ
role:childrenArePresentational

Boolean (true | false)

DOM子孫はプレゼンテーショナルである。ユーザーエージェントは、プラットフォームアクセシビリティーAPIを通してこの要素の子孫を公開すべきでないユーザーエージェントが子孫ノードを非表示にしない場合、一部の情報は2回読み取られる。

5.2.9. 暗黙のロールに対する値

多くのステートおよびプロパティはデフォルト値を持つ。時折、与えられたロールで使用される際のデフォルト値は、通常のデフォルトと異なるべきである。非標準のデフォルト値を持つステートまたはプロパティを要求するロールは、「暗黙のロールに対する値」でこれを示す。これは、「ステートまたはプロパティ名新しいデフォルト値である」形で表現される。著者が明示的な値を提供しない場合、これを定義するロールは、ステートまたはプロパティの新しいデフォルト値を持つ。

5.3. ロールの分類

現在のユーザーシナリオをサポートするために、この仕様は、ユーザーインターフェイスのウィジェット(スライダー、ツリーコントロールなど)およびページ構造(セクション、ナビゲーションなど)を定義するロールを分類する。一部の支援技術は、ロールapplicationまたはdocumentとマークされる領域に対する相互作用の特別なモードを提供することに注意する。

ロールデーターモデルで記述される関係のクラス図

ロールデーターモデルで記述される関係のクラス図。

SVGクラス図 | PNG クラス図 | クラス図説明

ロールは次のように分類される:

  1. 抽象ロール
  2. ウィジェットロール
  3. 文書構造ロール
  4. ランドマークロール

5.3.1. 抽象ロール

次のロールは、一般的なロール概念を定義する目的でWAI-ARIAロールタクソノミーをサポートするために使用される。

抽象ロールはオントロジーのために使用される。著者は、コンテンツにおいて抽象ロールを使用してはならない

5.3.2. ウィジェットロール

次のロールは、スタンドアロン・ユーザーインターフェイスウィジェットまたはより大きな複合ウィジェットの一部として機能する。

次のロールは、複合ユーザーインターフェイスウィジェットとして機能する。このロールは、ウィジェットを含む、その他を管理するコンテナとして一般に機能する。

5.3.3. 文書構造

次のロールは、ページにおけるコンテンツを体系づける構造を記述する。文書構造は通常、インタラクティブではない。

5.3.4. ランドマークロール

次のロールは、ナビゲーションランドマークとして意図されるページの領域である。これらロールのすべては、applicationを除いて、landmark基本型から継承し、かつすべてがRole Attributeからインポートされる[ROLE]。ロールは、WAI-ARIAロールタクソノミーの一部を明確にするためにここに含まれる。

5.4. ロールの定義

以下は、リッチインターネットアプリケーションの著者によって使用されるWAI-ARIAロールのアルファベット順リストである。

抽象ロールはオントロジーのために使用される。著者は、コンテンツにおいて抽象ロールを使用してはならない

alert
重要かつ通常は時間依存の情報をもつメッセージ。関連するalertdialogおよびstatusを参照のこと。
alertdialog
最初のフォーカスがダイアログ内の要素に行く場合のアラートメッセージを含むダイアログの種類。関連するalertおよびdialogを参照のこと。
application
ウェブ文書とは対照的に、ウェブアプリケーションとして宣言される領域。
article
文書、ページ、またはサイトの独立した部分を形成する文章から成るページのセクション。
banner
ページ固有のコンテンツよりも、大部分がサイト向けのコンテンツを含む領域。
button
クリックまたは押された際にユーザー誘発のアクションを可能にする入力。関連するlinkを参照のこと。
checkbox
true、false、またはmixedの3つの可能性がある値を持つチェック可能な入力。
columnheader
列のヘッダー情報を含むセル。
combobox
selectのプレゼンテーション。ユーザーがオプションを選択するために前方へ入力できるまたは、リストで新しい項目として任意のテキストを入力するために入力できる、通常textboxに類似する。関連するlistboxを参照のこと。
command (抽象ロール)
アクションを実行するが入力データを受信しないウィジェットのフォーム。
complementary
DOM階層において同等のレベルで主要コンテンツに相補的であるよう設計されたが、主要コンテンツから分離される際に意味のあるままにする、文書のサポートセクション。
composite (抽象ロール)
ナビゲーション可能な子孫または所有する子を含むことができるウィジェット。
contentinfo
親文書に関する情報を含む大規模な知覚可能な領域。
definition
用語または概念の定義。
dialog
ダイアログは、情報を入力するまたは応答を要求するユーザーを促すために、アプリケーションの現在の処理を中断するように設計されるアプリケーションウィンドウである。関連するalertdialogを参照のこと。
directory
静的な目次のような、グループのメンバーへの参照のリスト。
document
ウェブapplicationとは対照的な、文書コンテンツとして宣言される関連情報を含む領域。
form
全体として、フォームを作成するために組み合わせるアイテムおよびオブジェクトのコレクションを含むランドマーク領域。関連するsearchを参照のこと。
grid
グリッドは、テーブルのように、行および列に配列される表形式のデータのセルを含む対話コントロールである。
gridcell
グリッドまたはツリーグリッド内のセル。
group
支援技術によってページサマリーまたは目次に含まれることを意図されないユーザーインターフェイスオブジェクトのセット。
heading
ページのセクションに対する見出し。
img
画像を形成する要素のコレクションのコンテナ。
input (抽象ロール)
ユーザー入力を許可するウィジェットの一般的なタイプ。
landmark (抽象ロール)
ナビゲーションのランドマークとして意図されるページの領域。
link
活性化された場合、ユーザーエージェントにそのリソースにナビゲートさせる、内部または外部のリソースへのインタラクティブなリファレンス。関連するボタンを参照のこと。
list
非インタラクティブなリスト項目のグループ。関連するlistboxを参照のこと。
listbox
ユーザーが選択肢のリストから1つ以上の項目を選択できるようにするウィジェット。関連するcomboboxおよびlistを参照のこと。
listitem
リストまたはディレクトリにおける1つの項目。
log
新しい情報が意味のある順序で追加されかつ古い情報が消えることのあるライブ領域のタイプ。関連するmarqueeを参照のこと。
main
文書の主要コンテンツ。
marquee
必須でない情報が頻繁に変更されるライブ領域のタイプ。関連するlogを参照のこと。
math
数式を表すコンテンツ。
menu
ユーザーへの選択肢のリストを提供するウィジェットのタイプ。
menubar
通常は表示されたままとなりかつ水平に表示されるメニューのプレゼンテーション。
menuitem
menuまたはmenubarに含まれる選択肢のセットにおけるオプション。
menuitemcheckbox
可能な値がtrue、false、またはmixedであるチェック可能な状態をもつmenuitem。
menuitemradio
一方のみが一度にチェックすることができる、ロールmenuitemradioをもつ要素のセットにおけるチェック可能なmenuitem。
navigation
文書または関連する文書をナビゲートするためのナビゲーション要素(通常はリンク)のコレクション。
note
コンテンツがリソースの主要コンテンツに挿入的または付随的であるセクション。
option
選択リストで選択可能な項目。
presentation
暗黙のネイティヴロールセマンティックスがアクセシビリティーAPIに対応づけされない要素。
progressbar
長い時間がかかるタスクの進捗状況を表示する要素。
radio
一方のみが一度にチェックすることができる、ラジオロールのグループにおけるチェック可能な入力。
radiogroup
ラジオボタンのグループ。
range (抽象ロール)
ユーザーによって設定可能な値の範囲を表す入力。
region
たとえば、ライブスポーツイベントの統計情報を含むページの領域など、ページサマリーまたは目次に含まれるのに十分に重要である、ウェブページまたは文書の大規模な知覚セクション。
roletype (抽象ロール)
このタクソノミーで他のすべてのロールが継承する基本ロール。
row
グリッドにおけるセルの行。
rowgroup
グリッドで1つ以上の行要素を含むグループ。
rowheader
グリッドで行のセルを含むヘッダー情報。
scrollbar
コンテンツが完全に表示画面内に表示されているかどうかに関わらず、表示画内のコンテンツのスクロールを制御するグラフィカルオブジェクト。
search
全体として、検索機能を作成するために組み合わせるアイテムおよびオブジェクトのコレクションが含まれるランドマーク領域。関連するformを参照のこと。
section (抽象ロール)
文書またはアプリケーションでレンダリング可能な構造収納単位。
sectionhead (抽象ロール)
構造の関連セクションのトピックを分類するまたは要約するもの。
select (抽象ロール)
ユーザーが選択肢のセットから選択を行うことを可能にするフォームウィジェット。
separator
コンテンツのセクションまたはメニュー項目のグループを分離して区別する仕切り。
slider
ユーザーが与えられた範囲内から値を選択するユーザー入力。
spinbutton
ユーザーに個別の選択肢の中から選択することを期待する範囲のフォーム。
status
コンテンツはユーザーに対する助言情報であるが、alertを正当化するほど重要ではなく、多くの場合ステータスバーとして提示される必要のないコンテナ。関連するalertを参照のこと。
structure (抽象ロール)
文書構造要素。
tab
ユーザーにレンダリングされるタブコンテンツを選択するためのメカニズムを提供するグループ化ラベル。
tablist
tabpanel要素への参照であるtab要素のリスト。
tabpanel
各tabがtablistに含まれる、tabに関連付けられたリソースに対するコンテナ。
textbox
入力値として自由形式のテキストを許可するもの。
timer
開始時点からの経過時間を示す、または終了時点までの残り時間を示す数値カウンタを含むライブ領域の種類。
toolbar
一般的に使用される小型の視覚形式で表現される機能ボタンまたはコントロールのコレクション。
tooltip
要素の説明を表示するコンテキストポップアップ。
tree
折りたたみおよび展開することができるより低いレベルでネストされるグループを含むかもしれないlistの種類。
treegrid
行がツリーの場合と同様に開いたり閉じたりすることができるグリッド。
treeitem
tree のオプション項目。これは、より低いレベルのツリー項目要素のグループを含む場合に、開いたり閉じたりするかもしれないツリー内の要素である。
widget (抽象ロール)
グラフィカルユーザーインターフェイス(GUI)のインタラクティブなコンポーネント。
window (抽象ロール)
ブラウザーまたはアプリケーションのウィンドウ。

alert (ロール)

重要かつ通常は時間依存の情報をもつメッセージ。関連するalertdialogおよびstatusを参照のこと。

アラートは、ユーザーに警告するためのメッセージを伝えるために使用される。音声警告の場合、これは、聴覚障害のあるユーザー対するアクセシブルな代替となる。alertロールは、アラートメッセージを含むノードに登場する。アラートは、分割不能なライブ領域として処理される、statusのロールの特別な形式である。

アラートは、断定的なライブ領域であり、支援技術によってそのように処理される。著者もユーザーエージェントも、アラートを処理するためにアラートへのフォーカスを設定または管理することを要求されない。アラートはフォーカスを受け取ることを要求されないため、コンテンツ著者は、アラートを閉じることをユーザーに要求すべきでない。オペレーティングシステムが許可する場合、WAI-ARIAアラートが作成される際、ユーザーエージェントは、アクセシビリティーAPIを通してシステムのアラートイベントを起動すべきである。アラートがアラートを閉じるためにフォーカスを要求する場合、コンテンツ作成者は、代わりにalertdialogを使用すべきである

注:ロールalertをもつ要素は、assertiveの暗黙のaria-live値を持ち、trueの暗黙のaria-atomic値を持つ。

alertの特性
特性
スーパークラスロール:region
サブクラスロール:
関連する概念:
継承されるステートおよびプロパティ:
Name From:著者
暗黙のロールに対する値: aria-liveに対するデフォルトはassertiveである。
aria-atomicに対するデフォルトはtrueである。

alertdialog (ロール)

初期のフォーカスがダイアログ内の要素に行く場所で、警告メッセージを含むダイアログの種類。関連するalertおよびdialogを参照のこと。

アラートダイアログは、ユーザーに警告するメッセージを伝えるために使用される。alertdialogロールは、アラートメッセージとダイアログの残りの部分との両方を含むノードで発生する。コンテンツ著者は、alertdialogが示される間、キーボードとマウスの相互作用がダイアログ内でのみ動作することを保証することによってアラートダイアログをモーダルに確認させるべきである

alertと異なりalertdialogは、ユーザーからの応答を受信することができる。たとえば、ユーザーが生成されているアラートが理解するのを確認することなどである。アラートダイアログが表示される場合、著者は、フォーム編集フィールドまたはOKボタンのような、アラートダイアログ内のアクティブな要素にフォーカスを設定すべきであるユーザーエージェントは、アラートが作成された場合、意図されるアクセシビリティーAPIによって指定されるアラートイベントを提供され、アクセシビリティーAPIを通してシステムのアラートイベントを発火すべきである

著者は、ダイアログで警告メッセージ要素を指すようにalertdialog上のaria-describedbyを使用すべきである。そうでない場合、支援技術は、警告メッセージのコンテンツを決定するために内部の回復機構に頼る。

alertdialogの特性
特性
スーパークラスロール:
関連する概念:
継承されるステートおよびプロパティ:
Name From:著者
アクセシブルな名前要求:True

application (ロール)

ウェブdocumentとは対照的に、ウェブアプリケーションとして宣言される領域。

ユーザーがapplicationのロールを割り当てられた要素をナビゲートする場合、標準のキーボードイベントを典型的に横取りする支援技術は、アプリケーションのブラウジングモードに切り替え、ウェブアプリケーションを通してキーボードイベントを渡すべきである。この意図は、ウェブアプリケーションと対話するためのより適切なモードに通常のブラウジングモードから切り替えることで確実な支援技術への示唆することである。一部のユーザーエージェントは、上下矢印などのキーが、文書を閲覧するために使用されるブラウジングナビゲーションモードを持っており、このネイティヴ動作は、ウェブアプリケーションによるこれらのキーの使用を防止する。

注:適切な場合、タッチスクリーン入力など、他の標準デバイス入力イベントを典型的に横取りする支援技術は、ウェブアプリケーションを通して一部またはこれらのイベントのすべてを渡すブラウジングアプリケーションモードに切り替えできるだろう。

著者は、アプリケーション全体を取り囲む要素上のapplicationロールを設定すべきである。アプリケーションロールがウェブページ全体に適用される場合、著者は、HTMLbody要素またはSVGのsvg要素のような、コンテンツに対するルートノード上のapplicationのロールを設定すべきである

たとえば、電子メールアプリケーションは、電子メールアプリケーションで文書およびアプリケーションを持つ。著者は、電子メールのリストを繰り返すために一般的なアプリケーションナビゲーションモードを使用したいと思うし、このナビゲーションの多くは、アプリケーション著者によって定義されるだろう。しかし、電子メールのメッセージを読む場合、コンテンツは、ブラウジングナビゲーションを使用するためにdocumentロールをもつ領域で出現する。

アプリケーション内部で非装飾的な静的なテキストまたは画像コンテンツのすべてのインスタンスのために、著者は、フォームウィジェットまたはgrouparia-labelaria-labelledby、またはaria-describedby経由)とテキストを関連付けるか、documentまたはarticleのロールをもつ要素にテキストを分離するかのいずれかであるべきである

著者は、アプリケーションにタイトルまたはラベルを提供すべきである。著者は、ナビゲーションプレビューまたはページセクションの目次エントリとして使用するのに適しているラベルテキストを使用すべきである。コンテンツ著者は、次のいずれかの方法でラベルを提供すべきである

  • アプリケーションがウェブページのコンテンツ全体を含む場合、HTMLSVGの両方でtitle要素のように、タイトルまたはラベルのホスト言語機能を使用する。これは、アプリケーション全体を分類する効果を持つ。
  • そうでなければ、aria-labelledbyを使用するアプリケーションによって参照される可視ラベルを提供する。

ユーザーエージェントは、ナビゲーションランドマークとしてapplicationのロールをもつ要素を扱うべきである

著者は、アプリケーションとしてページ全体を定義するために(HTMLにおけるbody要素のような)ホスト言語の基本コンテンツ要素上のapplicationロールを使用してもよい。しかし、基本コンテンツ要素applicationのロールを持つものとして定義される場合、ユーザーエージェントは、ナビゲーションランドマークとしての要素を使用してはならない。支援技術がapplicationロールに遭遇する際に、標準キーボードイベントを横取りする対話モードを使用する場合、その支援技術は、ウェブアプリケーションを通してキーボードイベントを渡す対話モードに切り替えるべきである

applicationの特性
特性
スーパークラスロール:landmark
関連する概念:
継承されるステートおよびプロパティ:
Name From:著者
アクセシブルな名前要求:True

article (ロール)

文書、ページ、またはサイトの独立した部分を形成する文章から成るページのセクション。

記事は、ナビゲーションランドマークではないが、支援技術が次の議論でユーザーを支援するために記事のネスティングに注意を払うことができる場合に議論を形成するためにネストされるかもしれない。記事は、フォーラムの投稿、雑誌や新聞記事、ウェブログ項目、ユーザーが送信したコメント、またはコンテンツの他の独立した項目であるかもしれない。たとえばシンジケーションにおいて、そのコンテンツが孤立することができるという点で、独立である。しかし、要素は依然として要素の祖先に関連する。たとえば、親body要素に適用する連絡先情報は、依然としてなおも記事をカバーする。記事をネストする場合、子記事は、親記事のコンテンツに関連するコンテンツを表す。たとえば、ユーザーが送信したコメントを受け入れるサイト上のウェブログ項目は、ウェブログ項目の記事内にネストされる記事としてコメントを表すかもしれない。著者、見出し、日付、または記事に関連する他の情報は、ネストされた記事に適用されない。

ユーザーがarticleのロールを割り当てられた要素をナビゲートする場合、ウェブアプリケーションを通してキーボードイベントを渡すのとは対照的に、通常は標準のキーボードイベントを横取りする支援技術は、文書閲覧モードに切り替えるべきである。支援技術は、ユーザーが任意のネストされたarticle要素の階層をナビゲートすることを可能にする機能を提供してもよい

articleの特性
特性
スーパークラスロール:
関連する概念:
継承されるステートおよびプロパティ:
Name From:著者


article (ロール)

クリックまたは押された際にユーザー誘発のアクションを可能にする入力。関連するlinkを参照のこと。

ボタンは、個別のアクションに大部分は使用される。ボタンの外観を標準化することは、ボタンとしてウィジェットの利用者の認識を高め、ツールバーでよりコンパクトな表示が可能になる。

ボタンはオプション属性aria-pressedをサポートする。空でないaria-pressed属性をもつボタンは、トグルボタンである。aria-pressedtrueである場合にボタンは「押された」ステートにあり、aria-pressedfalseである場合にボタンは押されていない。属性が存在しない場合、ボタンは単純なコマンドボタンである。

buttonの特性
特性
スーパークラスロール:command
ベース概念:HTML button
関連する概念:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
Name From:
  • コンテンツ
  • 著者
アクセシブルな名前要求:True
子のプレゼンテーション:True

checkbox (ロール)

truefalse、またはmixedの3つの可能性があるを持つチェック可能な入力。

checkboxaria-checked属性は、入力がチェックされる(true)、チェックされない(false)かどうかを示し、またはチェックされるおよびチェックされないの混合物(mixed)を持つ要素のグループを表す。多くのチェックボックスはmixed値を使用せず、よって事実上真偽チェックボックスである。

checkboxの特性
特性
スーパークラスロール:input
サブクラスロール:
関連する概念:
要求されるステートおよびプロパティ:aria-checked (ステート)
継承されるステートおよびプロパティ:
Name From:
  • コンテンツ
  • 著者
アクセシブルな名前要求:True
暗黙のロールに対する値:aria-checked (ステート)のデフォルトはfalseとなる。

columnheader (ロール)

列のヘッダー情報を含むセル。

columnheaderは、テーブルまたはグリッドの列見出しとして使用することができる。これはまた、データ内の類似関係を示す円グラフで使用することもできる。

ColumnHeaderは、対応する列における見出しとすべてのセルとの間の関係を確立する。これは、列の範囲をもつHTML th要素と構造的に等価である。

著者は、ロールrowをもつ要素に含まれる、または所有されるロールcolumnheaderをもつ要素を保証しなければならない

注:セルは列に編成されるので、列に対する単一のコンテナ要素は存在しない。列は、それぞれのrowコンテナ内の特定の位置におけるgridcell要素のセットである。

Characteristics of columnheader
特性
スーパークラスロール:
ベース概念:HTML th[scope="col"]
要求されるコンテキストロール:row
サポートされるステートおよびプロパティ:aria-sort
継承されるステートおよびプロパティ:
Name From:
  • コンテンツ
  • 著者
アクセシブルな名前要求:True

combobox (ロール)

selectのプレゼンテーション。ユーザーがオプションを選択するために前もって打ち込むか、リストに新しい項目として任意のテキストを入力するために打ち込むことができる、textboxに通常類似する。 関連するlistboxを参照のこと。

comboboxは、リストボックスのポップアップをもつ単一行テキストフィールドの組み合わせのプレゼンテーションである。comboboxは編集可能であるかもしれない。通常、編集可能なコンボボックスは、オートコンプリートの動作のために使用され、そして著者はテキストフィールド上のaria-autocomplete属性を設定すべきである

  • 著者が'none'(デフォルト)にaria-autocompleteのコンボボックスの値を設定する場合、著者は、関連したリストボックスにフォーカスを管理して設定しなければならず、支援技術は、現在選択されている値に従うことができる。
  • 著者が'inline'または'both'にaria-autocompleteのコンボボックスの値を設定する場合、著者は、フォーカスされたテキストフィールドの値を更新しなければならず、支援技術は、現在選択されている値を発表することができる。
  • 著者が'list'にaria-autocompleteのコンボボックスの値を設定する場合、コンボボックスにフォーカスしたままの間、ユーザーエージェントは、コンボボックス上のaria-activedescendant属性への変更を公開しなければならない。コンボボックスがフォーカスされている間にaria-activedescendant属性への変更が発生する場合、支援技術は、たとえば、新しいアクティブ子孫要素の代替テキストを話すことによって、その変更をユーザーに警告すべきである。著者は、aria-ownsを使用するそのリストボックスをもつコンボボックスのテキストフィールドを関連付けるべきである。たとえば:
    <input type="text" aria-label="Tag" role="combobox" aria-expanded="true"
      aria-autocomplete="list" aria-owns="owned_listbox" aria-activedescendant="selected_option">
    <ul role="listbox" id="owned_listbox">
      <li role="option">Zebra</li>
      <li role="option" id="selected_option">Zoom</li>
    </ul>

注:XForms[XFORMS]において同じselectは、コンボボックス、ドロップダウンボックス、またはラジオボタンのグループの3つの外観のいずれかを持つことができる。多くのブラウザは、ユーザーがドロップダウン選択ウィジェットで既存の選択肢に先行入力することができる。この仕様は、コンボボックスのプレゼンテーションを制限しない。

フォーカスの管理で説明したように、キーボードアクセシブルであるために、著者は、このロールのすべてのインスタンスに対する子孫のフォーカスを管理すべきである

注:ロールcomboboxをもつ要素は、trueの暗黙のaria-haspopup値を持つ。

comboboxの特性
特性
スーパークラスロール:select
関連する概念:
要求される所有要素:
要求されるステートおよびプロパティ:aria-expanded (ステート)
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
Name From:著者
アクセシブルな名前要求:True
暗黙のロールに対する値:Default for aria-haspopup is true. aria-expanded (ステート)のデフォルトはfalseとなる。

command (抽象ロール)

アクションを実行するが入力データを受信しないウィジェットのフォーム。

注:commandは、オントロジーのために使用される抽象ロールである。著者は、コンテンツでこのロールを使用しないように指示される。

commandの特性
特性
抽象か:True
スーパークラスロール:widget
サブクラスロール:
関連する概念:
継承されるステートおよびプロパティ:
Name From:著者

complementary (ロール)

DOM階層において同等のレベルで主要コンテンツに相補的であるよう設計されたが、主要コンテンツから分離される際に意味のあるままにする、文書のサポートセクション。

このロールを適切に持つコンテンツの様々な種類が存在する。たとえば、ポータルの場合に、これは含まれるが、視聴時間、現在の天気、関連記事、または注目の株に限定されるものではない。包含されるコンテンツを示す補完的なロールは、主要コンテンツに関連する。相補的なコンテンツが主要コンテンツと完全に分離する場合、より一般的なロールを使用することが適切だろう。

ユーザーエージェントは、ナビゲーションランドマークとしてcomplementaryのロールをもつ要素を扱うべきである

Characteristics of complementary
特性
スーパークラスロール:landmark
継承されるステートおよびプロパティ:
Name From:著者

composite (抽象ロール)

ナビゲーション可能な子孫または所有する子を含むことができるウィジェット

著者は、複合ウィジェットがウェブページのより大きなナビゲーションシステム内の単一のナビゲーションストップとして存在することを確認すべきである。複合ウィジェットがフォーカスを一度持つと、著者は、子孫または複合要素の所有される子である要素にナビゲートするためにユーザーに対する独立したナビゲーション機構を提供すべきである

注:compositeは、オントロジーのために使用される抽象ロールである。著者は、コンテンツでこのロールを使用しないように指示される。

compositeの特性
特性
抽象か:True
スーパークラスロール:widget
サブクラスロール:
サポートされるステートおよびプロパティ:aria-activedescendant
継承されるステートおよびプロパティ:
Name From:著者

contentinfo (ロール)

親文書に関する情報を含む大規模な知覚可能な領域。

ページのこの領域に含まれる情報の例は、著作権やプライバシーステートメントへのリンクである。

ユーザーエージェントは、ナビゲーションランドマークとしてcontentinfoのロールをもつ要素を扱うべきである

任意のdocumentまたはapplicationの中で、著者は、contentinfoロールをもつ複数の要素をマークすべきでない。

注:documentおよびapplication要素はDOMでネストすることができるので、DOMのネスト(たとえば、document内のdocument)によってか、またはaria-owns属性の使用によってのいずれかで、それぞれが異なる文書ノードに関連付けられていると仮定して、DOMの子孫として複数のcontentinfo要素を持ってもよい。

contentinfoの特性
特性
スーパークラスロール:landmark
継承されるステートおよびプロパティ:
Name From:著者

definition (ロール)

用語または概念の定義。

WAI-ARIA仕様は、定義用語を指定するためのロールを提供しないが、ホスト言語は、そのような要素を提供するかもしれない。ホスト言語が(HTMLで例えば、dfnまたはdtなど)用語のための適切な要素を持つ場合、著者はその要素で用語を含むべきである。著者は、definitionのロールをもつ各要素でaria-labelledby属性を使用することで定義用語を識別すべきである

definitionの特性
特性
スーパークラスロール:section
継承されるステートおよびプロパティ:
Name From:著者

dialog (ロール)

ダイアログは、情報を入力するまたは応答を要求するユーザーを促すために、アプリケーションの現在の処理を中断するように設計されるアプリケーションウィンドウである。関連するalertdialogを参照のこと。

著者は、ダイアログのラベルを提供すべきである。他のメカニズムが利用できない場合、ラベルはaria-labelまたはaria-labelledby属性とともに提供されてもよい。著者は、それぞれのアクティブなダイアログが、キーボードフォーカスを持つフォーカスされた子孫要素を持つことを確認すべきである

dialogの特性
特性
スーパークラスロール:window
サブクラスロール:
継承されるステートおよびプロパティ:
Name From:著者
アクセシブルな名前要求:True

directory (ロール)

静的な目次のような、グループのメンバーへの参照のリスト。

著者は、リンクされているかどうか、静的な目次に対してこのロールを使用すべきである。これは、ネストされたリストを含む、リストで構築された目次を含む。しかし、動的な目次は、代わりにtreeロールを使用するかもしれない。

Characteristics of directory
特性
スーパークラスロール:list
サブクラスロール:
関連する概念:
継承されるステートおよびプロパティ:
Name From:
  • コンテンツ
  • 著者

document (ロール)

ウェブapplicationとは対照的な、文書コンテンツとして宣言される関連情報を含む領域。

ユーザーがdocumentのロールを割り当てられた要素をナビゲートする場合、ウェブアプリケーションを通してキーボードイベントを渡すのとは対照的な、典型的に標準のキーボードイベントを横取りする支援技術は、文書閲覧モードに切り替えるべきであるdocumentロールは、文書領域内の任意のコンテンツをユーザーが訪れて読むことを可能にするために、ブラウザーのキーボードサポートを向上する必要性をユーザーエージェントに通知する。対照的に、アクセシブルな方法でコード化された場合に、追加のコマンドはapplicationロールをもつ領域内でテキストを読むためにスクリーンリーダーのユーザーに必要なく、すべてのテキストはセマンティックにフォーカス可能な要素に関連付けされる。文書の重要な特徴は、文書がそれらについてウィジェットまたはグループに関連付けられないテキストを持つことである。

著者は、文書全体を包含する要素にdocumentのロールを設定すべきである。文書ロールがウェブページ全体に適用する場合、著者は、HTMLbody要素またはSVGsvg要素として、コンテンツのルートノード上のdocumentのロールを設定すべきである

たとえば、電子メールアプリケーションは、電子メールアプリケーションで文書およびアプリケーションを持つ。著者は、電子メールのリストを繰り返すために一般的なアプリケーションナビゲーションモードを使用したいと思うし、このナビゲーションの多くは、アプリケーション著者によって定義されるだろう。しかし、電子メールのメッセージを読む場合、コンテンツは、ブラウジングナビゲーションを使用するためにdocumentロールをもつ領域で出現する。

著者は、文書に対するタイトルまたはラベルを提供すべきである。著者は、ナビゲーションプレビューまたはページセクションの目次エントリーとして使用するのに適したラベルテキストを使用すべきである。コンテンツ著者は、次のいずれかの方法でラベルを提供すべきである

  • 文書がウェブページのコンテンツ全体を含む場合、HTMLSVGの両方でtitle要素として、タイトルまたはラベルのホスト言語機能を使用する。これは、文書全体をラベル付けする効果を持つ。
  • そうでなければ、aria-labelledbyを使用する文書によって参照される可視のラベルを提供する。
documentの特性
特性
スーパークラスロール:structure
サブクラスロール:
関連する概念:
サポートされるステートおよびプロパティ:aria-expanded (ステート)
継承されるステートおよびプロパティ:
Name From: 著者
アクセシブルな名前要求:True

form (ロール)

全体として、フォームを作成するために組み合わせるアイテムおよびオブジェクトのコレクションを含むlandmark領域。関連するsearchを参照のこと。

フォームは、ホスト言語のフォームコントロール、スクリプト化コントロール、およびハイパーリンクのミックスであるかもしれない。著者は、可能な限り、フォームコントロールを作成するためにネイティヴホスト言語のセマンティックスを使用することに注意する。検索機能のために、著者は、汎用なformロールでなく、searchロールを使用すべきである。著者は、aria-labelledbyで参照されるフォームに対して可視ラベルを提供すべきである。著者がonsubmitイベントをトリガーしない(たとえば、フォーム要素の値を変更するユーザーによってトリガーされるフォーム送信)ユーザーアクションに基づくフォーム送信をするスクリプトを使用する場合、著者は、行動の事前通知をユーザーに提供すべきである。著者は、可能な限り、フォームコントロールを作成するためにネイティヴホスト言語のセマンティックスを使用することに注意する。

ユーザーエージェントは、ナビゲーションランドマークとしてformのロールをもつ要素を扱うべきである

formの特性
特性
スーパークラスロール:
ベース概念:HTML form
継承されるステートおよびプロパティ:
Name From:著者

grid (ロール)

gridは、テーブルのように、行および列に配列される表形式のデータのセルを含む対話コントロールである。

グリッドは、必ずしもプレゼンテーションを意味するものではない。gridの構成物は、異なるプレゼンテーションのために使用されてもよいようなデータ間の関係を記述する。グリッドは、ユーザーが二次元ナビゲーションを使用してセル間のフォーカスの移動を可能にする。たとえば、gridは、プレゼンテーションチャートの不可視データモデル(CSSで隠されたが支援技術によって依然として操作可能)として使用されるかもしれない。

著者は、ロールgridcellをもつ要素が、順番にロールrowgroupgridまたはtreegridをもつ要素によって所有される、ロールrowをもつ要素によって所有されることを保証しなければならない。著者が(HTMLのtr要素のような)行として機能しているネイティヴマークアップ要素に任意の非グローバルWAI-ARIAステートまたはプロパティを適用する場合、ホスト言語における実装の節で述べられるように、著者も、rowのロールを適用しなければならない。著者は、セルをフォーカス可能にしてもよい。著者は、rowheaderおよびcolumnheaderロールを使用することによって、グリッドの行と列の見出しを提供してもよい

WAI-ARIAはホスト言語の要素を強化することができるので、グリッドは、ネイティヴテーブルグリッドの既存の機能を再利用することができる。WAI-ARIA gridまたはgridcellロールがホスト言語テーブル要素を上書きする場合、要素はそのテーブルに対するホスト言語のセマンティックスを再利用する。たとえば、WAI-ARIAは、複数の行または列にまたがるgridcell要素に対して一般属性を指定しない。著者が複数の行または列にまたがるgridcellを必要とする場合、HTMLのcolspanおよびrowspan属性のような、ホスト言語のマークアップを使用する。

著者は、数式の計算を通してgridcellのコンテンツを決定してもよい。著者は、ユーザーによるセルの数式を編集可能にしてもよい。たとえばスプレッドシートアプリケーションにおいて、セルの代替テキストは、式の計算値とすることができる。しかし、セルを編集している場合に、代替テキストは式そのものであってもよい。

aria-selected属性が設定されるgridcell要素は、ユーザーとの対話のために選択することができ、gridaria-multiselectable属性がtrueに設定される場合、グリッド内の複数のセルは選択されてもよい。グリッドは、デスクトップのスプレッドシートアプリケーションのもののようなスプレッドシートに用いてもよい。

特別の定めのない限り、gridは編集可能と考えられる。gridを読み取り専用にするためには、gridaria-readonly属性をtrueに設定する。grid要素のaria-readonly属性の値は、暗黙のうちにその所有されるgridcell要素のすべてに伝播され、アクセシビリティーAPIを通して公開される。著者は、gridcell上のaria-readonly属性を設定することで、個々のgridcell要素の伝播されるaria-readonly値を上書きすることができる。

フォーカスの管理で説明したように、キーボードアクセシブルであるために、著者は、このロールのすべてのインスタンスに対する子孫のフォーカスを管理すべきである

gridの特性
特性
スーパークラスロール:
サブクラスロール:
ベース概念:HTML table
要求される所有要素:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
Name From:著者
アクセシブルな名前要求:True

gridcell (ロール)

グリッドまたはツリーグリッド内のセル。

セルは、アクティブで、編集可能で、おとび選択可能であってもよい。セルは、機能的関係のアプリケーションを扱うためにaria-controlsのような関係を持ってもよい。

関連する見出しがDOM構造から決定することができない場合、著者は、aria-describedby属性を使用するロールrowheaderまたはcolumnheaderをもつ要素を参照することによってにどのヘッダーセルがどのセルに関連しているかを明示的に示すべきである

treegridにおいて、著者はaria-expanded属性を使用することで拡張可能としてセルを定義してもよいaria-expanded属性が提供される場合、個々のセルにのみ適用される。拡張することもできるコンテナ行に対する代理ではない。セル上にこの属性を提供するための主なユースケースは、ピボットテーブルの動作である。

著者は、ロールgridcellをもつ要素が、ロールrowをもつ要素で含まれるまたは所有されることを保証しなければならない

gridcellの特性
特性
スーパークラスロール:
サブクラスロール:
ベース概念:HTML td
要求されるコンテキストロール:row
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
Name From:
  • コンテンツ
  • 著者
アクセシブルな名前要求:True

group (ロール)

支援技術によってページサマリーまたは目次に含まれることを意図されないユーザーインターフェイスオブジェクトのセット。

ページサマリーまたは目次に含まれるユーザーインターフェイスオブジェクトのグループ化したregionと対比する。

著者は、階層内の兄弟のコレクション、またはディレクトリで同じコンテナを持つアイテムのコレクションを形成するツリーウィジェットにおける子のような、ウィジェットにおける項目の論理的な集合を形成するためにgroupを使用すべきである。しかし、groupがリストのコンテキストで使用される場合、著者は、その子をlistitem要素に制限しなければならない。したがって、著者および支援技術によるgroupの適切な取り扱いは、グループが提供されるコンテキストによって決定される。

著者は、group要素をネストしてもよい。セクションがウェブページの目次に含まれることを保証するのに十分大きい場合、著者は、セクションにregionロールまたは標準ランドマークロールを割り当てるべきである

groupの特性
特性
スーパークラスロール:section
サブクラスロール:
関連する概念:
サポートされるステートおよびプロパティ:aria-activedescendant
継承されるステートおよびプロパティ:
Name From: 著者

heading (role)

ページのセクションに対する見出し。

多くの場合、heading要素は、見出しとして機能するセクションのaria-labelledby属性とともに参照される。見出しが論理アウトラインに構造化される場合、aria-level属性は、ネストレベルを示すために使用することができる。

headingの特性
特性
スーパークラスロール:sectionhead
関連する概念:
サポートされるステートおよびプロパティ:aria-level
継承されるステートおよびプロパティ:
Name From:
  • コンテンツ
  • 著者
アクセシブルな名前要求:True

img (ロール)

画像を形成する要素のコレクションのコンテナ。

imgは、一緒に見た場合に1枚の画像の印象を与える複数の画像ファイルだけでなく、キャプションおよび説明テキストを含めることができる。imgは、描画オブジェクトのコレクションによって形成されているかどうかに関わりなく、文書内の1つのグラフィックを表す。imgロールをもつ要素が知覚可能であるために、著者は、アクセスシブルな名前の計算により決定される代替テキストまたはラベルを提供しなければならない

imgの特性
特性
スーパークラスロール:section
関連する概念:
継承されるステートおよびプロパティ:
Name From:著者
アクセシブルな名前要求:True
子のプレゼンテーション:True

input (抽象ロール)

ユーザー入力を許可するウィジェットの一般的な種類。

inputの特性
特性
抽象か:True
スーパークラスロール:widget
サブクラスロール:
関連する概念:
継承されるステートおよびプロパティ:
Name From:著者

landmark (抽象ロール)

ナビゲーションのランドマークとして意図されるページの領域。

支援技術は、ユーザーがすばやくランドマーク領域に移動できるようにすべきである。メインストリームのユーザーエージェントは、ユーザーがすぐにランドマーク領域に移動することを可能にしてもよい

注:landmarkは、オントロジーのために使用される抽象ロールである。著者は、コンテンツでこのロールを使用しないように指示される。

landmarkの特性
特性
抽象か:True
スーパークラスロール:region
サブクラスロール:
継承されるステートおよびプロパティ:
Name From:著者
アクセシブルな名前要求:False


list (ロール)

非インタラクティブなリスト項目のグループ。関連するlistboxを参照のこと。

リストは、ロールlistitemである子、またはロールが順番にlistitemである子を含むgroupであるロールの要素を含む。

listの特性
特性
スーパークラスロール:region
サブクラスロール:
ベース概念:
要求される所有要素:
継承されるステートおよびプロパティ:
Name From:著者

listbox (ロール)

ユーザーが選択肢のリストから1つ以上の項目を選択できるようにするウィジェット。関連するcomboboxおよびlistを参照のこと。

リスト内の項目は、標準的なHTMLselect要素とは異なり、静的であり、画像を含むことができる。リストボックスは、ロールoptionである子を含む。

フォーカスの管理で説明したように、キーボードアクセシブルであるために、著者は、このロールのすべてのインスタンスに対する子孫のフォーカスを管理すべきである

listboxの特性
特性
スーパークラスロール:
関連する概念:
要求される所有要素:option
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
Name From:著者
アクセシブルな名前要求:True

listitem (ロール)

リストまたはディレクトリにおける1つの項目。

著者は、ロールlistitemをもつ要素が、ロールlistまたはgroupをもつ要素に含まれるまたは要素によって所有されることを保証しなければならない

listitemの特性
特性
スーパークラスロール:section
サブクラスロール:
ベース概念:HTML li
関連する概念:
要求されるコンテキストロール:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
Name From:
  • コンテンツ
  • 著者
アクセシブルな名前要求:True

log (ロール)

新しい情報が意味のある順序で追加されかつ古い情報が消えることのあるライブ領域の種類。関連するmarqueeを参照のこと。

例は、チャットログ、メッセージの履歴、ゲームログ、またはエラーログを含む。他のライブ領域とは対照的に、このロールでログにおける新しい項目の到着と読み上げ順序との間に関係がある。ログは、意味のある配列を含み、新しい情報は任意の点でなく、ログの末尾にのみ追加される。

注:ロールlogをもつ要素は、暗黙のaria-livepoliteを持つ。

logの特性
特性
スーパークラスロール:region
継承されるステートおよびプロパティ:
Name From: 著者
アクセシブルな名前要求:True
暗黙のロールに対する値:aria-liveに対するデフォルトはpoliteである。

main (ロール)

文書の主要コンテンツ。

これは、直接に関連する、または文書の主要なトピックを詳しく述べるコンテンツをマークする。mainロールは、ダイアログを通したユーザーエージェントによって、または支援技術によって提供される主要コンテンツ(または他のランドマーク)に行くためのナビゲーションオプションで、"メインコンテンツにスキップする"リンクに対する控えめな代替手段である。

ユーザーエージェントは、ナビゲーションランドマークとしてmainのロールをもつ要素を扱うべきである

任意のdocumentまたはapplication内で、著者はmainロールをもつ複数の要素をマークすべきではない。

注:documentおよびapplication要素はDOMでネストすることができるので、DOMのネスト(たとえば、document内のdocument)によってか、またはaria-owns属性の使用によってのいずれかで、それぞれが異なる文書ノードに関連付けられていると仮定して、DOMの子孫として複数のmain要素を持ってもよい。

mainの特性
特性
スーパークラスロール:landmark
継承されるステートおよびプロパティ:
Name From:著者

marquee (ロール)

必須でない情報が頻繁に変更されるライブ領域の種類。関連するlogを参照のこと。

marqueeの一般的な使用法は、株価表示や広告バナーである。marqueelogとの間の主な違いは、ログは通常、意味の順序または重要なコンテンツの変更の配列を持つことである。

注:ロールmarqueeをもつ要素は、offのデフォルトのaria-live値を維持する。

Characteristics of marquee
特性
スーパークラスロール:section
継承されるステートおよびプロパティ:
Name From:
  • 著者
アクセシブルな名前要求:True

math (ロール)

数式を表すコンテンツ。

ロールmathをもつコンテンツは、支援技術によってアクセシブルな形式に容易に変換することができる、MathML [MATHML]のようなまたは、TeXやLaTeXのようなテキスト表現の別の種類をもつ、アクセシブルな形式でマークアップされることを意図する。

このロールは、プラグイン機構が"メインストリームの"ユーザーエージェントでMathMLのサポートを有効にするだけでなく、準拠したMathMLにマルチモーダルなアクセスを提供することができるフックを提供する。

mathロールで数式の画像を使用することは不適切であるが、画像が数式を表すために使用される大量のレガシーコンテンツが存在する。修復のために、画像が数式を表現するために使用されている場合、その画像に対して定義される等価なテキストは、妥当なMathMLまたはTeXであるべきである。そのような画像はまた、aria-describedby属性を使用して、話されるかもしれないものとして数式を説明するテキストによってラベル付けされるべきである

MathMLの例:

<div role="math" aria-label="6 divided by 4 equals 1.5">
  <math xmlns="http://www.w3.org/1998/Math/MathML">
    <mfrac>
      <mn>6</mn>
      <mn>4</mn>
    </mfrac>
    <mo>=</mo>
    <mn>1.5</mn>
  </math>
</div>

TeXの例:

<div role="math" aria-label="6 divided by 4 equals 1.5">
  \frac{6}{4}=1.5
</div>
mathの特性
特性
スーパークラスロール:section
継承されるステートおよびプロパティ:
Name From:著者
子のプレゼンテーション:True







note (ロール)

コンテンツがリソースの主要コンテンツに挿入的または付随的であるセクション。

noteの特性
特性
スーパークラスロール:section
継承されるステートおよびプロパティ:
Name From:著者

option (ロール)

selectリストで選択可能な項目。

著者は、ロールlistboxをもつ要素に含まれる、または所有されるロールoptionをもつ要素を保証しなければならないlistboxに関連付けられないオプションは、アクセシビリティーAPIに正しくマッピングされないかもしれない。

optionの特性
特性
スーパークラスロール:input
サブクラスロール:
ベース概念:HTML option
関連する概念:
要求されるコンテキストロール:listbox
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
Name From:
  • コンテンツ
  • 著者
アクセシブルな名前要求:True

presentation (ロール)

暗黙のネイティヴロールセマンティックスがアクセシビリティーAPIに対応づけされない要素

要素がページの外観を変更するために使用されるが、要素型によって暗黙的な、機能的な、インタラクティブな、または構造の関連性を一切持たない、またはWAI-ARIAをサポートしない古いブラウザーでアクセシビリティーフォールバックを提供するために使用する場合が使用目的である。

ユースケースの例:

  • コンテンツが完全にプレゼンテーションな(スペーサー画像、装飾的なグラフィック、または要素をクリアするような)要素。
  • 完全な代替テキストが使用可能でありaria-labelledbyと(必要な場合)aria-describedbyでマークアップされるimgロールをもつコンテナにおける画像。
  • CSSの追加のマークアップ"フック"として使用される要素。または
  • レイアウトテーブルおよび/またはその関連する行、セル、その他のいずれか。

フォーカス可能でない、presentationのロールをもつ任意の要素に対して、ユーザーエージェントは、アクセシビリティーAPIへ要素の暗黙のネイティヴセマンティックス(ロールとそのステートおよびプロパティ)を公開してはならない。しかし、ユーザーエージェントは、presentationの明示的または継承されたロールを持たないコンテンツまたは子孫要素を公開しなければならない。このように、presentationロールは与えられる要素に何のロールも持たないものとして扱われせる、またはアクセシビリティーツリーから削除させるが、要素内に含まれているコンテンツにアクセシビリティーツリーから削除させることはない。

たとえば、アクセシビリティーAPIによれば、次のマークアップ要素は、同じロールセマンティックス(ロールなし)と同じコンテンツを持つように見えるだろう。

<!-- 1. [role="presentation"] negates the implicit 'heading' role semantics but does not affect the contents. -->
<h1 role="presentation"> Sample Content </h1>

<!-- 2. There is no implicit role for span, so only the contents are exposed. -->
<span> Sample Content </span>

<!-- 3. This role declaration is redundant. -->
<span role="presentation"> Sample Content </span>

<!-- 4. In all cases, the element contents are exposed to accessibility APIs without any implied role semantics. -->
<!-- <> --> Sample Content <!-- </> -->

presentationロールは、要素に対するデフォルトのアクセシビリティーAPIロールが存在することを意味する、暗黙のネイティヴセマンティックスを持つ要素で使用される。追加の子孫要素が与えられる場合、一部の要素はただ単に完結する。たとえば、HTMLにおいて、(gridロールとマッチする)table要素は、順番にthまたはtdの子(gridcellcolumnheaderrowheaderロール)を要求する、trの子孫(rowロール)を要求する。同様に、リストはリスト項目の子を必要とする。要素のセマンティックスを完全なものにする子孫要素は、必須の所有される要素としてWAI-ARIAに記載される。

presentationの明示的または継承されるロールが、所有される要素を必要としているWAI-ARIAロールの暗黙のセマンティックをもつ要素に適用され、さらにpresentationの明示的なロールを持つ要素である場合、ユーザーエージェントは、定義された明示的なロールを持たないすべての所有される要素にpresentationの継承されたロールを適用しなければならない。また、presentationの明示的または継承されたロールは、ホスト言語仕様によって定義されるような任意の必須の子を持つホスト言語要素に適用され、さらにpresentationの明示的なロールを持つ要素である場合、ユーザーエージェントは、定義された明示的なロールを持たない任意の必須の子にpresentationの継承されたロールを適用しなければならない。presentationの明示的または継承されるロールをもちかつフォーカス可能でない任意の要素に対して、ユーザーエージェントは、その要素に対するロール固有のWAI-ARIAステートおよびプロパティを無視しなければならない。たとえばHTMLにおいて、presentationのロールをもつulまたはol要素は、ulまたはolが対応するlistロールがlistitem必須の所有される要素を持つので、li要素の暗黙のネイティヴセマンティックスを取り除かさせる。同様に、HTMLtable要素がWAI-ARIAロールに直接対応する暗黙のネイティヴセマンティックロールを持たないが、HTML仕様は要素がtable要素の必須の構造的な子孫であることを示すため、そのthead/tbody/tfoot/tr/th/td子孫の暗黙のネイティヴセマンティックスも削除される。子孫または所有される要素の明示的なロールは、presentationの継承されたロールを上書きし、所有する要素に明示的なロールをもつ他の要素として動作させる。公開する暗黙のロールの動作がアクセシビリティーツリーに不正な形式をもたらす場合、期待される結果は未定義であり、ユーザーエージェントは、アクセシビリティーツリーを修復するために内部の回復メカニズムに助けを求めてもよい

注:WAI-ARIA必須の所有される要素に対応する要素の暗黙のネイティヴセマンティックスのみが削除される。この要素がまた適用されるpresentationの明示的なロールを持たない限り、ネストした表やリストを含む、任意の他のコンテンツは、そのまま残る。

たとえば、アクセシビリティーAPIによれば、次のマークアップ要素は、同じロールセマンティックス(ロールなし)と同じコンテンツを持つように見えるだろう。

<!-- 1. [role="presentation"] negates the implicit 'list' and 'listitem' role semantics but does not affect the contents. -->
<ul role="presentation">
  <li> Sample Content </li>
  <li> More Sample Content </li>
</ul>

<!-- 2. There is no implicit role for span, so only the contents are exposed. -->
<span>
  <span> Sample Content </span>
  <span> More Sample Content </span>
</span>

注:この状況が適用可能である必須の子をもつ他のWAI-ARIAロールが存在する(たとえば、radiogroupsおよびlistboxes)が、テーブルおよびリストは、プレゼンテーションの継承を適用する可能性がある最も一般的な実世界のケースである。

presentationの明示的または継承されるロールをもつ任意の要素に対して、ユーザーエージェントは、プレゼンテーション要素に対するすべてのホスト言語固有の分類要素に継承されるpresentationのロールを適用しなければならない。たとえば、captionは単なるプレゼンテーションテーブルのラベルであるため、presentationのロールをもつtable要素は、caption要素の暗黙のネイティヴセマンティックスを取り除かせる。

明示的または継承されるpresentationのロールをもつ任意の要素について、ユーザーエージェントは、任意の非グローバル、ロール固有のWAI-ARIAステートおよびプロパティを無視しなければならない。しかし、ユーザーエージェントは、たとえ要素が明示的または継承されるpresentationのロールを持つとしても、グローバルなWAI-ARIAステートおよびプロパティをアクセシビリティーAPIに常に公開しなければならない

たとえば、aria-hiddenはグローバル属性であり、常に適用される。要素がプレゼンテーションステートではなかった場合、aria-levelはグローバル属性ではなく、したがって適用のみされる。

<!-- 1. [role="presentation"] negates the implicit 'heading' role semantics but does not affect the global hidden state. -->
<h1 role="presentation" aria-hidden="true"> Sample Content </h1>

<!-- 1. [role="presentation"] negates the both the implicit 'heading' and the non-global level. -->
<h1 role="presentation" aria-level="2"> Sample Content </h1>

presentationのロールをもつ要素がフォーカス可能である場合、要素が理解可能操作可能の両方であることを保証にするために、ユーザーエージェントは、ロールの正常な効果を無視しなければならず、かつ暗黙のネイティヴセマンティックスで要素を公開しなければならないpresentationロールを画像に適用する場合、著者は(HTML4のalt=""を使用するなど)意味のある代替テキストを提供すべきではない

次のコードサンプルにおいて、包含するdiv要素は、imgWAI-ARIAロールを持ち、キャプションの段落によって適切に標識される。ロールおよび代替テキストが包含する要素によって提供されるため、この例においてimg要素はpresentationとしてマークすることができる。

<div role="img" aria-labelledby="caption">
  <img src="example.png" role="presentation" alt="">
  <p id="caption">A visible text caption labeling the image.</p>
</div>

次のコードサンプルにおいて、アンカー(HTMLa要素)はtreeitemとして動作しているので、リスト項目(HTMLli要素)は、リスト項目に対するユーザーエージェントの暗黙のネイティヴセマンティックスを上書きするために明示的なWAI-ARIA presentationロールが割り当てられる。

<ul role="tree">
  <li role="presentation">
    <a role="treeitem" aria-expanded="true">An expanded tree node</a> 
  </li></ul>
presentationの特性
特性
スーパークラスロール:structure
継承されるステートおよびプロパティ:
Name From:
  • 著者(ロールがのエラー条件によって破棄される場合)

progressbar (ロール)

長い時間がかかるタスクの進捗状況を表示する要素

プログレスバーは、ユーザーの要求が受信され、かつアプリケーションが要求された動作を完了に向けて進行していることを示す。著者がaria-valuenow属性を省略すべきである場合に、不確定でない限り、著者は、aria-valuenowaria-valueminaria-valuemaxを提供すべきである。視覚的な進捗インジケーターが更新される際に、著者はこれらの値を更新すべきであるprogressbarがページの特定領域の読み込み進捗を説明している場合、著者は、ステータスを指すためにaria-describedbyを使用すべきであり、ページの読み込みが完了するまで領域上のaria-busy属性をtrueに設定すべきである。常に読み取り専用であるため、ユーザーがprogressbarの値を変更することは不可能である。

注:aria-valuetextが指定されない限り、支援技術は、一般にaria-valueminaria-valuemaxとの値の間の範囲のパーセントとしてaria-valuenowの値をレンダリングする。この計算に適した方法で、aria-valuemin、aria-valuemax、およびaria-valuenowに対する値を設定するのが最適である。

注:ロールprogressbarをもつ要素は、trueの暗黙のaria-readonly値を持つ。

progressbarの特性
特性
スーパークラスロール:range
関連する概念:
継承されるステートおよびプロパティ:
Name From:著者
アクセシブルな名前要求:True
子のプレゼンテーション:True
暗黙のロールに対する値:aria-readonlyに対するデフォルトはtrueである。

radio (ロール)

一方のみが一度にチェックすることができる、radioロールのグループにおけるチェック可能な入力。

著者は、ロールradioをもつ要素が、どれが同じ値に影響を与えるかを示すために明示的にグループ化されることを保証すべきである。これは、ロールradiogroupをもつ要素でradio要素を囲むことによって達成される。ラジオボタンをradiogroupDOMの子にすることが可能でない場合、著者はその子との関係を示すためにradiogroup要素のaria-owns属性を使用すべきである

radioの特性
特性
スーパークラスロール:
サブクラスロール:
関連する概念:
継承されるステートおよびプロパティ:
Name From:
  • コンテンツ
  • 著者
アクセシブルな名前要求:True
暗黙のロールに対する値:aria-checked (ステート)のデフォルトはfalseとなる。

radiogroup (ロール)

radioボタンのグループ。

radiogroupは、どの時点においてもチェックされる単一のエントリーのみを持つことができるselectリストの種類である。著者は、同時にチェックすることができるグループで1つのみのラジオボタンを強制すべきである。グループで1つの項目をチェックする場合、以前にチェックされた項目はチェックを外す(そのaria-checked属性falseにする)。

radiogroupの特性
特性
スーパークラスロール:select
関連する概念:list
要求される所有要素:radio
サポートされるステートおよびプロパティ: aria-required
継承されるステートおよびプロパティ:
Name From:著者
アクセシブルな名前要求:True

range (抽象ロール)

ユーザーによって設定可能な値の範囲を表す入力。

注:rangeは、オントロジーのために使用される抽象ロールである。著者は、コンテンツでこのロールを使用しないように指示される。

rangeの特性
特性
抽象か:True
スーパークラスロール:widget
サブクラスロール:
サポートされるステートおよびプロパティ: aria-valuetext
継承されるステートおよびプロパティ:
Name From:著者

region (ロール)

たとえば、ライブスポーツイベントの統計情報を含むページの領域など、ページサマリーまたは目次に含まれるのに十分に重要である、ウェブページまたは文書の大規模な知覚セクション。

上記で参照される'ページ概要'は、その全体的な組織を即座に記述するための手段として読み込まれた後にページから動的に作成された構造体である。これは、スクリプトを使用する著者によって、または支援技術によって生成することができる。

著者は、aria-labelledbyによって参照される見出しを持つregionを保証すべきである。この見出しは、標準のホスト言語の見出し要素のインスタンスまたは見出しテキストを含むロールheadingをもつ要素のインスタンスによって提供される。

ウェブページの領域を定義する場合、著者は、標準の文書landmarkロールを使用することを検討よう勧める。この領域の定義が不十分である場合、著者は、regionロールを使用し、適切なアクセシビリティー名を提供することができる。

Characteristics of region
特性
スーパークラスロール:section
サブクラスロール:
関連する概念:
継承されるステートおよびプロパティ:
Name From:著者

roletype (抽象ロール)

このタクソノミーで他のすべてのロールが継承する基本ロール

このロールのプロパティは、("インスタンス"としてRDF用語で知られる)このロールに割り当てられるオブジェクトの構造的および機能的目的を説明する。ロールは、インスタンスを理解および操作するために使用することができる概念である。

注:roletypeは、オントロジーのために使用される抽象ロールである。著者は、コンテンツでこのロールを使用しないように指示される。

roletypeの特性
特性
抽象か:True
サブクラスロール:
関連する概念:
サポートされるステートおよびプロパティ:Placeholder for global properties
継承されるステートおよびプロパティ:
Name From:
  • n/a

row (ロール)

グリッドにおけるセルの行。

行は、gridcell要素を含み、gridを整理するのに役立つ。

treegridにおいて、著者は、現在の状態を示すためにaria-expanded属性を使用して、拡張可能として行をマークしてもよい。これは、aria-expanded属性が存在しない、通常のgridには当てはまらない。

著者は、ロールrowをもつ要素がロールgridrowgrouptreegridに含まれるまたは所有されることを保証しなければならない

rowの特性
特性
スーパークラスロール:
ベース概念:HTML tr
要求されるコンテキストロール:
要求される所有要素:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
Name From:
  • コンテンツ
  • 著者

rowgroup (ロール)

グリッドで1つ以上の行要素を含むグループ。

rowgroupロールは、所有されるrow要素間の関係を確立する。これは、HTML table要素におけるtheadtfoot、およびtbody要素と構造的に等価である。

著者は、ロールrowgroupをもつ要素がロールgridをもつ要素に含まれるまたは所有されることを保証しなければならない

注:rowgroupロールは、部分的に、HTMLでロール対称性をサポートするために存在し、適用される明示的なpresentationロールをもつHTML table要素でプレゼンテーション継承の伝播を可能にする。

注:このロールは、行グループ(たとえばtheadtbody)の種類を区別しないが、問題がWAI-ARIA2.0に対して提起されている。

rowgroupの特性
特性
スーパークラスロール:group
ベース概念:HTML theadtfoottbody
要求されるコンテキストロール:grid
要求される所有要素:row
継承されるステートおよびプロパティ:
Name From:
  • コンテンツ
  • 著者

rowheader (role)

グリッドで行のセルを含むヘッダー情報。

rowheaderは、テーブルまたはグリッドの行見出しとして使用することができる。行見出しは、対応する行ですべてのセルとの間の関係を確立する。これは、HTML th要素scope="row"を設定することと構造的に同等である。

著者は、ロールrowheaderをもつ要素が、ロールrowをもつ要素で含まれるまたは要素によって所有されることを保証しなければならない

rowheaderの特性
特性
スーパークラスロール:
ベース概念:HTML th[scope="row"]
要求されるコンテキストロール:row
サポートされるステートおよびプロパティ:aria-sort
継承されるステートおよびプロパティ:
Name From:
  • コンテンツ
  • 著者
アクセシブルな名前要求:True


section (抽象ロール)

文書またはアプリケーションでレンダリング可能な構造収納単位。

注:sectionは、オントロジーのために使用される抽象ロールである。著者は、コンテンツでこのロールを使用しないように指示される。

sectionの特性
特性
抽象か:True
スーパークラスロール:structure
サブクラスロール:
関連する概念:
サポートされるステートおよびプロパティ:aria-expanded (ステート)
継承されるステートおよびプロパティ:
Name From:
  • コンテンツ
  • 著者

sectionhead (抽象ロール)

構造の関連セクションのトピックを分類するまたは要約するもの。

注:sectionheadは、オントロジーのために使用される抽象ロールである。著者は、コンテンツでこのロールを使用しないように指示される。

sectionheadの特性
特性
抽象か:True
スーパークラスロール:structure
サブクラスロール:
サポートされるステートおよびプロパティ:aria-expanded (ステート)
継承されるステートおよびプロパティ:
Name From:
  • コンテンツ
  • 著者

select (抽象ロール)

ユーザーが選択肢のセットから選択を行うことを可能にするフォームウィジェット

注:selectは、オントロジーのために使用される抽象ロールである。著者は、コンテンツでこのロールを使用しないように指示される。

selectの特性
特性
抽象か:True
スーパークラスロール:
サブクラスロール:
継承されるステートおよびプロパティ:
Name From:著者

separator (ロール)

コンテンツのセクションまたはメニュー項目のグループを分離して区別する仕切り。

これは、コンテンツのセクション間の視覚的な区切りである。たとえば、セパレーターは、メニューにおけるメニュー項目のグループ間または分割ウィンドウ枠における2つの領域間の移動可能なセパレーターとして見つけられる。
separatorの特性
特性
スーパークラスロール:structure
関連する概念:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
Name From:著者
子のプレゼンテーション:True

scrollbar (role)

コンテンツが完全に表示画面内に表示されているかどうかに関わらず、表示画内のコンテンツのスクロールを制御するグラフィカルオブジェクト。

スクロールバーは制御する方向(水平または垂直)の可視範囲に関して、スクロールバーの大きさとつまみの位置を介して現在値と可能な値の範囲を表す。その方向は、スクロールバーの方向およびスクロールバーによって制御される表示領域でスクロールする効果を表す。矢印キーなどの方向キーを使用することによって現在の値に加算または減算することが一般に可能である。

著者は、aria-controls属性を制御するスクロール可能な領域を参照するためにスクロールバー要素に設定しなければならない

注:ロールscrollbarをもつ要素は、暗黙のaria-orientationverticalを持つ。

注:aria-valuetextが指定されない限り、支援技術は、一般にaria-valueminaria-valuemaxとの値の間の範囲のパーセントとしてaria-valuenowの値をレンダリングする。この計算に適した方法で、aria-valuemin、aria-valuemax、およびaria-valuenowに対する値を設定するのが最適である。

scrollbarの特性
特性
スーパークラスロール:
要求されるステートおよびプロパティ:
継承されるステートおよびプロパティ:
Name From:著者
アクセシブルな名前要求:False
子のプレゼンテーション:True
暗黙のロールに対する値:aria-orientationに対するデフォルトはverticalである。

slider (ロール)

ユーザーが与えられた範囲内から値を選択するユーザー入力。

スライダーは、スライダーの大きさとつまみの位置を介して現在値と可能な値の範囲を表す。矢印キーなどの方向キーを使用することによって現在の値に加算または減算することが一般に可能である。

sliderの特性
特性
スーパークラスロール:
要求されるステートおよびプロパティ:
サポートされるステートおよびプロパティ:aria-orientation
継承されるステートおよびプロパティ:
Name From:著者
アクセシブルな名前要求:True
子のプレゼンテーション:True

spinbutton (ロール)

ユーザーに個別の選択肢の中から選択することを期待するrangeのフォーム。

一般にspinbuttonは、キーボードの上下ボタンの利用を通して与えられた範囲からユーザーが選択できる。見かけ上は、最大値または最小値に達するまで現在値が増加または減少する。著者は、キーボードのの使用を通して、プログラム的に実現されるべきである

spinbuttonselectの多くのプレゼンテーションに外観が似ているが、個別のオプションとは対照的に(特に大きな範囲の場合に)既知の範囲で作業する際にspinbuttonを使用することを勧める。たとえば、1から1,000,000までの範囲を表すspinbuttonは、同じ値を表すselectウィジェットよりもはるかに優れた性能を提供するだろう。

spinbuttonの特性
特性
スーパークラスロール:
要求されるステートおよびプロパティ:
サポートされるステートおよびプロパティ: aria-required
継承されるステートおよびプロパティ:
Name From:著者
アクセシブルな名前要求:True

status (ロール)

コンテンツはユーザーに対する助言情報であるが、alertを正当化するほど重要ではなく、多くの場合ステータスバーとして提示される必要のないコンテナ。関連するalertを参照のこと。

著者は、ロールstatusをもつ要素内のステータス情報コンテンツを提供しなければならない。著者は、このオブジェクトがフォーカスを受け取らないことを保証すべきである

ステータスは、ライブ領域の一形態である。ページの別の部分がステータスに出現する内容を制御する場合、著者は、aria-controls属性との関係を明示すべきである

支援技術は、ステータスをレンダリングするために点字表示の一部のセルを予約してもよい

注:ロールstatusをもつ要素は、暗黙のaria-livepolite、および暗黙のaria-atomictrueを持つ。

statusの特性
特性
スーパークラスロール:
サブクラスロール:
継承されるステートおよびプロパティ:
Name From:著者
暗黙のロールに対する値: aria-liveに対するデフォルトはpoliteである。
aria-atomicに対するデフォルトはtrueである。

structure (抽象ロール)

文書構造要素

文書構造のためのロールは、静的な文書コンテンツに対するアクティブコンテンツを決定する支援技術を支援することによって、動的なWebコンテンツのアクセシビリティーをサポートする。自身によるstructuralロールはアクセシビリティーAPIへのマップを一切しないが、ウィジェットロールを作成したり、支援技術のためのコンテンツ適応を支援するために使用される。

注:structureは、オントロジーのために使用される抽象ロールである。著者は、コンテンツでこのロールを使用しないように指示される。

structureの特性
特性
抽象か:True
スーパークラスロール:roletype
サブクラスロール:
継承されるステートおよびプロパティ:
Name From:
  • n/a

tab (ロール)

ユーザーにレンダリングされるタブコンテンツを選択するためのメカニズムを提供するグループ化ラベル。

tabpanelにおけるtabpanelまたは項目がフォーカスを持つ場合、関連するtabが、フォーカスの管理で定義されるようなtablistにおける現在アクティブなタブである。関連するtab要素のセットを含むtablist要素は、通常先行する、一連のtabpanel要素の近くに一般に配置される。タブセットデザインパターンの実装の詳細については、WAI-ARIA Authoring Practices Guide [ARIA-PRACTICES]を参照のこと。

著者は、ロールtabをもつ要素がロールtablist要素で含まれるまたは要素によって所有されることを保証しなければならない

著者は、現在アクティブなタブに関連付けられるtabpanelがユーザーに知覚可能であることを保証すべきである

単一の選択可能なtablistに対して、ユーザーがそのタブパネルに関連付けられるタブを選択するまで、著者はユーザーからの他のtabpanel要素を非表示にすべきである。複数の選択可能なtablistに対して、著者は、各可視tabpanelがそのaria-expanded属性trueに設定され、かつ残りの非表示tabpanel要素がそのaria-expanded属性をfalseに設定されることを確認すべきである

いずれの場合も、著者は、選択したタブがそのaria-selected属性をtrueに設定され、非アクティブタブ要素がそのaria-selected属性をfalseに設定され、現在選択されるタブが、選択の視覚的な表示を提供することを保証すべきである。現在のタブにaria-selected属性が存在しない場合、ユーザーエージェントは、現在フォーカスされるタブが選択されているプラットフォームのアクセシビリティーAPIを通じて支援技術に示すべきである

tabの特性
特性
スーパークラスロール:
要求されるコンテキストロール:tablist
サポートされるステートおよびプロパティ:aria-selected (ステート)
継承されるステートおよびプロパティ:
Name From:
  • コンテンツ
  • 著者

tablist (ロール)

tabpanel要素への参照であるtab要素のリスト。

フォーカスの管理で説明したように、キーボードアクセシブルであるために、著者は、このロールのすべてのインスタンスに対する子孫のフォーカスを管理すべきである

単一の選択可能なtablistに対して、ユーザーがそのタブパネルに関連付けられるタブを選択するまで、著者はユーザーからの他のtabpanel要素を非表示にすべきである。複数の選択可能なtablistに対して、著者は、各可視tabpanelがそのaria-expanded属性trueに設定され、かつ残りの非表示tabpanel要素がそのaria-expanded属性をfalseに設定されることを確認すべきである

tablistの要素は一般に、一連のtabpanel要素の近く、通常は先行する、に配置される。タブセットデザインパターンの実装の詳細については、WAI-ARIA Authoring Practices Guide [ARIA-PRACTICES]を参照のこと。

tablistの特性
特性
スーパークラスロール:
関連する概念:
要求される所有要素:tab
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
Name From:
  • 著者

tabpanel (ロール)

tabtablistに含まれる、tabに関連付けられたリソースに対するコンテナ。

著者は、タブパネルを参照するためにタブのaria-controls属性を使用して、またはタブを参照するためにタブパネルのaria-labelledby属性を使用してのいずれかで、そのtabをもつtabpanel要素を関連付けるべきである

tablistの要素は一般に、一連のtabpanel要素の近く、通常は先行する、に配置される。タブセットデザインパターンの実装の詳細については、WAI-ARIA Authoring Practices Guide [ARIA-PRACTICES]を参照のこと。

tabpanelの特性
特性
スーパークラスロール:region
継承されるステートおよびプロパティ:
Name From:著者
アクセシブルな名前要求:True

textbox (ロール)

入力値として自由形式のテキストを許可するもの。

aria-multiline属性trueである場合、ウィジェットは、HTML textareaの中のように、入力内の改行を受け付ける。そうでなければ、これは単純なテキストボックスである。使用目的は、テキスト入力要素を持たない言語に対して、または異なるセマンティックスをもつ要素がテキストフィールドとして再利用されるケースである。

注:ほとんどのユーザーエージェントの実装において、ENTERキーまたはRETURNキーのデフォルトの動作は、HTMLで、単一行と複数行のテキストフィールドとの間で異なる。ユーザーが単一行の<input type="text">要素にフォーカスを持つ場合、キーストロークは通常、フォームを送信する。ユーザーが複数行の<textarea>要素にフォーカスを持つ場合、キーストロークは改行を挿入する。WAI-ARIA textboxロールは、aria-multiline属性をもつボックスのこれらの種類を区別する。よって著者は、フィールドを設計する際にこの区別を意識することを勧める。

textboxの特性
特性
スーパークラスロール:input
関連する概念:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
Name From:著者
アクセシブルな名前要求:True

timer (ロール)

開始時点からの経過時間を示す、または終了時点までの残り時間を示す数値カウンタを含むライブ領域の種類。

タイマーオブジェクトのテキストコンテンツは、現在の時間測定を示し、その量が変化するように更新される。タイマー値は必ずしも機械的に解釈できるものではないが、著者は、タイマーが一時停止するまたは終点に到達する場合を除いて、一定間隔でテキストコンテンツを更新すべきである

注:ロールtimerをもつ要素は、offのデフォルトのaria-live値を維持する。

timerの特性
特性
スーパークラスロール:status
継承されるステートおよびプロパティ:
Name From:著者
アクセシブルな名前要求:True

toolbar (ロール)

一般的に使用される小型の視覚形式で表現される機能ボタンまたはコントロールのコレクション。

ツールバーは多くの場合、この機能を使用ことでユーザーの労力を低減するように設計される、menubarで見られる機能のサブセットである。アプリケーションが複数のツールバーを含む場合に、著者は各ツールバー上のaria-labelプロパティを供給しなければならない

フォーカスの管理で説明したように、著者は、このロールのすべてのインスタンスに対する子孫のフォーカスを管理してもよい

toolbarの特性
特性
スーパークラスロール:group
関連する概念:
継承されるステートおよびプロパティ:
Name From:著者

tooltip (ロール)

要素の説明を表示するコンテキストポップアップ。

tooltipは一般に、マウスのホバーに対応して可視になる、または所有する要素の後にキーボードフォーカスを受け取る。これらのケースのそれぞれにおいて、著者は、短い遅延の後にツールチップを表示すべきであるWAI-ARIAのツールチップの使用は、ユーザーエージェントの通常のツールチップの動作を補足するものである。

注:典型的なツールチップは、1から5秒遅らせる。

著者は、ロールtooltipをもつ要素がツールチップが表示される時点までaria-describedbyの利用を通して参照されていることを保証すべきである

tooltipの特性
特性
スーパークラスロール:section
継承されるステートおよびプロパティ:
Name From:
  • コンテンツ
  • 著者
アクセシブルな名前要求:True

tree (ロール)

折りたたみおよび展開することができるより低いレベルでネストされるグループを含むかもしれないlistの種類。

フォーカスの管理で説明したように、キーボードアクセシブルであるために、著者は、このロールのすべてのインスタンスに対する子孫のフォーカスを管理すべきである

treeの特性
特性
スーパークラスロール:select
サブクラスロール:
要求される所有要素:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
Name From:
  • 著者
アクセシブルな名前要求:True

treegrid (ロール)

行がtreeの場合と同様に開いたり閉じたりすることができるgrid

特別の定めのない限り、treegridは編集可能と考えられる。treegridを読み取り専用にするためには、treegridaria-readonly属性をtrueに設定する。treegrid要素のaria-readonly属性の値は、暗黙のうちにその所有されるgridcell要素のすべてに伝播され、アクセシビリティーAPIを通して公開される。著者は、gridcell上のaria-readonly属性を設定することで、個々のgridcell要素の伝播されるaria-readonly値を上書きしてもよい。

フォーカスの管理で説明したように、キーボードアクセシブルであるために、著者は、このロールのすべてのインスタンスに対する子孫のフォーカスを管理すべきである

treegridの特性
特性
スーパークラスロール:
要求される所有要素:row
継承されるステートおよびプロパティ:
Name From:著者
アクセシブルな名前要求:True

treeitem (ロール)

treeのオプション項目。これは、より低いレベルのtreeitem要素のグループを含む場合に、開いたり閉じたりするかもしれないツリー内の要素である。

展開および折りたたまれるtreeitem要素のコレクションは、groupロールをもつ要素で囲まれる。

著者は、ロールtreeitemをもつ要素が、ロールgroupまたはtreeをもつ要素に含まれるまたは要素によって所有されることを保証しなければならない

treeitemの特性
特性
スーパークラスロール:
要求されるコンテキストロール:
継承されるステートおよびプロパティ:
Name From:
  • コンテンツ
  • 著者
アクセシブルな名前要求:True

widget (抽象ロール)

グラフィカルユーザーインターフェイス(GUI)のインタラクティブなコンポーネント。

ウィジェットは、ユーザーが操作することができる別個のユーザーインターフェイスオブジェクトである。ウィジェットロールアクセシビリティーAPIにおける標準的な機能にマップされる。ユーザーがウィジェットのいずれかの非抽象サブクラスロールを割り当てられた要素をナビゲートする場合、通常は標準のキーボードイベントを横取りする支援技術は、アプリケーションのブラウジングモードに切り替え、ウェブアプリケーションを通してキーボードイベントを渡すべきである。この意図は、ウェブアプリケーションと対話するためのより適切なモードに通常のブラウジングモードから切り替えることで確実な支援技術への示唆をすることである。一部のユーザーエージェントは、上下矢印などのキーが、文書を閲覧するために使用されるブラウジングナビゲーションモードを持っており、このネイティヴ動作は、ウェブアプリケーションによるこれらのキーの使用を防止する。

注:widgetは、オントロジーのために使用される抽象ロールである。著者は、コンテンツでこのロールを使用しないように指示される。

widgetの特性
特性
抽象か:True
スーパークラスロール:roletype
サブクラスロール:
継承されるステートおよびプロパティ:
Name From:
  • n/a

window (抽象ロール)

ブラウザーまたはアプリケーションのウィンドウ。

このロールをもつ要素は、オペレーティングシステムにおけるネイティヴウィンドウとして、または単にウィンドウのように見えるスタイル付けされた文書のセクションとして実装されているかどうかにかかわらず、グラフィカルユーザーインターフェイス(GUI)コンテキストにおける窓状の挙動を持つ。

注:windowは、オントロジーのために使用される抽象ロールである。著者は、コンテンツでこのロールを使用しないように指示される。

windowの特性
特性
抽象か:True
スーパークラスロール:roletype
サブクラスロール:
サポートされるステートおよびプロパティ:aria-expanded (ステート)
継承されるステートおよびプロパティ:
Name From: 著者

6. サポートされるステートおよびプロパティ

この章は、規範的である。

6.1. プロパティに対するステートの明確化

用語"ステート"および"プロパティ"は、類似の機能を参照する。両者はオブジェクトに関する特定の情報を提供し、ロールのもつ性質の定義の一部を形成する。この文書において、ステートおよびプロパティはaria-prefixedマークアップ属性として両方扱われる。しかし、両者は、その意味の微妙な違いを明確にするために概念的に異なるよう維持される。一つの大きな違いは、(aria-labelledbyなどの)プロパティのは多くの場合、ユーザーとの対話に起因して頻繁に変更するかもしれない(aria-checkedなどの)ステートの値よりも、アプリケーションのライフサイクルを通じて変化する可能性がより低いということである。変更差分の周期は習慣ではないことに注意する。aria-activedescendantaria-valuenowaria-valuenowaria-valuetextのようないくつかのプロパティは、頻繁に変更することが期待される。ステートとプロパティの区別はほとんどのウェブコンテンツ著者に取るに足りないことであるので、この仕様は、可能ならいつでも、"ステート"と"プロパティ"の両方を単に"属性"として参照する。詳細については、ステートおよびプロパティの定義を参照のこと。

6.2. ステートおよびプロパティの特性

ステートおよびプロパティは、次節で説明する特性を持つ。

6.2.1. 関連する概念

このステートまたはプロパティに対応するこのまたは他の言語からの機能に関する助言情報。対応は正確でないかもしれないが、ステートまたはプロパティの意図を理解するのを手助けするために便利である。

6.2.2. ロールで使用される

このステートまたはプロパティを使用するロールに関する助言情報。この情報は、ステートまたはプロパティの適切な使用方法を理解するために提供される。記載される以外のロールに使用される場合に所定のステートまたはプロパティの使用は定義されない。

6.2.3. ロールに継承する

祖先ロールからステートまたはプロパティを継承するロールに関する助言情報。

6.2.4.

ステートまたはプロパティの値型。値は次の種類のいずれかだろう:

true/false
デフォルトは"false"の値をもつ、trueまたはfalseのいずれかを表す値。
tristate
中間の"mixed"の値をもつ、trueまたはfalseを表す値。特に指定しない限り、デフォルト値は "false"である。
true/false/undefined
ステートまたはプロパティを示すものが関連しないデフォルトで"undefined"の値をもつ、trueまたはfalseを表す値。
ID参照
同じ文書内の別要素のIDへの参照
ID参照リスト
1つ以上のID参照のリスト。
整数
小数成分を含まない数値。
任意の実数の値。
文字列
制約のない値型。
トークン
許可された限定セットの1つ。
トークンリスト
1つ以上のトークンのリスト。

"undefined"値は、ステートまたはプロパティで許可される場合、ステートまたはプロパティが設定されないことを明示するものである。値は、トークンをサポートするステートおよびプロパティに使用され、"undefined"値は、許可されたトークンの1つである文字列である。"undefined"が"false"とは異なる意味を持つ場合にも、true/false値を受け入れる一部のステートおよびプロパティで使用される。

これは、ステートおよびプロパティに対する一般的なタイプであるが、具体的な表現を定義しない。この値がホスト言語で表現され処理される方法の詳細については、ステートおよびプロパティ属性処理を参照のこと。

6.3. ステートおよびプロパティの値

多くのステートおよびプロパティは、として特定のトークンのセットを受け入れる。許可された値とその意味の説明は、特性表の後に示される。定義される場合、デフォルト値は、括弧内の用語'デフォルト'に続いて、太字で示される。値がデフォルトとして表示される場合、ユーザーエージェントは、ステートまたはプロパティが空または未定義である場合に、この値で規定される動作に従わなければならない。一部のロールはまた、デフォルト値を持たない特定のステートやプロパティが提供されない場合に使用する動作を定義する。

6.4. グローバルなステートおよびプロパティ

一部のステートおよびプロパティは、ロールが適用されるかどうかに関係なく、すべてのホスト言語要素に適用可能である。次のグローバルなステートおよびプロパティは、すべてのロールによって、およびすべての基本マークアップ要素によってサポートされる。

グローバルなステートおよびプロパティは、基本ロールであるロールroletypeに適用され、よってすべてのロールに継承する。読みやすさのために、仕様においてステートおよびプロパティをサポートされるまたは継承されるかのいずれかとして明示的に識別されない。その代わりに、継承はこのセクションへのリンクで示される。

6.5. WAI-ARIAのステートおよびプロパティのタクソノミー

ステートおよびプロパティは、次のように分類される:

  1. ウィジェット属性
  2. ライブ領域属性
  3. ドラッグアンドドロップ属性
  4. 関係属性

6.5.1. ウィジェット属性

この節は、ユーザー入力およびプロセスのユーザーアクションを受け取るGUIシステム上またはリッチインターネットアプリケーションに見られる共通のユーザーインターフェイス要素に固有の属性が含まれる。以下の属性は、ウィジェットロールをサポートするために使用される。

ウィジェット属性は、支援技術によるアクセスに対して、プラットフォームアクセシビリティーAPIステートユーザーエージェントによってマッピングされるかもしれず、またはDOMから直接アクセスされるかもしれない。ユーザーエージェントは、DOM属性変更イベントまたはプラットフォームのアクセシビリティーAPIイベントのいずれかを通じて、ステートを変更する際に支援技術に通知するための方法を提供しなければならない

6.5.2. ライブ領域属性

この節は、リッチインターネットアプリケーションにおけるライブ領域に固有の属性が含まれる。この属性は、任意の要素に適用することができる。この属性の目的は、コンテンツの変更がフォーカスを持つ要素なしに発生することがあり、そしてそのコンテンツの更新を処理する方法の情報を支援技術に提供することを示すためである。一部のロールは、そのロールに固有のaria-live属性にデフォルトを指定する。ライブ領域の例としては、株価情報の更新を列挙するティッカーセクションがある。

6.5.3. ドラッグアンドドロップ属性

この節は、ドラッグ可能な要素とそのドロップターゲットのような、ドラッグアンドドロップインターフェイス要素に関する情報を示す属性を列挙する。ドロップターゲット情報は、著者によって視覚的にレンダリングされ、代替モダリティを通じて支援技術に提供される。

ドラッグアンドドロップを使用する方法の詳細については、 WAI-ARIA Authoring Practicesにおけるドラッグアンドドロップサポート([ARIA-PRACTICES])を参照のこと。

6.5.4. 関係属性

この節は、文書構造から容易に決定することができない要素間の関係または関連を示す属性を列挙する。

6.6. ステートおよびプロパティの定義(すべてのaria-*属性)

以下は、リッチインターネットアプリケーションの著者によって使用されるWAI-ARIAステートおよびプロパティのアルファベット順のリストである。各WAI-ARIAのステートおよびプロパティの詳細な定義は、次の簡潔なリストに従う。

aria-activedescendant
複合ウィジェットの現在アクティブな子孫を識別する。
aria-atomic
支援技術がaria-relevant属性によって定義される変更通知に基づく変更される領域のすべて、または一部のみを提示するかどうかを示す。関連するaria-relevantを参照のこと。
aria-autocomplete
ユーザー入力を補完する提案が提供されるかどうかを示す。
aria-busy (ステート)
要素、およびそのサブツリーが現在更新されているかどうかを示す。
aria-checked (ステート)
チェックボックス、ラジオボタン、および他のウィジェットの現在のを"checked"ステートを示す。関連するaria-pressedおよびaria-selectedを参照のこと。
aria-controls
コンテンツまたは存在が現在の要素によって制御される要素を識別する。関連するaria-ownsを参照のこと。
aria-describedby
オブジェクトを記述する要素を識別する。関連するaria-labelledbyを参照のこと。
aria-disabled (ステート)
要素が知覚可能であるが無効であるため、編集可能か、そうでなければ操作可能でないことを示す。関連するaria-hiddenおよびaria-readonlyを参照のこと。
aria-dropeffect
ドラッグされたオブジェクトがドロップターゲットに投下される際に機能が実行できるかを示す。これは、選択肢のポップアップメニューがアプリケーションによって提供されるかどうかを含め、支援技術がユーザーに利用できる可能なドラッグオプションを伝えることを可能にする。一般にドロップ効果機能は、ドロップ効果機能がドラッグされているオブジェクト次第であるので、ドラッグ操作に対してつかまれているオブジェクトにのみ提供することができる。
aria-expanded (ステート)
要素、または要素が制御する別のグループ化要素が、現在展開されるまたは折りたたまれるかどうかを示す。
aria-flowto
ユーザーの裁量で、支援技術が文書ソースの順に読み上げの一般的なデフォルトを上書きを可能にする、コンテンツの代替読み上げ順で次の要素を識別する。
aria-grabbed (ステート)
ドラッグアンドドロップ操作で、要素の"grabbed"ステートを示す。
aria-haspopup
要素がポップアップのコンテキストメニューまたはサブレベルのメニューを持つことを示す。
aria-hidden (ステート)
要素と要素の子孫のすべてが著者によって実装されるように任意のユーザーに可視または知覚可能ではないことを示す。関連するaria-disabledを参照のこと。
aria-invalid (ステート)
アプリケーションによって期待されるフォーマットに準拠しない入力された値を示す。
aria-label
現在の要素を分類する文字列の値を定義する。関連するaria-labelledbyを参照のこと。
aria-labelledby
現在の要素を分類する要素を識別する。関連するaria-labelおよびaria-describedbyを参照のこと。
aria-level
構造内の要素の階層レベルを定義する。
aria-live
要素が更新され、最新版ユーザーエージェント、支援技術の種類を説明し、ユーザーがライブ領域から期待することができることを示す。
aria-multiline
テキストボックスが複数行の入力または単一行のみを受け入れるかどうかを示す。
aria-multiselectable
ユーザーが現在の選択可能な子孫から複数の項目を選択できることを示す。
aria-orientation
要素および向きが水平または垂直であるかどうかを示す。
aria-owns
DOM階層が関係を表すために使用することができない場合に、DOM要素間の、視覚、機能、または文脈親/子関係を定義するために、要素を識別する。関連するaria-controlsを参照のこと。
aria-posinset
リスト項目またはツリー項目の現在のセットにおける要素の数または位置を定義する。セット内のすべての要素がDOMに存在する場合は必要ない。関連するaria-setsizeを参照のこと。
aria-pressed (ステート)
トグルボタンの現在の"pressed"ステートを示す。関連するaria-checkedおよびaria-selectedを参照のこと。
aria-readonly
要素が編集可能でないが、その他の点で動作可能であることを示す。関連するaria-disabledを参照のこと。
aria-relevant
支援技術がライブ領域内で受信するユーザーエージェントの(追加、削除などの)変更通知を示す。関連するaria-atomicを参照のこと。
aria-required
フォームが送信される前にユーザー入力が要素に必要とされることを示す。
aria-selected (ステート)
さまざまなウィジェットの現在の"selected"ステートを示す。関連するaria-checkedおよびaria-pressedを参照のこと。
aria-setsize
リスト項目またはツリー項目の現在のセット内の項目の数を定義する。セット内のすべての要素がDOMに存在する場合は必要ない。関連するaria-posinsetを参照のこと。
aria-sort
テーブルまたはグリッド内の項目が昇順または降順にソートされるかどうかを示す。
aria-valuemax
範囲ウィジェットに対する最大許容値を定義する。
aria-valuemin
範囲ウィジェットに対する最小許容値を定義する。
aria-valuenow
範囲ウィジェットに対する現在値を定義する。関連するaria-valuetextを参照のこと。
aria-valuetext
範囲ウィジェットに対するaria-valuenowの人間可読な代替テキストを定義する。

aria-activedescendant (プロパティ)

compositeウィジェットの現在アクティブな子孫を識別する。

複合ウィジェットがすべての子にフォーカス可能にさせるものに属するオーバーヘッドを減らすために現在のアクティブな子を管理する責任がある場合に、これは使用される。例として、マルチレベルリスト、ツリー、グリッドがある。一部の実装において、ユーザーエージェントは、アクティブな子孫がフォーカスを持つ支援技術に伝えるためにaria-activedescendantを使用できる。著者は、複合ウィジェットのフォーカスされる子孫のaria-activedescendant属性を使用してもよい。たとえば、コンボボックスのテキストボックス子孫に。

著者は、aria-activedescendant属性によって対象にされる要素が、DOM内のコンテナの子孫、またはaria-owns属性によって示されるような論理子孫のいずれかであることを保証すべきである。ユーザーエージェントは、アクティブな子孫がコンテナの子孫であることの検証を期待されない。著者は、フォーカスされる際に現在アクティブな子孫が可視であり視野内にある(またはスクロールすると視野に入る)ことを保証すべきである

aria-activedescendantの特性
特性
関連する概念:
ロールで使用される:
ロールに継承する:
値:ID参照

aria-atomic (プロパティ)

支援技術aria-relevant属性によって定義される変更通知に基づく変更される領域のすべて、または一部のみを提示するかどうかを示す。関連するaria-relevantを参照のこと。

アクセシビリティーAPIドキュメントオブジェクトモデル[DOM]の両者は、支援技術が文書の変更された領域を決定するのを可能にするイベントを提供する。

ライブ領域のコンテンツが変更される場合、ユーザーエージェントは、変更された要素を調査し、aria-atomicセットをもつ最初の要素を見つけるために先祖を横断し、以下の場合に対する適切な動作を適用すべきである

  1. 先祖のいずれも明示的にaria-atomicを設定しない場合、aria-atomicfalseであるのがデフォルトであり、支援技術はユーザーに変更されたノードのみを表示する。
  2. aria-atomicが明示的にfalseに設定される場合、支援技術は、先祖チェーンの検索を停止し、ユーザーに変更されたノードのみを表示する。
  3. aria-atomicが明示的にtrueに設定される場合、支援技術は、要素の完全なコンテンツを表示する。

aria-atomictrueである場合、支援技術は、複数の変更を結合し、一度に全体の変更領域を表示することを選択してもよい

aria-atomicの特性
特性
ロールで使用される:基本マークアップのすべての要素
値:true/false
aria-atomicの値
説明
true:支援技術は、全体として完全な領域を表示する。
false (デフォルト):領域内の変更は、独自に支援技術によって処理することができる。

aria-autocomplete (プロパティ)

ユーザー入力を補完する提案が提供されるかどうかを示す。

inlineまたはbothのいずれかに設定したaria-autocomplete属性をもつtextboxに対して、著者は、任意の自動補完テキストが選択されていることを保証すべきであり、その結果ユーザーはテキストボックス上に入力することができる。

aria-autocompleteの特性
特性
関連する概念:
ロールで使用される:
値:トークン
aria-autocompleteの値
説明
inline:システムは、フィールドを完成させる方法の提案としてキャレットの後にテキストを提供する。
list:選択肢のリストはユーザーが選択することができるものから出現する。
both:選択肢のリストが表示され、現在選択される提案もまたインラインで表示される。
none (デフォルト):入力補完提案は提供されない。

aria-busy (ステート)

要素、およびそのサブツリーが現在更新されているかどうかを示す。

デフォルトは、aria-busyfalseである。著者が同じ要素の複数部分がロードまたは変更する必要があることがわかっている場合、最初の部分がロードされる際に、要素はaria-busytrueに設定することができ、その後、最後の部分がロードされる際にaria-busyfalseに設定する。スクリプトの実行またはロードが原因でウィジェットが要求される所有要素が見つからない場合、著者は、trueに同等なaria-busyをもつ要素を含むものをマークしなければならない。たとえば、ページが完全に初期化されて完了するまで、著者はbusyなどの文書要素をマークするかもしれない。要素の更新にエラーが存在する場合、著者はaria-invalid属性にtrueを設定してもよい

aria-busyの特性
特性
ロールで使用される:基本マークアップのすべての要素
値:true/false
aria-busyの値
説明
true:ライブ領域は依然として更新されている。
false (デフォルト):そのライブ領域に対して予期される更新はそれ以上ない。

aria-checked (ステート)

チェックボックス、ラジオボタン、および他のウィジェットの現在のを"checked"ステートを示す。関連するaria-pressedおよびaria-selectedを参照のこと。

aria-checked属性は、要素がチェック(true)、未チェック(false)、チェックおよび未チェックのの混合物(mixed)を持つ他の要素のグループを表すかどうかを示す。ほとんどの入力はtruefalseの値のみをサポートするが、mixed値はcheckboxmenuitemcheckboxなどの特定のトライステート入力によってサポートされる。

mixed値は、radioまたはmenuitemradioまたはタクソノミーでこれらを継承する任意の要素ではサポートされずユーザーエージェントは、そのロールfalseと同等のmixed値を扱わなければならない

トライステート入力のmixed値を使用する例は、WAI-ARIA Authoring Practices [ARIA-PRACTICES]で扱われる。

aria-checkedの特性
特性
ロールで使用される:option
ロールに継承する:
値:tristate
Values of aria-checked
説明
true:要素はチェックされる。
false:チェックされている要素はサポートするが、現在チェックされない。
mixed:トライステートcheckboxまたはmenuitemcheckboxに対する混合モード値を示す。
undefined (デフォルト)要素はチェックされるものをサポートしない。

aria-controls (プロパティ)

コンテンツまたは存在が現在の要素によって制御される要素を識別する。関連するaria-ownsを参照のこと。

たとえば:

  • コンテンツツリービューの表は、隣接する文書ペインのコンテンツを制御することができる。
  • チェックボックスのグループは、商品価格が表やグラフにライブ追跡されるものを制御することができる。
  • タブは、関連するタブパネルの表示を制御する。
aria-controlsの特性
特性
ロールで使用される:基本マークアップのすべての要素
値:ID参照リスト

aria-describedby (プロパティ)

オブジェクトを記述する要素を識別する。関連するaria-labelledbyを参照のこと。

aria-labelledby属性は、代替テキストを計算するために、その両方の参照要素でaria-describedbyに似ているが、説明がより詳細な情報を提供することを目的とする場所で、ラベルは、簡潔にすべきである。

要素またはaria-describedbyに参照される要素は、全体の記述から成る。必要に応じて、複数の要素にID参照を含む、またはIDによって参照される要素をもつ要素(たとえば、段落)のセットを囲む。

aria-describedbyの特性
特性
関連する概念:
ロールで使用される:基本マークアップのすべての要素
値:ID参照リスト

aria-disabled (ステート)

要素知覚可能であるが無効であるため、編集可能か、そうでなければ操作可能でないことを示す。関連するaria-hiddenおよびaria-readonlyを参照のこと。

例えば、ラジオグループ内の無関係なオプションは、無効化することができる。無効化された要素は、タブ順序からフォーカスを取得しないかもしれない。一部の無効要素の場合、アプリケーションは子孫へのナビゲーションをサポートしないことを選択するかもしれない。aria-disabled属性の設定に加えて、著者は、項目が無効にされていることを示すために(グレー表示など)外観を変更すべきである

無効にされているステートは、現在の要素およびaria-disabled属性が適用される要素のすべてのフォーカス可能な子孫要素に適用される。

aria-disabledの特性
特性
ロールで使用される:基本マークアップのすべての要素
値:true/false
aria-disabledの値
説明
true:要素およびすべてのフォーカス可能な子孫は無効にされ、要素の値はユーザーによって変更することができない。
false (デフォルト):要素が有効になる。

aria-dropeffect (プロパティ)

ドラッグされたオブジェクトがドロップターゲットに投下される際に機能が実行できるかを示す。これは、選択肢のポップアップメニューがアプリケーションによって提供されるかどうかを含め、支援技術がユーザーに利用できる可能なドラッグオプションを伝えることを可能にする。一般にドロップ効果機能は、ドロップ効果機能がドラッグされているオブジェクト次第であるので、ドラッグ操作に対してつかまれているオブジェクトにのみ提供することができる。

1つ以上のドロップ効果は、与えられた要素に対してサポートされてもよい。したがって、この属性は、効果の可能性を示すスペース区切りのトークンのセット、またはサポートされる操作が存在しない場合はnoneである。aria-dropeffect属性を設定することに加えて、著者は、潜在的なドロップターゲットの視覚表示を示すべきである

aria-dropeffectの特性
特性
ロールで使用される:基本マークアップのすべての要素
値:トークンリスト
aria-dropeffectの値
説明
copy:ソースオブジェクトの複製がターゲットにドロップされる。
move:ソースオブジェクトは、現在の場所から削除され、ターゲットにドロップされる。
link:ドラッグされたオブジェクトへの参照またはショートカットは、ターゲットオブジェクトに作成される。
execute:ドロップターゲットによってサポートされる機能は実行され、入力としてドラッグソースを使用する。
popup:ユーザーがドラッグ操作(コピー、移動、リンク、実行)の1つおよび、キャンセルなどの他のドラッグ機能を選択することができるポップアップメニューまたはダイアログが存在する。
none (デフォルト):いずれの操作も実行されない。試みがこのオブジェクト上にドロップさせた場合、事実上ドラッグ操作を中止する。他のトークン値と組み合わせる場合は無視される。たとえば'none copy'は'copy'の値に相当する。

aria-expanded (ステート)

要素、または要素が制御する別のグループ化要素が、現在展開されるまたは折りたたまれるかどうかを示す。

これは、たとえば、ツリーの一部を展開または折りたたみされるかどうかを示す。他の例において、これは、コンテンツ密度を管理するための柔軟な展開可能かつ折り畳み可能な領域をマークするためにページのセクションに適用することができる。折りたたみセクションによってユーザーインターフェイスを簡素化することは、認知や発達障害をもつ人も含め、すべての人に対するユーザービリティーを向上させることができる。

aria-expanded属性をもつ要素が要素'によって所有'されない別のグループ化コンテナの展開を制御する場合、著者はaria-controls属性を使用することによってコンテナを参照すべきである

aria-expandedの特性
特性
関連する概念:
ロールで使用される:
ロールに継承する:
値:true/false/undefined
aria-expandedの値
説明
true:要素、または要素が制御する別のグループ化要素が展開される。
false:要素、または要素が制御する別のグループ化要素が折りたたまれる。
undefined (デフォルト)要素、または要素が制御する別のグループ化要素は、拡張可能でも折りたたみ可能でもない。すべての子要素が示されるか、子要素は存在しない。

aria-flowto (プロパティ)

ユーザーの裁量で、支援技術が文書ソースの順に読み上げの一般的なデフォルトを上書きを可能にする、コンテンツの代替読み上げ順で次の要素を識別する。

aria-flowtoが単一のIDREFを持つ場合、ユーザーの要求に応じて、支援技術は、通常の文書読み込み順序を見合わせ、対象となるオブジェクトまで進むことを可能にする。しかし、aria-flowtoが複数のIDREFSを提供される場合、支援技術はパスの選択肢として参照される要素を提示すべきである

1つ以上のIDREFSの場合、ユーザーエージェントまたは支援技術は、ユーザーにターゲットとなる要素のいずれかにナビゲーションのオプションを与えるべきである。パス名はaria-flowto属性のターゲット要素の名前によって決定することができる。アクセシビリティーAPIは、名前付けされたパスの関係を提供することができる。

aria-flowtoの特性
特性
ロールで使用される:基本マークアップのすべての要素
値:ID参照リスト

aria-grabbed (ステート)

ドラッグアンドドロップ操作で、要素の"grabbed"ステートを示す。

要素がtrueに設定される場合、要素がドラッグのために選択されており、falseは、要素がドラッグアンドドロップ操作のためにつかむことができるが、現在はつかまれてないことを示し、undefined(またはなし)は、要素をつかむことができないことを示す(デフォルト)。

aria-grabbedtrueに設定される場合、著者は、すべての潜在的なドロップターゲットのaria-dropeffect属性を更新すべきである。要素がつかまされない(値がfalseundefinedに設定される、または属性が削除される)場合、著者は関連したドロップターゲットのaria-dropeffect属性をnoneに戻すべきである

aria-grabbedの特性
特性
ロールで使用される:基本マークアップのすべての要素
値:true/false/undefined
aria-grabbedの値
説明
true:要素がドラッグに対して"つかんでいる"ことを示す。
false:要素がドラッグすることをサポートすることを示す。
undefined (デフォルト)要素がドラッグすることをサポートしないことを示す。

aria-haspopup (プロパティ)

要素がポップアップのコンテキストメニューまたはサブレベルのメニューを持つことを示す。

これは、アクティブ化が条件付きコンテンツを描くことを意味する。通常のツールチップはこのコンテキストでポップアップを考慮しないことに注意する。

ポップアップは一般に、主要ページコンテンツの上部に出現する項目のグループとして視覚的に提供される。

aria-haspopupの特性
特性
関連する概念:
ロールで使用される:基本マークアップのすべての要素
値:true/false
aria-haspopupの値
説明
true:子孫またはaria-ownsによって示されるいずれかとして、オブジェクトがポップアップを持つことを示す。
false (デフォルト):オブジェクトはポップアップを持たない。

aria-hidden (ステート)

要素と要素の子孫のすべてが、著者によって実装されるように任意のユーザーに可視または知覚可能ではないことを示す。関連するaria-disabledを参照のこと。

要素が一部のユーザーアクションの後にのみ可視である場合、著者はaria-hidden属性trueに設定しなければならない。要素が提示される場合、著者はaria-hidden属性をfalseに設定しなければならないか、要素が表示されていることを示す、属性を削除しなければならない。一部の支援技術は、ブラウザーによってサポートされるプラットフォームのアクセシビリティーを通じてではなく、WAI-ARIAの情報を直接DOMを通じてアクセスする。要素を隠すために使用されるメカニズムに関わらず、著者は表示されないコンテンツにaria-hidden="true"を設定しなければならない。これは、支援技術またはユーザーエージェントが文書内の非表示の要素を適切にスキップすることを可能にする。

このプロパティを更新することを思い出す必要がある可視性および個別性の変更のよりも、著者がこの属性から離れて要素の可視性を入力することを勧める。CSS2は、属性値で選択する方法を提供する([CSS])。次のCSS宣言は、aria-hidden属性がtrueでない限り、コンテンツを可視にする。スクリプトは、可視性を変更するためにこの属性を更新のみする必要がある:

[aria-hidden="true"] { visibility: hidden; }

注:著者は、visibility:hiddenおよびdisplay:noneすべてのCSSメディアタイプに適用されることに注意する。したがって、いずれかの使用は、レンダリングエンジンを通してDOMにアクセスする支援技術からコンテンツを隠す。しかし、直接DOMに、またはコンテンツ(たとえば、不透明度またはオフスクリーンの位置決め)を目に見えて非表示にするために他のオーサリング技術にアクセスする支援技術をサポートするために、オフスクリーンの位置決めを使用する意図がスクリーンリーダーのユーザーにのみ可視コンテンツを作成し他の人から見えないコンテンツを作ることでない限り、著者は、要素が表示または非表示となる際にそれに応じてaria-hidden属性が常に更新されるのを確認する必要がある。

著者は、このコンテンツを隠す行為が冗長または不要なコンテンツを削除することで支援技術のユーザーに対する体験を改善することを意図する場合に限り、慎重に、支援技術から可視のレンダリングされるコンテンツを非表示にするためにaria-hiddenを使用してもよい。スクリーンリーダーから可視コンテンツを非表示にするためにaria-hiddenを使用する著者は、同一または同等の意味および機能が支援技術に公開されることを確実にしなければならない

注:著者は、支援技術から可視のレンダリングされるコンテンツを非表示にする際に、特別の注意を行使し、かつ広範囲の障害を考慮することを勧める。たとえば、目の見える、運動機能の不自由な人は、視覚インターフェイスにアクセスするために音声制御支援技術を使用するかもしれない。著者が可視リンクテキスト"Go to checkout"を隠し、それにもかかわらず非同一リンクテキスト"Check out now"アクセシビリティーAPIに類似のもの公開する場合、ユーザーは、音声制御を使用して知覚するインターフェイスにアクセスできないかもしれない。同様の問題は、スクリーンリーダーのユーザーに対して発生することがある。たとえば、晴眼の電話サポート技術者は、先行入力項目の検索を使用して見つけることができないかもしれない、目の不自由なスクリーンリーダーのユーザーに"Go to checkout"のリンクをクリックさせることを試みるかもしれない。

aria-hiddenの特性
特性
ロールで使用される:基本マークアップのすべての要素
値:true/false
Values of aria-hidden
説明
true:文書および文書の子の該当セクションがレンダリングビューから隠されていることを示す。
false (デフォルト):文書の該当セクションがレンダリングされることを示す。

注:著者は、CSSにおけるdisplay:nonevisibility:hidden、またはHTML5におけるhidden属性のような、歴史的にすべてのモダリティでレンダリング妨げているスタイルまたは属性をもつaria-hidden="false"の使用を避けることを勧める。執筆時点で、aria-hidden="false"は、そのような機能と組み合わせて使用する際に一貫性なく動作することが知られている。将来の実装が改善されるよう、このアプローチに頼る前に、徹底的に用心と試験を利用すること。


aria-invalid (ステート)

アプリケーションによって期待されるフォーマットに準拠しない入力された値を示す。

値が不正または範囲外であると計算される場合、アプリケーション著者は、この属性trueに設定すべきであるユーザーエージェントは、ユーザーにエラーを通知すべきである。アプリケーション著者に既知である場合、アプリケーション著者は、修正のための提案を提供すべきである。関連したフォーム要素がtrueに設定されたaria-invalid属性を持つ場合、著者はフォームの送信を妨げてもよい

aria-requiredtrueであるフィールドを含むデータをユーザーが提出しようと試みる場合、著者は、エラーが存在することを知らせるためにaria-invalid属性を使用してもよい。しかし、ユーザーがフォームを送信しようと試みない場合、著者は、ユーザーがまだデータを入力していないために要求されるウィジェット上のaria-invalid属性を設定すべきではない

将来の拡張のために、aria-invalid属性は列挙型とする。あたかも値trueが提供されていたかのように、許可された値のリストに認識されないすべてのは、ユーザーエージェントによって処理されなければならない。属性が存在しない、またはその値がfalseである、または属性値が空の文字列である場合、falseのデフォルト値が適用される。

aria-invalidの特性
特性
関連する概念:
ロールで使用される:基本マークアップのすべての要素
値:トークン
aria-invalidの値
説明
grammar:文法的なエラーが検出された。
false (デフォルト):値において検出されたエラーは存在しない。
spelling:スペルエラーが検出された。
true:ユーザーによって入力された値は検証に失敗した。

aria-label (プロパティ)

現在の要素を分類する文字列のを定義する。関連するaria-labelledbyを参照のこと。

aria-labelの目的はaria-labelledbyと同じである。これは、ユーザーにオブジェクトの認識可能な名前を提供する。ラベルをマッピングする最も一般的なアクセシビリティーAPIは、アクセシブルな名前プロパティである。

ラベルテキストが画面上で可視である場合、著者は、aria-labelledbyを使用すべきでありaria-labelを使用すべきではない。要素の名前が要素のコンテンツからプログラム的に決定することができない事例があってもよく、可視ラベルの提供が所望のユーザー体験でない場合がある。これはブラウザーのツールチップを提示するかもしれないにもかかわらず、ほとんどのホスト言語は、要素に名前を付けるために使用できる属性を提供する(たとえば、HTMLにおけるtitle属性[HTML])。可視ラベルまたは可視ツールチップが望ましくないケースで、著者は、aria-labelを使用して要素のアクセシブルな名前を設定してもよい代替テキスト演算により必要に応じて、アクセシブルな名前プロパティを計算する際に、ユーザーエージェントはaria-labelよりaria-labelledbyを優先する。

aria-labelの特性
特性
関連する概念:
ロールで使用される:基本マークアップのすべての要素
値:文字列

aria-labelledby (プロパティ)

現在の要素を分類する要素を識別する。関連するaria-labelおよびaria-describedbyを参照のこと。

aria-labelledbyの目的はaria-labelと同じである。これは、ユーザーにオブジェクトの認識可能な名前を提供する。ラベルをマッピングする最も一般的なアクセシビリティーAPIは、アクセシブルな名前プロパティである。

ラベルテキストが画面上で可視である場合、著者はaria-labelledbyを使用すべきでありaria-labelを使用すべきではない。インターフェイスが画面上で可視ラベルを持つことが不可能である場合のみaria-labelを使用する。代替テキスト演算により必要に応じて、アクセシブルな名前プロパティを計算する際に、ユーザーエージェントはaria-labelよりaria-labelledbyを優先する。

aria-labelledby属性は、代替テキストを計算するために、その両方の参照要素でaria-describedbyに似ているが、説明がより詳細な情報を提供することを目的とする場所で、ラベルは、簡潔にすべきである。

注:アメリカ英語でこのプロパティの期待される綴りは"labeledby"である。しかし、このプロパティがマップされるアクセシビリティーAPI機能には、"labelledby"の綴りを確立している。このプロパティは、慣習に一致し、開発者に対する難しさを最小化するためにそのように綴られる。

aria-labelledbyの特性
特性
関連する概念:
ロールで使用される:基本マークアップのすべての要素
値:ID参照リスト

aria-level (プロパティ)

構造内の要素の階層レベルを定義する。

これは、ツリー項目、文書内の見出し、ネストされたグリッド、ネストされたtablists、およびコンテナ内に出現するまたは所有権の階層に参加することができる他の構造アイテムに、ツリーの内側で適用することができる。aria-levelは1以上の整数である。

レベルは深さとともに増加する。DOMの祖先が正確にレベルを表さない場合、著者は、明示的にaria-level属性を定義すべきである

この属性は、たとえば、ロールgroupをもつ要素よりもむしろロールtreeitemをもつ要素で、セットの方向内のリーフノードとして動作する要素に適用される。これは、セット内の複数の要素がこの属性に対して同じ値を持ってもよいことを意味する。属性はコンテナに単一の値を提供するためにより少ない反復的になるが、リーフノードにこれを制限することは、属性を使用するための支援技術に対する単一の方法があることを保証する。

DOMの祖先が正確にレベルを表す場合、ユーザーエージェントは、文書構造から項目のレベルを計算することができる。文書構造またはaria-ownsから算出することができない場合に、この属性はレベルの明示的指示を提供するために使用できる。レベルの自動計算に対するユーザーエージェントのサポートは異なるかもしれない。著者は、この属性が必要かどうかを判断するためにユーザーエージェントおよび支援技術を試験すべきである。著者がレベルを計算するためにユーザーエージェントに対して意図する場合、著者は、この属性を省略すべきである

注:treegridについて、aria-levelは、ロールgridcellをもつ要素でなく、ロールrowをもつ要素でサポートされる。一見すると、これはtreeitem要素上のaria-levelのアプリケーションと矛盾するように見えるかもしれないが、gridcellが各rowの水平方向内でリーフノードであるのに対して、gridの垂直方向内のリーフノードとしてそのrowの動作で一貫している。レベルは行内のセルのセットでサポートされないので、aria-level属性はロールrowをもつ要素に適用される。

aria-levelの特性
特性
ロールで使用される:
ロールに継承する:
値:整数

aria-live (プロパティ)

要素が更新されることを示し、ユーザーエージェントの更新の種類、支援技術の種類を説明し、ユーザーがライブ領域から期待することができる。

この属性は、重要度で表現される。領域がpoliteとして指定される場合、支援技術はユーザーに更新に通知するが、一般に現在のタスクを中断せず、更新が低い優先度を取る。領域がassertiveとして指定される場合、支援技術はすぐにユーザーに通知し、かつ潜在的に前の更新の音声キューをクリアすることができる。Live Region Properties and How to Use Themを参照のこと([ARIA-PRACTICES]、5.2.1節)。

ポライトネスレベルは、本質的に更新のための順序付けメカニズムであり、ユーザーエージェントまたは支援技術に強い提案として供給する。値は、ユーザーエージェント、支援技術、またはユーザーによって上書きされるかもしれない。たとえば、支援技術は変更がキー入力やマウスのクリックに反応して発生したと判断できる場合、たとえaria-live属性の値が異なって明言する場合であっても、支援技術はすぐにその変更を提示することができる。

別のユーザーが異なるニーズを持つので、一般に定義されたベースラインからの一定のポライトネスレベルをもつライブ領域へユーザーの支援技術の応答を微調整するのはユーザー次第である。ユーザーがキューと中断に制御をふるうことができるように、支援技術は、増減する粒度のレベルを実装することを選択できる。

プロパティが更新を送信する必要があるオブジェクトに設定されない場合、ポライトネスレベルは、aria-live属性を設定する最も近い祖先の値である。

aria-live属性は、ライブ領域に変更の提示の順序に対する主要な決定である。aria-live属性が祖先チェーンに設定されない場合(たとえば、log変更はデフォルトでpoliteである)、実装はまた、ロールでポライトネスのデフォルトのレベルを考慮する。assertiveである項目は、politeな項目の直後に表示される。ユーザーエージェントまたは支援技術は、断定的な変化が発生する際にキューに入れられた変更をクリアするために選択してもよい。(たとえば、断定的な領域における変更は、すべての現在キューの変更を削除するかもしれない)

aria-liveの特性
特性
ロールで使用される:基本マークアップのすべての要素
値:トークン
aria-liveの値
説明
off (デフォルト)支援技術がその領域に現在フォーカスを当てない限り、領域への更新は、ユーザーに提示されない。
polite:(バックグラウンドの変更)支援技術は、現在の文の話の終わりまたはユーザーが入力を一時停止する際のように、次の優雅な機会に更新を発表すべきである
assertive:この情報は優先順位が最も高く、支援技術はすぐにユーザーに通知すべきである。中断はユーザーを混乱させるか、ユーザーの現在のタスクの未完了を引き起こすかもしれないため、中断が不可欠でない限り、著者は断定的な値を使用すべきでない

aria-multiline (プロパティ)

テキストボックスが複数行の入力または単一行のみを受け入れるかどうかを示す。

注:ほとんどのユーザーエージェントの実装において、ENTERキーまたはRETURNキーのデフォルトの動作は、HTMLで、単一行と複数行のテキストフィールドとの間で異なる。ユーザーが単一行の<input type="text">要素にフォーカスを持つ場合、キーストロークは通常、フォームを送信する。ユーザーが複数行の<textarea>要素にフォーカスを持つ場合、キーストロークは改行を挿入する。WAI-ARIA textboxロールは、aria-multiline属性をもつボックスのこれらの種類を区別する。よって著者は、フィールドを設計する際にこの区別を意識することを勧める。

aria-multilineの特性
特性
ロールで使用される:textbox
値:true/false
aria-multilineの値
説明
true:これは複数行のテキストボックスである。
false (デフォルト):これは単一行のテキストボックスである。

aria-multiselectable (プロパティ)

ユーザーが現在の選択可能な子孫から複数の項目を選択できることを示す。

著者は、選択した子孫がtrueに設定されるaria-selected属性を持ち、選択可能な子孫がfalseに設定されるaria-selected属性を持つことを保証すべきである。著者は選択可能でない子孫上のaria-selected属性を使用すべきでない

注:リストおよび木は、ユーザーに一度に複数の項目の選択を可能にするかもしれないロールの例である。

aria-multiselectableの特性
特性
ロールで使用される:
ロールに継承する:
値:true/false
aria-multiselectableの値
説明
true:ウィジェット内の複数のアイテムを一度に選択することができる。
false (デフォルト):1つのみの項目を選択することができる。

aria-orientation (デフォルト)

要素および向きが水平または垂直であるかどうかを示す。

aria-orientationの特性
特性
ロールで使用される:
値:トークン
aria-orientationの値
説明
vertical:要素は、垂直に方向を合わせる。
horizontal (デフォルト):要素は、水平に方向を合わせる。

aria-owns (プロパティ)

DOM階層が関係を表すために使用することができないDOM要素間の、可視的、機能的、またはコンテキストの親子関係を定義するために要素を識別する。関連するaria-controlsを参照のこと。

aria-owns属性は、IDによって文書における1つ以上の要素を参照するIDREFSのスペース区切りのリストである。aria-ownsを追加する理由は、DOMから推測する他の方法では不可能である支援技術に親子コンテキストの関係を公開することである。

著者は、DOM階層の代替としてaria-ownsを使用すべきでない。関係がDOMで表現される場合、aria-ownsを使用してはならない。著者は、要素のIDがいつでも複数の他の要素のaria-owns属性で指定されないことを保証しなければならない。言い換えれば、要素は、1つの明示的な所有者のみを持つことができる。

aria-ownsの特性
特性
ロールで使用される:基本マークアップのすべての要素
値:ID参照リスト

aria-posinset (プロパティ)

リスト項目またはツリー項目の現在のセットにおける要素の数または位置を定義する。セットにおけるすべての要素がDOMに存在する場合は必要ない。関連するaria-setsizeを参照のこと。

セットにおけるすべての項目が文書構造に存在する場合、ユーザーエージェントが自動的に各項目のセットサイズおよび位置を計算することができるため、この属性を設定する必要はない。しかし、セットの一部だけが与えられた瞬間に文書構造に存在する場合、このプロパティは、要素の位置の明確な表示を提供するために必要とされる。

次の例は、16のセットで5から8の項目を示す。

<h2 id="label_fruit"> Available Fruit </h2>
<ul role="listbox" aria-labelledby="label_fruit">
  <li role="option" aria-setsize="16" aria-posinset="5"> apples </li>
  <li role="option" aria-setsize="16" aria-posinset="6"> bananas </li>
  <li role="option" aria-setsize="16" aria-posinset="7"> cantaloupes </li>
  <li role="option" aria-setsize="16" aria-posinset="8"> dates </li>
</ul>

著者は、1以上かつセットのサイズ以下の整数をaria-posinsetを設定しなければならない。著者は、aria-setsizeと同時にaria-posinsetを使用すべきである

aria-posinsetの特性
特性
ロールで使用される:
ロールに継承する:
値:整数

aria-pressed (ステート)

トグルボタンの現在の"pressed"ステートを示す。関連するaria-checkedおよびaria-selectedを参照のこと。

トグルボタンは、を変更するために完全に押して離すサイクルを必要とする。一度値をtrueに変更して有効化し、別の時間に値をfalseに戻して値を変更する。mixedの値は、ボタンによって制御される複数の項目の値が同じ値をすべて共有しないことを意味する。混在状態のボタンの例は、WAI-ARIA Authoring Practices [ARIA-PRACTICES]で説明される。属性が存在しない場合、ボタンはトグルボタンでない。

aria-pressed属性は、aria-checked属性に類似するが同一ではない。オペレーティングシステムは、ボタンのpressedおよびチェックボックスのcheckedをサポートする。

aria-pressedの特性
特性
ロールで使用される:button
値:tristate
aria-pressedの値
説明
true:要素が押される。
false:要素は押されていることをサポートするが、現在押されていない。
mixed:トライステートトグルボタンに対する混合モード値を示す。
undefined (デフォルト)要素が押されている状態をサポートしない。

aria-readonly (プロパティ)

要素編集可能でないが、他の方法で動作可能であることを示す。関連するaria-disabledを参照のこと。

これは、ユーザーは読むことができるが、ウィジェットの値を設定できないことを意味する。読み取り専用の要素は、ユーザーに関連し、アプリケーションの著者は、要素または要素のフォーカス可能な子孫にナビゲーションを制限すべきでない。要素の値をコピーするなどの他のアクションはまたサポートされる。これは、アプリケーションが子孫へのユーザーナビゲーションを許可しないかもしれない、無効要素とは対照的である。

例は以下を含む:

  • 定数を表すフォーム要素。
  • スプレッドシートのグリッドにおける行または列見出し。
  • ショッピングカートの合計のような計算結果。
aria-readonlyの特性
特性
関連する概念:
ロールで使用される:
ロールに継承する:
値:true/false
aria-readonlyの値
説明
true:ユーザーは要素の値を変更することができない。
false (デフォルト):ユーザーは要素の値を設定することができる。

aria-relevant (プロパティ)

支援技術がライブ領域内で受信する通知(追加、削除など)をユーザーエージェントが変更するものを示す。関連するaria-atomicを参照のこと。

属性は、次ののスペースで区切りリストとして表現される:additionsremovalstextまたは包括的な値all

単にプレゼンテーション的なものとは対照的に、これは、重要なセマンティック的な変化を説明するために使用される。たとえば、ログの上部から除去されたノードは、単に他のエントリーに対して場所を作成する目的のために除去され、そのノードの除去は意味を持たない。しかし、バディリストの場合、バディ名の除去は、もはやオンラインでないことを示す、そしてこれは意味のあるイベントである。その場合aria-relevantallに設定される。aria-relevant属性が提供されない場合、デフォルト値、追加のテキスト、テキストの修正表示およびノードの追加は関連するが、ノード削除は無関係である。

注:removalsまたはallのaria-relevant値は、控えめに使用される。チャットルームを退出するバディのような、コンテンツの除去が重要な変更を表す場合、支援技術は、コンテンツの除去を告知のみを必要とする。

注:指定された値の1つが'removals'または'all'である場合、テキストの除去は適切に考慮されるべきである。たとえば、デフォルトのaria-relevant値をもつライブ領域において'foo'から'bar'へのテキストの変更のために、テキスト追加( 'bar')は話されるが、テキスト除去('foo')話されない。

aria-relevantは、ライブ領域のオプションの属性である。これは支援技術に提案するが、支援技術はすべての関連する種類の変更を提示する必要はない。

アクセシビリティーAPIDocument Object Model Level 2 Events [DOM]の両者は、支援技術に文書の変更された領域を決定することを可能にするためにイベントを提供する。

aria-relevantが定義されない場合、要素の値は定義される値をもつ最も近い祖先から継承される。値はトークンリストであるが、継承された値は追加式ではない。子孫要素に供給される値は、祖先要素から継承された値をすべて完全に上書きする。

テキストの変更がrelevantとして表記される場合、ユーザーエージェントは、あたかもアクセシブルな名前がコンテンツから(nameFrom: contents)決定されたかのように、ライブ領域の代替テキストの計算に影響を与える任意の子孫ノード変更を監視しなければならない。たとえば、含まれる画像のHTML alt属性が変更された場合、テキストの変更はトリガーされる。しかし、たとえそのノードがライブ領域に含まれる要素によって参照された(aria-labelledby経由)としても、ライブ領域外のノードへのテキストの変更があった場合、変更はトリガーされない。

aria-relevantの特性
特性
ロールで使用される:基本マークアップのすべての要素
値:トークンリスト
aria-relevantの値
説明
additions:要素ノードは、ライブの領域内のDOMに追加される。
removals:ライブ領域内のテキストまたは要素ノードは、DOMから削除される。
text:テキストは、ライブ領域の任意のDOMの子孫ノードに追加される。
all:すべての値の組み合わせに相当し、「追加除去テキスト」。
additions text (デフォルト):値の組み合わせに相当する、「追加テキスト」。

aria-required (プロパティ)

フォームが送信される前に要素でユーザー入力が要求されることを示す。

ユーザーがアドレスフィールドに記入する必要がある場合、著者は、フィールドのaria-required属性をtrueに設定する必要がある。

注:要素が要求されるという事実は多くの場合、視覚的に提示される(たとえばウィジェットの後に記号やシンボルなど)。aria-required属性の使用は、著者に要素が要求されることを支援技術に明示的に伝えることを可能にする。

厳密に等価なネイティヴ属性が利用可能である場合を除き、ホスト言語は、著者にユーザーによって入力または選択を必要とするホスト言語フォーム要素上のaria-required属性の使用を可能にすべきである

aria-requiredの特性
特性
関連する概念:
ロールで使用される:
ロールに継承する:
値:true/false
aria-requiredの値
説明
true:ユーザーは、フォームが送信される前に要素上の入力を提供する必要がある。
false (デフォルト):ユーザー入力は、フォームの送信を強制されない。

aria-selected (ステート)

さまざまなウィジェットの現在の"selected"ステートを示す。関連するaria-checkedおよびaria-pressedを参照のこと。

この属性は、単一選択および複数選択のウィジェットで使用される:

  1. 現在フォーカスされる項目が選択されない単一選択コンテナ。選択が正常にフォーカスを追従し、ユーザーエージェントによって管理される。
  2. 複数選択コンテナ。著者は、aria-multiselectable属性がtrueであるコンテナの任意の選択可能な子孫がaria-selected属性のtrueまたはfalseのいずれかの値を指定することを保証すべきである

任意のaria-selectedの明示的な割り当ては、フォーカスに基づく暗黙の選択よりも優先される。ウィジェットにおいてどのDOM要素も明示的にselectedとしてマークされない場合、支援技術は、管理フォーカスウィジェットのキーボードフォーカスに従う暗黙の選択を伝えてもよい。ウィジェットにおいて任意のDOM要素が明示的にselectedとしてマークされる場合、ユーザーエージェントは、ウィジェットに対して暗黙の選択を伝えてはならない

aria-selectedの特性
特性
ロールで使用される:
ロールに継承する:
値:true/false/undefined
aria-selectedの値
説明
true:選択可能な要素が選択される。
false:選択可能な要素が選択されない。
undefined (デフォルト)要素は選択可能でない。

aria-setsize (プロパティ)

リスト項目またはツリー項目の現在のセット内の項目の数を定義する。セットにおけるすべての要素がDOMに存在する場合は必要ない。関連するaria-posinsetを参照のこと。

このプロパティは、セットのメンバーを収集するコンテナ要素ではなく、セットのメンバーにマークされる。要素を言及することでユーザーを方向づけることは、"Yのうち項目X"であり、支援技術は、aria-posinset属性に等しいXおよびaria-setsize属性に等しいYを使用する。

セットにおけるすべての項目が文書構造に存在する場合、ユーザーエージェントが自動的に各項目のセットサイズおよび位置を計算することができるため、この属性を設定する必要はない。しかし、セットの一部だけが与えられた瞬間に文書構造に存在する場合(文書サイズを削減するために)、このプロパティは、セットの大きさの明確な表示を提供するために必要とされる。

次の例は、16のセットで5から8の項目を示す。

<h2 id="label_fruit"> Available Fruit </h2>
<ul role="listbox" aria-labelledby="label_fruit">
  <li role="option" aria-setsize="16" aria-posinset="5"> apples </li>
  <li role="option" aria-setsize="16" aria-posinset="6"> bananas </li>
  <li role="option" aria-setsize="16" aria-posinset="7"> cantaloupes </li>
  <li role="option" aria-setsize="16" aria-posinset="8"> dates </li>
</ul>

著者は、aria-posinsetと連携してaria-setsizeを使用すべきである

aria-setsizeの特性
特性
ロールで使用される:
ロールに継承する:
値:整数

aria-sort (プロパティ)

テーブルまたはグリッド内の項目が昇順または降順にソートされるかどうかを示す。

著者は、テーブル見出しまたはグリッド見出しにこのプロパティを適用すべきである。プロパティが提供されない場合、定義されるソート順は一切存在しない。各テーブルまたはグリッドのために、著者は、一度に1見出しのみaria-sortを適用すべきである

aria-sortの特性
特性
ロールで使用される:
値:トークン
aria-sortの値
説明
ascending:項目は、この列で昇順にソートされる。
descending:項目は、この列で降順にソートされる。
none (デフォルト):列に適用される定義されたソートは存在しない。
other:昇順または降順以外のソートアルゴリズムが適用されている。

aria-valuemax (プロパティ)

範囲ウィジェットに対する最大許容値を定義する。

このプロパティによって定義される、最大値まで増加させることができる任意の値で開始できる範囲ウィジェットは、到達する。

最小値および最大を宣言することは、代替デバイスに矢印キーを再動作させる、現在値を検証する、または単にユーザーに範囲の大きさ知らせることを可能にする。aria-valuenowが既知の最大値および最小値を持つ場合、著者はaria-valuemaxおよびaria-valueminに対してプロパティを提供すべきである。著者は、aria-valuemaxの値がaria-valueminの値以上であることを保証しなければならない

aria-valuemaxの特性
特性
関連する概念:
ロールで使用される:
ロールに継承する:
値:

aria-valuemin (プロパティ)

範囲ウィジェットに対する最小許容値を定義する。

このプロパティによって定義される、最小値まで減少させることができる任意の値で開始できる範囲ウィジェットは、到達する。

最小値および最大を宣言することは、代替デバイスに矢印キーを再動作させる、現在値を検証する、または単にユーザーに範囲の大きさ知らせることを可能にする。aria-valuenowが既知の最大値および最小値を持つ場合、著者はaria-valuemaxおよびaria-valueminに対してプロパティを提供すべきである

著者は、aria-valueminの値がaria-valuemaxの値以下であることを保証しなければならない

aria-valueminの特性
特性
関連する概念:
ロールで使用される:
ロールに継承する:
値:

aria-valuenow (プロパティ)

範囲ウィジェットに対する現在値を定義する。関連するaria-valuetextを参照のこと。

このプロパティは、たとえば、スライダーやプログレスバーなどの範囲ウィジェットで使用される。

現在値が既知でない(たとえば、不確定な進捗バー)場合、著者はaria-valuenow属性を設定すべきでないaria-valuenow属性が存在しない場合、いかなる情報も現在値について示されない。aria-valuenowが既知の最大値および最小値を持つ場合、著者はaria-valuemaxおよびaria-valueminに対してプロパティを提供すべきである

aria-valuenowの値は10進数である。範囲が数値のセットである場合、aria-valuenowは、この値のいずれかである。たとえば、範囲が[0, 1]である場合、有効なaria-valuenowは0.5である。-2.5または1.1のような、範囲外の値は無効である。

progressbar要素およびscrollbar要素の場合、支援技術は、両方が定義される場合はaria-valueminからaria-valuemaxまでの範囲上の位置として算出される、パーセントとしてユーザーに値をレンダリングするべきであり、そうでなければ、パーセントインジケータをもつ実際値をレンダリングすべきである。ロールsliderおよびspinbuttonをもつ要素の場合、支援技術は、ユーザーに実際値をレンダリングすべきである

レンダリングされる値が数値として正確に表すことができない場合、著者は、範囲の現在値のユーザーフレンドリーな表現を提供するためにaria-valuenowと併せてaria-valuetext属性を使用すべきである。たとえば、スライダーはsmallmediumlargeの値をレンダリングしているかもしれない。この場合、aria-valuenowの値は、値空間における各値の位置を示す、1から3までの範囲をとるだろうが、aria-valuetextは、smallmedium、またはlargeの文字列のいずれかになる。

注:aria-valuetextが指定される場合、支援技術は、aria-valuenowの値を代わりにレンダリングする。

aria-valuenowの特性
特性
関連する概念:
ロールで使用される:
ロールに継承する:
値:

aria-valuetext (プロパティ)

範囲ウィジェットに対するaria-valuenowの人間可読な代替テキストを定義する。

このプロパティは、たとえば、スライダーやプログレスバーなどの範囲ウィジェットで使用される。

aria-valuetext属性が設定される場合、その値が不明である場合を除き、著者はaria-valuenow属性も設定すべきである(たとえば、不確定なprogressbar上)。

レンダリングされる値が意味のある数値として表すことができない場合、著者はaria-valuetext属性のみを設定すべきである。たとえば、スライダーはsmallmediumlargeの値をレンダリングしているかもしれない。この場合、aria-valuenowの値は、値空間における各値の位置を示す、1から3までの範囲をとるだろうが、aria-valuetextは、smallmedium、またはlargeの文字列のいずれかになる。aria-valuetextが指定される場合、支援技術は、aria-valuenowの値の代わりの値をレンダリングすべきである。

aria-valuetextが指定される場合、支援技術は、aria-valuenowの値の代わりの値をレンダリングすべきである

aria-valuetextの特性
特性
関連する概念:
ロールで使用される:
ロールに継承する:
値:文字列

7. ホスト言語における実装

この章は、規範的である。

この仕様で定義されるロールステート、およびプロパティは、完全なウェブ言語またはフォーマットを形成しない。これらは、ホスト言語のコンテキストで使用されることが意図される。この節は、ホスト言語が、WAI-ARIAを実装するための方法、ここで指定されるマークアップがホスト言語のマークアップとスムーズかつ効果的に統合されることを保証するための方法を論じる。

マークアップ言語は表面的に似て見えるが、マークアップ言語は、言語定義のインフラを共有しない。言語構築のアプローチの違いに対応するために、要件は一般的かつモジュール化固有の両方となる。仕様が書かれる方法の違いを可能にする一方で、意図は、WAI-ARIAの情報が著者に見え、WAI-ARIAがスクリプトによってDOMで操作される方法の一貫性を維持することである。

WAI-ARIAロール、ステート、およびプロパティは、要素属性として実装される。ロールは、ホスト言語が提供するrole属性のに出現するトークンの中でロールの名前を置くことによって適用される。ステートおよびプロパティはそれぞれ、この仕様における各特定のステートまたはプロパティに対して定義されるように値をもつ、独自の属性を取得する。属性名は、ステートまたはプロパティのaria接頭辞の名前である。

7.1. ロール属性

実装するホスト言語は、次の特性をもつ属性を提供する:

  • 属性名はroleなければならない
  • 属性は、値としてトークンリストを許可しなければならない
  • これらのトークンの一つとして、任意の具体的なWAI-ARIAロールの名前リテラルの外観は、それ自体でホスト言語の構文で属性値を不正にしてはならず
  • role属性におけるトークンのリストで非抽象WAI-ARIAロールの最初の名前リテラルは、ユーザーエージェントが要素を処理しなければならないロールに従って定義する。ロールのユーザーエージェント処理は、WAI-ARIA User Agent Implementation Guide [ARIA-IMPLEMENTATION]で定義される。

7.2. ステートおよびプロパティ属性

実装するホスト言語は、次の特性を持つ属性を許可しなければならない

  • 属性名は、aria-busyaria-selectedaria-activedescendantaria-valuetextのような、サポートされるステートおよびプロパティの節で識別される任意のステートまたはプロパティの名前である。
  • 構文は、この仕様で指定されるような、属性が適用可能であるものをどこでも出現するの防ぐことはない
  • この属性が文書のインスタンスで出現する場合、属性は、この仕様で定義されるように処理される。

XML名前空間[XML-NAMES]をサポートするホスト言語は、WAI-ARIA属性が名前空間とともに使用することを要求してもよい。この場合、WAI-ARIAステートおよびプロパティ属性に対する名前空間は、http://www.w3.org/ns/wai-aria/なければならない。ホスト言語が名前空間をサポートし、かつユーザーエージェントがWAI-ARIA名前空間を認識する期待がある場合、名前空間に対するサポートを明示的に記述しないホスト言語でWAI-ARIAを使用するために、著者は、この名前空間を同様に使用すべきである。名前空間接頭辞はこの仕様で定義されないが、一般に"aria"が期待される。

注:WAI-ARIAステートおよびプロパティ属性は、属性すべてが文字列"aria-"で開始するような命名規則を持つ。これは名前空間接頭辞でないが、ステートまたはプロパティ名の一部である。したがって、名前空間接頭辞をもつWAI-ARIAステートおよびプロパティを使用する場合、完全な属性名は"aria:aria-foo"のようになる。

ホスト言語が名前空間をサポートしないため、または設計者がWAI-ARIAをコア機能セットに組み込むようにしたいいずれかため、一部のホスト言語は、WAI-ARIAステートおよびプロパティ属性をもつ名前空間を使用しない。このホスト言語において、この属性の名前空間名は値がない。この属性の名前は、コロンによる接頭辞オフセットがない。名前空間の点で、これは接頭辞のない属性名である。たとえばDOMインターフェイスgetAttributeNSへの結合ECMAScriptは、この状態を表すものとして空文字列("")扱い、getAttribute("aria-busy")getAttributeNS("", "aria-busy")の両方が、DOMにおける同じaria-busy属性にアクセスする。

注:この節の要件によると、一部のユーザーエージェントは、名前空間をもつWAI-ARIAステートおよびプロパティを認識し、一部は名前空間をもたないものを認識し、そして一部は両方を認識するかもしれない。著者は、著者が使用しているホスト言語でサポートされる形式を意識することを勧める。ホスト言語およびサポートするユーザーエージェントが明示的に名前空間を要求することを示す場合を除き、著者は名前空間なしで属性を使用することを勧める。名前空間をサポートするユーザーエージェントでさえも、一般にアクセシビリティーAPIに名前空間されたWAI-ARIAステートおよびプロパティを公開しない。具体的には、XHTMLを含む、HTMLの現在の実装は、この名前空間をサポートしない。

7.3. フォーカスナビゲーション

実装するホスト言語は、すべてのインタラクティブな要素、つまり、すべてのレンダリング可能またはイベント受理要素をフォーカス可能にするためにサポートを著者に提供しなければならない。実装するホスト言語は、ウェブ著者にこれらのフォーカス可能かどうかを定義することを可能にする機能を提供しなければならず、インタラクティブな要素は、デフォルトでタブナビゲーション順序で出現する。HTML 5のtabindex属性は、1つの実装例である。

7.4. 暗黙のWAI-ARIAセマンティックス

ホスト言語がオブジェクトに対してネイティヴセマンティックスを欠く場合、WAI-ARIAは、オブジェクトに関するセマンティック情報を提供するように設計されている。とはいえ、WAI-ARIAは多数のホスト言語のために追加のセマンティックスを提供するよう設計されている。さらに、長い期間をかけてホスト言語は進化し、WAI-ARIAの機能に対応して新しいネイティヴな機能を提供することができる。そのため、WAI-ARIAセマンティックスがホスト言語のセマンティックスと冗長であるような多数の状況がある。

このホスト言語の機能は、「暗黙のWAI-ARIAセマンティックス」を持つとみなすことができる。暗黙のWAI-ARIAセマンティックスを持つ機能のユーザーエージェント処理は、WAI-ARIAの機能の処理と同様だろう。その処理はホスト言語の機能とWAI-ARIAの機能との間の構文上の違いにより同一ではないかもしれないが、一般に、ユーザーエージェントはアクセシビリティーAPIに同一の情報を公開するだろう。暗黙のWAI-ARIAセマンティックスを持つ機能は、必要な独自の要素、必要なステートやプロパティなど、WAI-ARIAの構造的要件を満たし、提供される明示的なWAI-ARIAセマンティックスを必要しない。

たとえば、チェックボックスやラジオボタンなど、機能性をもつ要素が既に存在する場合、ホスト言語のネイティヴセマンティックスを使用する。WAI-ARIAマークアップは、(たとえば、aria-requiredに必要であることを示す)ネイティヴセマンティックスを増強するためにのみ使用されることを意図する、または要素の標準機能を形成する、別の用途にセマンティックスを変更するために使用されることを意図する。

暗黙のWAI-ARIAセマンティックスは、以下のセクションにおける、ホスト言語のセマンティックスと競合する、衝突解決手続きに影響を与える。したがって、暗黙のWAI-ARIAセマンティックスは、ホスト言語仕様またはWAI-ARIAユーザーエージェント実装ガイド [ARIA-IMPLEMENTATION]などの規範的仕様で定義する必要がある。

7.5. ホスト言語のセマンティックスとの競合

WAI-ARIAのロール、ステート、およびプロパティは、これらのセマンティックスをもつネイティヴホスト言語の要素が使用不可であり、一般に自身のネイティヴセマンティックスを持たない要素で使用される場合に、セマンティック情報を付加することを意図する。それらもまた同様であるが非同一のセマンティックスを持つ要素に使用できる(たとえば、ネストされたリストがツリー構造を表すために使用できる)。再意図される要素のネイティヴプレゼンテーションが必要とされるスタイルおよびまたはスクリプトの量を減少させるため、この方法は、WAI-ARIAの実装を持たない古いブラウザー用のフォールバック戦略の一部にすることができる。以下に概説する場合を除き、ユーザーエージェントは、ホスト言語のセマンティックスを使用するよりもむしろ、アクセシビリティーAPIに要素を公開する方法を定義するために、WAI-ARIAセマンティックスを常に使用しなければならない

WAI-ARIAがネイティヴセマンティックスを上書きすることが期待されるこれら通常の状況に加えて、WAI-ARIAを上書きすることが不適切である要素が存在する。これは、同一のホスト言語のセマンティックスが存在するため、WAI-ARIAを必要としないため、またはWAI-ARIA由来のセマンティックスが直接ホスト言語のセマンティックスと競合するためであるかもしれない。同一のロールのセマンティックスと値をもつホスト言語における機能が使用可能である、かつ著者がホスト言語の機能を使用しないようにするための説得力のある理由がない場合、著者は、WAI-ARIAをもつ他の要素を再利用するよりもむしろ、ホスト言語の機能を使用すべきである。

ホスト言語は、ロールに対応する暗黙のWAI-ARIAセマンティックスを持つ機能を持つことができる。WAI-ARIAロールが与えられる場合、ロールがホスト言語によってネイティヴ要素で明示的に禁止されているWAI-ARIAステートおよびプロパティを必要としない限り、ユーザーエージェントは、処理のためにネイティヴセマンティックでなく、WAI-ARIAロールのセマンティックを使用しなければならない。ロールに対する値は、ステートおよびプロパティに対する値と同じように競合せず(たとえば、HTML 'checked'属性と'aria-checked'属性が競合する値を持つだろう)、著者は、通常は再利用されない要素でWAI-ARIAロールすら提供するための正当な理由があると予想される。

WAI-ARIAステートおよびプロパティが、同じ暗黙のWAI-ARIAセマンティックを持つホスト言語の機能と対応する場合、WAI-ARIAの機能を使用することが特に問題となるかもしれない。WAI-ARIAの機能およびホスト言語の機能が両方とも提供されるが、それらの値が同期しない場合、ユーザーエージェントおよび支援技術は、使用すべき値を知ることができない。したがって、支援技術に相反するステートとプロパティを提供しないように、その要素のネイティヴ属性と競合する各ホスト言語要素上のWAI-ARIA属性の使用箇所で、ホスト言語は明示的に宣言しなければならない。ホスト言語が指定された要素に対するネイティヴ属性と競合する直接セマンティックで存在するだろうWAI-ARIA属性を宣言する場合、ユーザーエージェントは、WAI-ARIA属性を無視しなければならず、代わりに同一の暗黙のセマンティックを持つホスト言語属性を使用しなければならない。

ホスト言語は、WAI-ARIAで上書きできない機能を文書化してもよい(これは「強いネイティヴセマンティックス」と呼ばれる)。これは、セマンティックスがWAI-ARIAで変更された場合、処理が不確実になる場所の機能だけでなく、暗黙のWAI-ARIAセマンティックスを持つ機能でもある。WAI-ARIAロールが強いネイティヴセマンティックスをもつ要素で使用される場合、適合性チェッカーはエラーまたは警告を通知してもよいが、上記のようにアクセシビリティーAPIに要素を公開する際に、ユーザーエージェントは依然としてWAI-ARIAロールのセマンティック値を使用しなければならない

7.6. ステートおよびプロパティ属性の処理

ステートおよびプロパティ属性はホスト言語に含まれており、したがって、属性の値型の表現に対する構文は、ホスト言語によって管理される。で定義される値の型ごとに、ホスト言語から適切な値の型が使用される。WAI-ARIAの値型とさまざまなホスト言語の値型との間の推奨される対応は、WAI-ARIAの値型の言語へのマッピングに挙げられる。これは、WAI-ARIAをサポートする新しいホスト言語に対応するための非規範的マッピングである。

リストの値型―ID参照リストおよびトークンリスト―は、提供される与えられた型の複数の値を許可する。値は、スペース文字、カンマなどの、リスト属性に対するホスト言語によって認識される区切り文字で区切られる。ある言語がさまざまな区切り文字を許可するかもしれない一方で、一部の言語は、特定の単一の区切り文字を要求するかもしれない。

グローバルなステートおよびプロパティは、ホスト言語における任意の要素でサポートされる。しかし、著者は、明示的なWAI-ARIAロールとして定義される、または適切なWAI-ARIAロールと一致するホスト言語セマンティックによって定義されるかのいずれかで、ステートまたはプロパティをサポートするロールをもつ要素上で非グローバルステートおよびプロパティのみを使用しなければならない。role属性がサポートするWAI-ARIAステートおよびプロパティを含む、要素、セマンティックスおよび要素の動作に追加される場合、ロールの動作によって増強または上書きされる。ユーザーエージェントは、明示的なWAI-ARIAロールとして定義される、または適切なWAI-ARIAロールと一致するホスト言語セマンティックで定義されるかのいずれかで、ステートまたはプロパティをサポートするロールをもたない要素で使用される非グローバルステートおよびプロパティを無視しなければならない。たとえば、aria-valuetext属性は、progressbarとしてのロールを明示的にかつ重複して指定するために著者の要求なしで、HTMLにおけるprogress要素で使用することができる。

WAI-ARIAロールが使用される場合、ロールが要求されない限り、DOMに存在しないサポートするステートおよびプロパティは、そのデフォルト値に従って処理される。トークンのステートおよびプロパティの場合、属性値は、長さゼロの文字列("")もデフォルト値に対応するのである。したがって、ユーザーエージェントは、存在しない属性を扱うのと同じ""の値をもつトークンのステートおよびプロパティ属性を扱うべきである。通常、これはデフォルト値(通常"undefined")に対応するが、値が必須属性である場合、ユーザーエージェントはエラーを通知する(NULL値は必須属性を提供するために失敗したのと同じであるため)。

8. 適合性

この章は、規範的である。

8.1. ホスト言語非干渉

ユーザーエージェントによるWAI-ARIAの処理は、ホスト言語の組み込み機能の正常な動作を妨害してはならない

CSSセレクターがWAI-ARIA属性を含む場合(たとえば、input[aria-invalid="true"])、ユーザーエージェントは、属性がいつでもDOMで追加、変更、除去されるセレクターに一致する(または、もはや一致しない)任意の要素の視覚的な表示を更新しなければならない。ユーザーエージェントは、ホスト言語機能のマッピングをアクセシビリティーAPIに変更してもよいが、ユーザーエージェントは、ホスト言語機能にWAI-ARIAマークアップを再マップするために、DOMを変更してはならない

8.2. DOMにおけるすべてのWAI-ARIA

W3C DOM仕様に準拠しないドキュメントオブジェクトモデルを実装する適合ユーザーエージェントは、処理はどのように要素がアクセシビリティーAPIに公開されるかに影響するにもかかわらず、著者によって指定されるようなDOMにおけるWAI-ARIAステートおよびプロパティだけでなく、ロール属性と属性のWAI-ARIAロール値に対するコンテンツ属性も含まなければならない。そうすることで、各ロール属性および、その値を含むすべてのWAI-ARIAステートおよびプロパティは、変更されない形式で文書において存在することを保証し、結果として支援技術などの他のツールがそれらにアクセスすることができる。適合W3C DOMはこの基準を満たす。

8.3. ウェブアプリケーションに伝えられる支援技術の通知

音声認識システムおよび運動障害をもつユーザーのための代替入力デバイスのような支援技術は、デバイスに依存しない方法でウェブアプリケーションを制御する能力を必要とする。WAI-ARIAステートおよびプロパティは、リッチインターネットアプリケーションコンポーネントの現在の状態を反映する。ウェブアプリケーションは、これら代替入力ソリューションをユーザーが効果的に直接制御することができない標準入力デバイスに依存せずにアプリケーションを制御することを可能にするため、必要な変更をウェブアプリケーションに通知する支援技術のための能力が不可欠である。

ユーザーエージェントは、変更がシステムアクセシビリティーAPIにおけるステートまたはプロパティに発生する際に、ウェブアプリケーションに通知する方法を提供しなければならない。同様に、ユーザーエージェントまたは支援技術からの変更要求を通知する場合、ウェブアプリケーションの著者は、それに応じて、ウェブアプリケーションを更新すべきである

注:多くのステートおよびプロパティは、デフォルトのアクションイベントに応答することによって、既存のアクセシビリティーAPIを通じて支援技術で変更することができる。たとえば、タブパネルにおけるタブのaria-selectedステートは、要素のデフォルトのアクションをトリガーすることによって変更することができる。

8.4. 適合性チェッカー

任意のアプリケーションまたはスクリプトの文書検証の適合性や妥当性は、この仕様で規範的な著者の要件のすべてに対して試験を含むべきである。与えられた要件のための試験の場合、適合性チェッカーは、著者が"MUST"要件が満たされない場合はエラーを発行しなければならず、かつ著者"SHOULD"要件が満たされない場合に警告を発行しなければならない

9. 参考文献

この章は、規範的である。

9.1. 規範規格

規範的に参照されるリソースは、この仕様の一部と考えられる。この仕様の実装は、以下のリソースの要件を実装しなければならない

[ARIA-IMPLEMENTATION]
WAI-ARIA 1.0 User Agent Implementation Guide. J. Scheuhammer, A. Snow-Weaver, M. Cooper, A. Leventhal, Editors, W3C Recommendation, 20 March 2014. This version of WAI-ARIA User Agent Implementation Guide is available at http://www.w3.org/TR/2014/REC-wai-aria-implementation-20140320/. Latest version of WAI-ARIA User Agent Implementation available at http://www.w3.org/TR/wai-aria-implementation/.

9.2. 参考文献

参考的に参照されるリソースは、この文書に関連する有益な情報を提供するが、要件の一部を含まない。

[ARIA-PRACTICES]
WAI-ARIA Authoring Practices. J. Scheuhammer, M. Cooper, L. Pappas, R. Schwerdtfeger, Editors, W3C Working Draft (work in progress), 7 March 2013. This version of WAI-ARIA 1.0 Authoring Practices is available at http://www.w3.org/TR/2013/WD-wai-aria-practices-20130307/. Latest version of WAI-ARIA Authoring Practices available at http://www.w3.org/TR/wai-aria-practices/.
[ARIA-PRIMER]
WAI-ARIA 1.0 Primer. L. Pappas, R. Schwerdtfeger, M. Cooper, Editors, W3C Working Draft (work in progress), 16 September 2010. This version of WAI-ARIA Primer is available at http://www.w3.org/TR/2010/WD-wai-aria-primer-20100916/. Latest version of WAI-ARIA Primer available at http://www.w3.org/TR/wai-aria-primer/.
[ARIA-ROADMAP]
Roadmap for Accessible Rich Internet Applications (WAI-ARIA Roadmap), R. Schwerdtfeger, Editor, W3C Working Draft (work in progress), 4 February 2008. This version of WAI-ARIA Roadmap is available at http://www.w3.org/TR/2008/WD-wai-aria-roadmap-20080204/. Latest version of WAI-ARIA Roadmap available at http://www.w3.org/TR/wai-aria-roadmap/.
[ATK]
Gnome Accessibility Toolkit 2.10.0. Available at https://developer.gnome.org/atk/2.10/.
[AT-SPI]
Assistive Technology-Service Provider Interface 2.10. Available at https://developer.gnome.org/libatspi/2.10/.
[AXAPI]
The Mac OS X Accessibility Protocol Mac OS 10.9. Available at: https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Protocols/NSAccessibility_Protocol/Reference/Reference.html.
[CSS]
Cascading Style Sheets, Level 2 Revision 1 (CSS2) Specification, B. Bos, T. Çelic, I. Hickson, H. Lie, Editors, W3C Recommendation, 12 May 1998, http://www.w3.org/TR/2011/REC-CSS2-20110607/. Latest version of CSS2 available at http://www.w3.org/TR/CSS2/.
[DOM]
Document Object Model (DOM) Level 2 Core Specification, L. Wood, G. Nicol, A. Le Hors, J. Robie, S. Byrne, P. Le Hégaret, M. Champion, Editors, W3C Recommendation, 13 November 2000, http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/. Latest version of DOM Core available at http://www.w3.org/TR/DOM-Level-2-Core/.
[HTML]
HTML 4.01 Specification, I. Jacobs, A. Le Hors, D. Raggett, Editors, W3C Recommendation, 24 December 1999, http://www.w3.org/TR/1999/REC-html401-19991224/. Latest version of HTML 4.01 available at http://www.w3.org/TR/html401/.
[HTML5]
HTML 5, R. Berjon, S. Faulkner, T. Leithead, E. Doyle Navara, E. O'Connor, S. Pfeiffer, I. Hickson, Editors, W3C Candidate Recommendation (work in progress), 4 February 2014, http://www.w3.org/TR/2014/CR-html5-20140204/. Latest version of HTML 5 available at http://www.w3.org/TR/html5/.
[IA2]
IAccessible2 1.3. Available at http://www.linuxfoundation.org/collaborate/workgroups/accessibility/iaccessible2.
[MSAA]
Microsoft Active Accessibility (MSAA) 2.0. Available at http://msdn.microsoft.com/en-us/library/ms697707.aspx.
[MATHML]
Mathematical Markup Language (MathML) Version 3.0, D. Carlisle, P. Ion, R. Miner, Editors, W3C Recommendation, 21 October 2010, http://www.w3.org/TR/2010/REC-MathML3-20101021/. Latest version available at http://www.w3.org/TR/MathML3/.
[OWL]
OWL 2 Web Ontology Language Overview (Second Edition), W3C Recommendation, 11 December 2012, http://www.w3.org/TR/2012/REC-owl2-overview-20121211/. Latest version of OWL Overview available at http://www.w3.org/TR/owl-overview/.
[RDF]
RDF 1.1 Concepts and Abstract Syntax, R. Cyganiak, D. Wood, and M. Lanthaler, Editors, W3C Recommendation, 25 February 2014, http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/. Latest version of RDF 1.1 Concepts and Abstract Syntax available at http://www.w3.org/TR/rdf11-concepts/.
[RDFS]
RDF Schema 1.1, D. Brickley, R. V. Guha, Editors, W3C Recommendation, 25 February 2014, http://www.w3.org/TR/2014/REC-rdf-schema-20140225/. Latest version of RDF Schema available at http://www.w3.org/TR/rdf-schema/.
[RFC2119]
Key words for use in RFCs to indicate requirement levels, RFC 2119, S. Bradner, March 1997. Available at: http://www.rfc-editor.org/rfc/rfc2119.txt.
[ROLE]
Role Attribute, S. McCarron, Editor, W3C Recommendation, 28 March 2013, http://www.w3.org/TR/2013/REC-role-attribute-20130328/. Latest version of Role Attribute available at http://www.w3.org/TR/role-attribute/.
[SMIL]
Synchronized Multimedia Integration Language (SMIL) 3.0 Specification, W3C Recommendation, 1 December 2008, http://www.w3.org/TR/2008/REC-SMIL3-20081201/. Latest version of SMIL available at http://www.w3.org/TR/SMIL/.
[SVG]
Scalable Vector Graphics (SVG) 1.1 Specification (Second Edition), E. Dahlström , P. Dengler, A. Grasso, C. Lilly, C. McCormack, D. Schepers, J. Watt, J. Ferraiolo, 藤沢, D. Jackson, Editors, W3C Recommendation, 16 August 2011, http://www.w3.org/TR/2011/REC-SVG11-20110816/. Latest version of SVG available at http://www.w3.org/TR/SVG11/.
[UAAG]
User Agent Accessibility Guidelines 1.0, I. Jacobs, J. Gunderson, E. Hansen, Editors, W3C Recommendation, 17 December 2002, http://www.w3.org/TR/2002/REC-UAAG10-20021217/. Latest version available at http://www.w3.org/TR/UAAG10/.
[UIA-ARIA]
UI Automation for W3C Accessible Rich Internet Applications Specification. Available at http://msdn.microsoft.com/en-us/library/ee684013%28VS.85%29.aspx.
[WCAG20]
Web Content Accessibility Guidelines 2.0, B. Caldwell, G. Vanderheiden, L. Guarino Reid, M. Cooper, Editors, W3C Recommendation, 11 December 2008, http://www.w3.org/TR/2008/REC-WCAG20-20081211/. Latest version of WCAG 2.0 available at http://www.w3.org/TR/WCAG20/.
[XFORMS]
XForms 1.1, J. Boyer, Editor, W3C Recommendation, 20 October 2009, http://www.w3.org/TR/2009/REC-xforms-20091020/. Latest version of XForms available at http://www.w3.org/TR/xforms/.
[XHTML]
XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition), S. Pemberton, Editor, W3C Recommendation, 1 August 2002, http://www.w3.org/TR/2002/REC-xhtml1-20020801/. Latest version of XHTML 1.0 available at http://www.w3.org/TR/xhtml1/.
[XML]
Extensible Markup Language (XML) 1.0 (Fifth Edition), T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler, F. Yergeau, Editors, W3C Recommendation, 26 November 2008, http://www.w3.org/TR/2008/REC-xml-20081126/. Latest version of XML available at http://www.w3.org/TR/xml/.
[XML-NAMES]
Namespaces in XML 1.0 (Third Edition), T. Bray, D. Hollander, A. Layman, R. Tobin, H. Thompson, Editors, W3C Recommendation, 8 December 2009, http://www.w3.org/TR/2009/REC-xml-names-20091208/. Latest version of XML Namespaces available at http://www.w3.org/TR/xml-names/.
[XSD]
XML Schema Part 0: Primer Second Edition, D. C. Fallside, P. Walmsley, Editors, W3C Recommendation, 28 October 2004, http://www.w3.org/TR/2004/REC-xmlschema-0-20041028/. Latest version of XML Schema Primer available at http://www.w3.org/TR/xmlschema-0/.

10. 付録

この章は参考情報である。

10.1. スキーマ

WAI-ARIAロール、ステート、およびプロパティは、WAI-ARIA属性を使用してコンテンツの検証をサポートするための多数の機械可読な形式で利用可能である。しかし、WAI-ARIAは確定していないので、これらのファイルは予告なく変更する場合がある。

ライブコンテンツがこれらの文書型を使用することは適切ではない。これらは、開発、評価、検証ツールでローカル使用をサポートするために、ダウンロードのためにのみ利用できるようされる。W3Cのサーバーから直接これらのバージョンを使用すると、読み込みを防ぐ、自動閉塞を引き起こすかもしれない。

コンテンツでスキーマを使用する必要がある場合、過度のDTDトラフィックを回避するためのガイドラインに従う。たとえば、使用するたびにスキーマにフェッチしないようにキャッシングプロキシを使用するか、ソフトウェアがXMLカタログのような、ローカルキャッシュを使用することを保証する。

10.1.1. ロールの実装

RDFで表現されるWAI-ARIAのためのタクソノミーはhttp://www.w3.org/WAI/ARIA/schemata/aria-1.rdfから入手できる。

10.1.2. WAI-ARIA属性モジュール

このモジュールは、モジュール化されたDTDに含めることができるモジュールとしてWAI-ARIA属性を宣言する。このモジュールを使用するサンプルXHTML DTDは以下の通りである。WAI-ARIA属性は名前空間内になく、属性名は既存の属性との衝突の可能性を減らすために"aria-"で始まることに注意する。

このモジュールは、http://www.w3.org/MarkUp/DTD/aria-attributes-1.modから入手できる。

10.1.3. XHTML plus WAI-ARIA DTD

このDTDXHTML 1.1を拡張し、WAI-ARIAステートおよびプロパティ属性をすべての要素に追加する。広範なキーボードのサポートを提供し、上記のフォーカスナビゲーションセクションに適合するために、DTDはまた、より広い要素のセットにtabindex属性を追加する。

これは正式な文書型ではなく、WAI-ARIAをサポートする将来の正式なXHTML DTDによって廃止されるかもしれない。

XHTML 1.1 plus WAI-ARIA DTDは、http://www.w3.org/WAI/ARIA/schemata/xhtml-aria-1.dtdから入手できる。

このXHTMLファミリーマークアップ言語を使用して記述された文書は、上記のDTDを使用して検証することができる。文書の著者がそのような検証を容易にしたい場合、著者は文書の先頭に次の宣言を含めることができる:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+ARIA 1.0//EN" 
  "http://www.w3.org/WAI/ARIA/schemata/xhtml-aria-1.dtd">

しかし、このDOCTYPEが文書中に存在する場合、ほとんどのユーザーエージェントはHTMLではなくむしろ汎用XMLとして文書を扱うことに注意すること。これは、文書をDTDで定義される名前付き文字エンティティをサポートすることができないようにさせる(たとえば、&copy;)。したがって著者は、XMLにおける定義済みエンティティの外で名前付きエンティティの使用を避ける必要がある([XML]、4.6節)。

上記の問題を回避するために、著者は、上記のDOCTYPE宣言を省略することができる。これは、ユーザーエージェントに名前付き文字エンティティのサポートと同様に内蔵のARIAのサポートをもつ汎用HTMLとして文書を処理させる。しかし、これはユーザーエージェントにCSSレンダリングに影響を与える"quirks"モードに入るようにさせ、適合性チェッカーに追加されたARIAの属性に文書を失敗させる。

名前付き文字エンティティのサポートおよびquirksモードの問題を回避するために、著者は、HTMLに対して次の汎用DOCTYPE宣言を代わりに使用することができる:

<!DOCTYPE html>

しかし、これは依然として文書が適合性チェッカーによって検証されることを保証するものではない。

10.1.4. XHTML+ARIAのためのSGMLオープンカタログエントリー

この節は、XHTML+ARIA 1.0のための公開識別子のSGMLオープンカタログフォーマット定義[CATALOG]を含む。

-- .......................................................................... --
-- File catalog  ............................................................ --

--  XHTML+ARIA Catalog Data File

    Revision:  $Revision: 1.3 $

    See "Entity Management", SGML Open Technical Resolution 9401 for detailed
    information on supplying and using catalog data. This document is available
    from OASIS at URL:

        <http://www.oasis-open.org/html/tr9401.html>

--

-- .......................................................................... --
-- SGML declaration associated with XHTML  .................................. --

OVERRIDE YES

SGMLDECL "xml1.dcl"

-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --

-- XHTML+ARIA modules          .............................................. --


PUBLIC "-//W3C//DTD XHTML+ARIA 1.0//EN" "xhtml-aria-1.dtd"


PUBLIC "-//W3C//ENTITIES XHTML ARIA Attributes 1.0//EN" "aria-attributes-1.mod"

-- End of catalog data  ..................................................... --
-- .......................................................................... --

10.1.5. WAI-ARIA属性XMLスキーマモジュール

このモジュールは、モジュール化されたスキーマに含めることができるXMLスキーマモジュールとしてWAI-ARIA属性を宣言する。WAI-ARIA属性は名前空間内になく、属性名は既存の属性との衝突の可能性を減らすために"aria-"で始まることに注意する。

このモジュールは、http://www.w3.org/MarkUp/SCHEMA/aria-attributes-1.xsdから入手できる。

10.1.6. HTML 4.01 plus WAI-ARIA DTD

このスタンドアロンDTDは、role属性だけでなく、WAI-ARIAステートおよびプロパティ属性をHTML4.01のすべての要素に追加する。より広いキーボードサポートを提供するために、DTDはまた、要素の広いセットにtabindex属性を付加する。

DTDは、HTML 4.01暫定DTDに基づいて、そのスタンドアロンのファイルにするために必要なすべてのエンティティの参照が含まれている。これは公式のW3C DTDではなく、HTML 4.01の派生著作物を考慮すべきである。

このマークアップ言語を用いて書かれた文書は、上記のDTDを使用して検証することができる。文書の著者がそのような検証を容易にしたい場合、著者は文書の先頭に次の宣言を含めることができる:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML+ARIA 1.0//EN" 
    "http://www.w3.org/WAI/ARIA/schemata/html4-aria-1.dtd">

しかし、このDOCTYPEが文書中に存在する場合、ほとんどのユーザーエージェントはHTMLではなくむしろ汎用XMLとして文書を扱うことに注意すること。これは、文書をDTDで定義される名前付き文字エンティティをサポートすることができないようにさせる(たとえば、&copy;)。したがって著者は、XMLにおける定義済みエンティティの外で名前付きエンティティの使用を避ける必要がある([XML]、4.6節)。

上記の問題を回避するために、著者は、上記のDOCTYPE宣言を省略することができる。これは、ユーザーエージェントに名前付き文字エンティティのサポートと同様に内蔵のARIAのサポートをもつ汎用HTMLとして文書を処理させる。しかし、これはユーザーエージェントにCSSレンダリングに影響を与える"quirks"モードに入るようにさせ、適合性チェッカーに追加されたARIAの属性に文書を失敗させる。

名前付き文字エンティティのサポートおよびquirksモードの問題を回避するために、著者は、HTMLに対して次の汎用DOCTYPE宣言を代わりに使用することができる:

<!DOCTYPE html>

しかし、これは依然として文書が適合性チェッカーによって検証されることを保証するものではない。

HTMLワーキンググループは、WAI-ARIAをHTML 5に組み入れている。HTMLにおけるWAI-ARIAの公式サポートは、HTML5仕様で提供される。このDTDは、DTD検証を必要とするがHTML5を使用しないアプリケーションのための解決策の橋渡しとしてのみ利用可能になる。

このモジュールは、http://www.w3.org/WAI/ARIA/schemata/html4-aria-1.dtdから入手できる。

10.2. WAI-ARIAの値型の言語へのマッピング

編集注:下記表のHTML 5列は、HTML5仕様に移動し、仕様の規範になることが期待される。HTML 5におけるARIAの語彙処理に関するコメントは、ISSUE-129を参照し、HTMLワーキンググループに処理される。

編集注:HTML 5でtrue/false値の推奨されるマッピングは、HTML 5真偽値型を使用する代わりに、"true"および"false"の許容値をもつキーワードおよび列挙属性を使用する。@@ true/false/undefinedの場合のデフォルト値のため、属性の不在に依存することはできない。

下記の表は、WAI-ARIAステートおよびプロパティ型とHTML 5、XMLスキーマデータ型[[XSD]、SVG、およびSGMLからの属性型間との推奨されるマッピングを提供する。

下記に記載されない言語は、言語で定義される適切な値型を持つかもしれない。そうでない場合、我々は、汎用XML言語のためのXMLスキーマデータ型を勧める。スキーマの代わりにDTDを使用する文書は、自動的に検証することができず、WAI-ARIA属性の追加の処理を必要とする。

WAI-ARIA typeHTML 5XML Schema
true/falseKeyword and enumerated attributes with allowed values of "true" and "false"boolean
true/false/undefinedKeyword and enumerated attributes with allowed values of "true", "false", and "undefined"NMTOKEN with an enumeration constraint allowing values of "true", "false", and "undefined"
tristateKeyword and enumerated attributes with allowed values of "true", "false", and "mixed"NMTOKEN with an enumeration constraint allowing values of "true", "false", and "mixed"
Real numberdecimal
整数Non-negative integer整数
トークンKeyword and enumerated attributesNMTOKEN with an enumeration constraint allowing values listed in the state or property definition
トークンリストSpace-separated tokensNMTOKENS with an enumeration constraintallowing values listed in the state or property definition
ID参照The value of a defined id attribute on another elementIDREF
ID参照リストThe value of one or more defined id attributes on other element(s), represented as Space-separated tokensIDREFS
文字列No value constraints文字列

10.3. WAI-ARIAロール、ステートおよびプロパティのクイックリファレンス

次の表は、マークアップで使用することができるすべてのWAI-ARIAロールにサポートされるステートおよびプロパティへのクイックリファレンスを提供する。

ロールRequired PropertiesSupported Properties
alert 
alertdialog 
application 
article 
banner 
button 
checkbox 
columnheader 
combobox
complementary 
contentinfo 
definition 
dialog 
directory 
document 
form 
grid 
gridcell 
group 
heading 
img 
link 
list 
listbox 
listitem 
log 
main 
marquee 
math 
menu 
menubar 
menuitem  
menuitemcheckbox 
menuitemradio
navigation 
note 
option 
presentation  
progressbar 
radio
radiogroup 
region 
row 
rowgroup 
rowheader 
search 
separator 
scrollbar
slider
spinbutton
status 
tab 
tablist 
tabpanel 
textbox 
timer 
toolbar 
tooltip 
tree 
treegrid 
treeitem 

10.4. 謝辞

次の人は、この文書の開発に貢献した。

10.4.1. 発行時点のPFWGでアクティブな参加者

  • Christy Blew (Invited Expert, University of Illinois)
  • David Bolter (Mozilla Foundation)
  • Michael Cooper (W3C/MIT)
  • James Craig (Apple Inc.)
  • Joanmarie Diggs (Igalia)
  • Steve Faulkner (The Paciello Group)
  • John Foliot (Invited Expert)
  • Scott González (JQuery Foundation)
  • Karl Groves (The Paciello Group)
  • Jon Gunderson (Invited Expert, University of Illinois)
  • Markus Gylling (DAISY Consortium)
  • Mona Heath (Invited Expert, University of Illinois)
  • Matthew King (IBM Corporation)
  • Dominic Mazzoni (Google, Inc.)
  • Shane McCarron (Invited Expert, Aptest)
  • Charles McCathieNevile (Yandex)
  • Mary Jo Mueller (IBM Corporation)
  • James Nurthen (Oracle Corporation)
  • Mark Sadecki (W3C)
  • Janina Sajka (Invited Expert, The Linux Foundation)
  • Joseph Scheuhammer (Invited Expert, Inclusive Design Research Centre, OCAD University)
  • Stefan Schnabel (SAP AG)
  • Richard Schwerdtfeger (IBM Corporation)
  • Lisa Seeman (Invited Expert)
  • Cynthia Shelly (Microsoft Corporation)
  • Alexander Surkov (Mozilla Foundation)
  • Andi Snow-Weaver (IBM Corporation)
  • Léonie Watson (The Paciello Group)
  • Wu Wei (W3C / RITT)
  • Gottfried Zimmermann (Invited Expert, Access Technologies Group)

10.4.2. その他のARIAの貢献者、コメンター、および以前にアクティブなPFWG参加者

Protocols and Formats Working Groupは、ARIAに並はずれた貢献のための3人に特別な感謝を表す:

  • ARIA仕様でカプセル化された技術を考案し、我々のARIAタスクフォース世話役として当初からARIA上のPFの仕事をリードしているRichard Schwerdfeger
  • PFWGの議長として、この技術を作成する必要性とPFの機会を理解し、PFがARIAを開発すべきであるとW3Cを説得したAlfred Gilman
  • FirefoxにARIAの実践的な実行可能性を実証するのを可能にした文字通り何万行ものソフトウェアコードを作成し、初期のARIAユーザーエージェント実装ガイドの草案を着想し作成したAaron Leventhal

その他の貢献者:

  • Shadi Abou-Zahra (W3C)
  • Jim Allan (TSB)
  • Jonny Axelsson (Opera Software)
  • David Baron (Mozilla Foundation)
  • Art Barstow (Nokia Corporation)
  • Simon Bates
  • Chris Blouch (AOL)
  • Judy Brewer (W3C/MIT)
  • Mark Birbeck (Sidewinder Labs)
  • Sally Cain (Royal National Institute of Blind People (RNIB))
  • Gerardo Capiel (Benetech)
  • Ben Caldwell (Trace)
  • Sofia Celic-Li
  • Jaesik Chang (Samsung Electronics Co., Ltd.)
  • Alex Qiang Chen (University of Manchester)
  • Charles Chen (Google, Inc.)
  • Christian Cohrs
  • Deborah Dahl
  • Erik Dahlström (Opera Software)
  • Dimitar Denev (Frauenhofer Gesellschaft)
  • Micah Dubinko (Invited Expert)
  • Mandana Eibegger
  • Beth Epperson (Websense)
  • Donald Evans (AOL)
  • Chris Fleizach (Apple Inc.)
  • Kelly Ford (Microsoft Corporation)
  • Geoff Freed (Invited Expert, NCAM)
  • Kentarou Fukuda (IBM Corporation)
  • Bryan Garaventa
  • Guido Geloso
  • Ali Ghassemi
  • Becky Gibson (IBM)
  • Alfred S. Gilman
  • Andres Gonzalez (Adobe Systems Inc.)
  • James Graham
  • Georgios Grigoriadis (SAP AG)
  • Jeff Grimes (Oracle)
  • Loretta Guarino Reid (Google, Inc.)
  • Katie Haritos-Shea (Invited Expert)
  • Barbara Hartel
  • James Hawkins (Google, Inc.)
  • Benjamin Hawkes-Lewis
  • Sean Hayes (Microsoft Corporation)
  • Jan Heck
  • Shawn Henry
  • Tina Homboe
  • John Hrvatin (Microsoft Corporation)
  • Takahiro Inada
  • Masayasu Ishikawa (W3C)
  • Jim Jewitt
  • Kenny Johar (Microsoft Corporation)
  • Shilpi Kapoor (BarrierBreak Technologies)
  • Masahiko Kaneko (Microsoft Corporation)
  • Marjolein Katsma
  • George Kerscher (International Digital Publishing Forum)
  • Jason Kiss (New Zealand Government)
  • Todd Kloots
  • Johannes Koch
  • Sam Kuper
  • Earl Johnson (Sun)
  • Jael Kurz
  • Rajesh Lal (Nokia Corporation)
  • Diego La Monica (International Webmasters Association / HTML Writers Guild (IWA-HWG))
  • Aaron Leventhal (IBM Corporation)
  • Gez Lemon (International Webmasters Association / HTML Writers Guild (IWA-HWG))
  • Alex Li (SAP)
  • Chris Lilley
  • Thomas Logan (HiSoftware Inc.)
  • William Loughborough (Invited Expert)
  • Linda Mao (Microsoft)
  • David MacDonald (Invited Expert, CanAdapt Solutions Inc.)
  • Carolyn MacLeod
  • Anders Markussen (Opera Software)
  • Matthew May (Adobe Systems Inc.)
  • Krzysztof Maczyński
  • Alexandre Morgaut (4D)
  • Ann Navarro (Invited Expert)
  • Joshue O Connor (Invited Expert, CFIT)
  • Artur Ortega (Microsoft Corporation)
  • Sailesh Panchang (Deque)
  • Lisa Pappas (Society for Technical Communication (STC))
  • Marta Pawlowlska (Samsung Electronics Co., Ltd.)
  • Dave Pawson (RNIB)
  • Steven Pemberton (CWI Amsterdam)
  • Simon Pieters (Opera Software)
  • Jean-Bernard Piot (4D)
  • David Poehlman, Simon Pieters (Opera Software)
  • Sarah Pulis (Media Access Australia)
  • T.V. Raman (Google, Inc.)
  • Jan Richards
  • Gregory Rosmaita (Invited Expert)
  • Tony Ross (Microsoft Corporation)
  • Alex Russell (Dojo Foundation) (
  • Mario Sánchez Prada (Samsung Electronics Co., Ltd. and Gnome Foundation)
  • Martin Schaus (SAP AG)
  • Doug Schepers (W3C)
  • Matthias Schmitt
  • Marc Silbey (Microsoft Corporation)
  • Leif Halvard Sili
  • Henri Sivonen (Mozilla)
  • Michael Smith (W3C)
  • Ville Skyttä
  • Henny Swan (BBC)
  • Neil Soiffer (Design Science)
  • Vitaly Sourikov
  • Mike Squillace (IBM)
  • Maciej Stachowiak (Apple Inc.)
  • Christophe Strobbe
  • Suzanne Taylor (Pearson plc)
  • Terrill Thompson
  • David Todd
  • Gregg Vanderheiden (Invited Expert, Trace)
  • Anne van Kesteren
  • Ryan Williams (Oracle)
  • Tom Wlodkowski
  • Sam White (Apple Inc.)

10.4.3. 資金提供者の権利

この出版物は、契約番号ED05CO0039およびED-OSE-10-C-0067のもとで米国教育省・障害者リハビリテーション研究所(NIDRR)の政府資金によって一部賄われている。この出版物の内容は、必ずしも米国教育省の見解や政策を反映するものではなく、また商品名、商用製品、組織の言及は米国政府による支持を意味するものではない。