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: 著者