5. 役割モデル

このセクションは、規範的です。

このセクションは、WAI-ARIA役割分類体系 (role taxonomy) を定義するとともに、すべての役割の特性とプロパティを記します。ここに示されているすべての情報は、そのRDF/OWLに則した表現が、スキーマ付録で利用可能です。

役割(roles)、役割の特性、役割について利用可能な状態(states)とプロパティ(properties)、および、どのようなマークアップで役割を使用することが認められているのかという仕様は、規範的なものでなければなりません。これに対して、分類体系をモデル化するために使用されるRDF/OWL表現は、参考情報とみなされるべきものです。RDF/OWL分類体系は、将来的にWAI-ARIAを拡張するための媒体として利用したり、ツール・メーカーによって、役割に適用できる状態およびプロパティをこの仕様に従って検証するための使用されるかもしれません。

役割(roles)は、要素の形式であり、Webページの作成者は、時間の経過やユーザーアクションとともに役割の値を変えてはいけません。どうしても役割を変更したい場合には、当該の要素とその子要素を削除して、新しい要素に適切な役割与えて置き換えることによってそうしなければなりません。一般的に、プラットフォームアクセシビリティー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つの概念の定義が変化しても、それに関連する概念のプロパティ、挙動、および、定義は影響を受けません。

たとえば、プログレスバーは、ステータスインジケーター(status indicator)のようなものです。従って、progressbarウィジェットは、statusを含んだrole:relatedConcept値をもちます。しかし、たとえstatusの定義が変更されても、progressbarの定義はそれに影響を受けることはありません。

5.1.4. 基本概念

RDFプロパティ
role:baseConcept

役割のプロトタイプと考えられるオブジェクトに関する有益かつ有用なデータ。基本概念は型(type)に類似していますが、制限およびプロパティは継承しません。基本概念は、外部の概念に対する継承を代替するものとして設計されています。基本概念は、それが役割の定義とほぼ同一であることを除いて、関連概念に類似したものです。

たとえば、この文書で定義されるcheckboxは、HTMLで定義されるチェックボックスに類似した機能と想定される挙動をもちます。従って、checkboxbaseConceptとしてHTMLcheckboxをもちます。しかし、もし元のHTMLチェックボックスbaseConceptの定義が変更された場合でも、各型(type)の実際の継承は全くないため、この文書内のcheckboxの定義は影響を受けることはありません。

5.2. 役割の特性

役割は、役割の特性によって定義され記述されます。特性は、役割の背後にある概念として役割がどのようなものであるか、どのようなインスタンスを含むことができる、または、含まなければならないかなど、役割の構造上の機能を定義します。ウィジェットの場合、また特性は、HTMLフォームおよびXFormsへの対応づけに基づいて、ウィジェットがどのようにブラウザーとの通信を行うかといことを含みます。役割によって利用可能なWAI-ARIAの状態およびプロパティも明示されています。

役割分類体系 (role taxonomy) は、次のような特性を定義します。この特性は、役割を記述する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役割分類をサポートするために使用される。

抽象役割は概念体系 (ontology) のために使用される。作成者は、コンテンツにおいて抽象役割を使用してはならない

5.3.2. ウィジェット役割

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

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

5.3.3. 文書構造

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

5.3.4. ランドマーク役割

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

5.4. 役割の定義

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

抽象役割は概念体系 (ontology) のために使用される。作成者は、コンテンツにおいて抽象役割を使用してはならない

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は、概念体系 (ontology) のために使用される抽象役割である。作成者は、コンテンツでこの役割を使用しないようにしてください。

commandの特性
特性
抽象役割かどうか: True
スーパークラス役割: widget
サブクラス役割:
関連する概念:
継承される状態およびプロパティ:
Name From: 作成者

complementary (役割)

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

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

ブラウザーは、ナビゲーションランドマークとしてcomplementaryの役割をもつ要素を扱うべきである

Characteristics of complementary
特性
スーパークラス役割: landmark
継承される状態およびプロパティ:
Name From: 作成者

composite (抽象役割)

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

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

注:compositeは、概念体系 (ontology) のために使用される抽象役割である。作成者は、コンテンツでこの役割を使用しないようにしてください。

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は、概念体系 (ontology) のために使用される抽象役割である。作成者は、コンテンツでこの役割を使用しないようにしてください。

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は、概念体系 (ontology) のために使用される抽象役割である。作成者は、コンテンツでこの役割を使用しないようにしてください。

rangeの特性
特性
抽象役割かどうか: True
スーパークラス役割: widget
サブクラス役割:
指定可能な状態およびプロパティ: aria-valuetext
継承される状態およびプロパティ:
Name From: 作成者

region (役割)

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

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

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

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

Characteristics of region
特性
スーパークラス役割: section
サブクラス役割:
関連する概念:
継承される状態およびプロパティ:
Name From: 作成者

roletype (抽象役割)

この分類で他のすべての役割が継承する基本役割

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

注:roletypeは、概念体系 (ontology) のために使用される抽象役割である。作成者は、コンテンツでこの役割を使用しないようにしてください。

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は、概念体系 (ontology) のために使用される抽象役割である。作成者は、コンテンツでこの役割を使用しないようにしてください。

sectionの特性
特性
抽象役割かどうか: True
スーパークラス役割: structure
サブクラス役割:
関連する概念:
指定可能な状態およびプロパティ: aria-expanded (状態)
継承される状態およびプロパティ:
Name From:
  • コンテンツ
  • 作成者

sectionhead (抽象役割)

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

注:sectionheadは、概念体系 (ontology) のために使用される抽象役割である。作成者は、コンテンツでこの役割を使用しないようにしてください。

sectionheadの特性
特性
抽象役割かどうか: True
スーパークラス役割: structure
サブクラス役割:
指定可能な状態およびプロパティ: aria-expanded (状態)
継承される状態およびプロパティ:
Name From:
  • コンテンツ
  • 作成者

select (抽象役割)

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

注:selectは、概念体系 (ontology) のために使用される抽象役割である。作成者は、コンテンツでこの役割を使用しないようにしてください。

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は、概念体系 (ontology) のために使用される抽象役割である。作成者は、コンテンツでこの役割を使用しないようにしてください。

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は、概念体系 (ontology) のために使用される抽象役割である。作成者は、コンテンツでこの役割を使用しないようにしてください。

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

window (抽象役割)

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

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

注:windowは、概念体系 (ontology) のために使用される抽象役割である。作成者は、コンテンツでこの役割を使用しないようにしてください。

windowの特性
特性
抽象役割かどうか: True
スーパークラス役割: roletype
サブクラス役割:
指定可能な状態およびプロパティ: aria-expanded (状態)
継承される状態およびプロパティ:
Name From: 作成者