Accessible Rich Internet Applications (WAI-ARIA) 1.3 日本語訳

W3C First Public Working Draft

More details about this document
This version:
https://www.w3.org/TR/2024/WD-wai-aria-1.3-20240123/
Latest published version:
https://www.w3.org/TR/wai-aria-1.3/
Latest editor's draft:
https://w3c.github.io/aria/
History:
https://www.w3.org/standards/history/wai-aria-1.3/
Commit history
Latest Recommendation:
https://www.w3.org/TR/wai-aria/
Editors:
James Nurthen (Adobe)
Peter Krautzberger (krautzource UG)
Former editors:
Michael Cooper (W3C) (Editor until 2023)
Joanmarie Diggs (Igalia, S.L.) (Editor until 2021)
Shane McCarron (Spec-Ops) (Editor until 2018)
Richard Schwerdtfeger (Knowbility) (Editor until October 2017)
James Craig (Apple Inc.) (Editor until May 2016)
Feedback:
GitHub w3c/aria (pull requests, new issue, open issues)

概要

支援技術が障害のある人に対し適切な情報を伝えられるようにするために、ウェブコンテンツのアクセシビリティは、ウィジェット、構造、動作に関するセマンティック情報を要求する。この仕様は、アクセシブルなユーザーインターフェイス要素を定義して、ウェブコンテンツおよびウェブアプリケーションのアクセシビリティおよび相互運用性を向上する目的で使用できる、ロール、ステート、プロパティのオントロジーを提供する。これらのセマンティックスは、文書レベルのマークアップにおいて著者がユーザーインターフェイスの動作と構造情報を支援技術に適切に伝えることができるよう設計されている。このバージョンは、[HTML]と[SVG2]に対して一貫したアクセシビリティモデルを形成するために、支援技術との相互運用性を向上させるためにWAI-ARIA 1.1 [wai-aria-1.1]以降の新機能が追加される。この仕様は、[HTML]と[SVG2]の両者を補完することが期待される。

この文書は、WAI-ARIA Overviewで説明されているWAI-ARIAスイートの一部と位置付けられている。

この文書の位置付け

この節は、公開時点におけるこの文書のステータスについて説明する。W3Cが現在公開しているリストとテクニカルレポートの最新版は、W3C technical reports index at https://www.w3.org/TR/で見つけることができる。

Accessible Rich Internet Applications Working Groupは、仕様のあらゆる側面についてのフィードバックを求めている。フィードバックを送信する場合、参考文書のコンテキストで問題を検討されたい。コメントするために、W3C ARIA GitHubリポジトリーに提出する。これを実行できない場合、public-aria@w3.orgコメントアーカイブ)にメールを送信する。進行中の文書の更新は、公開エディターズドラフトで見ることができる。

この文書は、勧告トラックを用いたFirst Public Working DraftとしてAccessible Rich Internet Applications Working Groupによって発行された。

First Public Working Draftとしての公開はW3Cメンバーの支持を意味するものではない。

この文書は草案であり、いつでも更新、他の文書による置き換えや廃止扱いにされうる。進行中の作業以外のものとしてこの文書を引用することは不適切である。

この文書は2004年2月6日のW3C特許ポリシーの下で活動するグループによって作成された。W3Cは、グループの成果物に関するあらゆる開示特許の公開リストを管理する。ここには、特許開示にあたっての指示も含まれている。特許について十分に知識のある人物が、仕様にEssential Claim(s)が認められると判断した場合は、W3C特許ポリシーの第6章に従い情報を開示する必要がある。

この文書は2023年11月3日付けのW3Cプロセス文書によって管理される。

1. 導入

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

この仕様の目的は次を含む:

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

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

この仕様で定義されているロールは、プラットフォームのアクセシビリティAPIで使用されるロールをサポートするように設計されている。動的なウェブコンテンツ内の要素上のこれらのロールの宣言は、ウェブコンテンツとアクセシビリティAPIを利用する支援技術との間の相互運用性をサポートすることを目的としている。

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

WAI-ARIA 1.2は、WAI-ARIAおよび他のウェブコンテンツ言語をアクセシビリティAPIにセマンティックスを公開する方法を定義するWAI-ARIA 1.2スイートのメンバーである。

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

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

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

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

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

ロールモデルは、文書構造を示すインタラクションウィジェットおよび要素を含む。ロールモデルは、継承を説明し、各ロールがサポートする属性の詳細を説明する。アクセシビリティAPIへのロールのマッピングに関する情報は、Core Accessibility API Mappings [CORE-AAM-1.2]によって提供される。

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

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

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

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

The contract model with accessibility APIs

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

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

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

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

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

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

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

1.2 対象読者

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.5.1 オーサリングツール

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

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

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

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

1.6 支援技術

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

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

2. 重要な用語

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

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

アクセシビリティAPI

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

アクセシブルなオブジェクト

アクセシビリティAPIアクセシビリティツリーにおけるノード。アクセシビリティオブジェクトは、支援技術による用途に対する、さまざまなステートプロパティおよびイベントを公開する。一般にマークアップ言語(HTMLSVGなど)のコンテキストにおいて、特にWAI-ARIAにおいて、マークアップ要素およびその属性は、アクセシブルなオブジェクトとして表される。

支援技術

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

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

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

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

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

非推奨のロールステートまたはプロパティは、新しい構築物または変更状況によって時代遅れとなっており、かつWAI-ARIA仕様の将来のバージョンで削除されるかもしれないものである。ユーザーエージェントは、下位互換性のために非推奨として識別される項目のサポートを継続することを勧める。詳細については、適合性セクションの非推奨要件を参照のこと。

定義する

属性の説明で使用される、値の整数数値、または文字列であることを示すもの。

関連用語:特定する示す

デスクトップフォーカスイベント

入力フォーカスの変更を通知するアクセシビリティAPIを通してホストオペレーティングシステムから/へのイベント。

イベント

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

公開する

Core Accessibility API Mappingsで定義されるプラットフォーム固有のアクセシビリティAPIに変換される。

グラフィカルな文書

ユーザーナビゲート可能な部分をもつグラフィック表現を含む文書。グラフ、地図、図表、設計図、およびダッシュボードは、グラフィカルな文書の例である。グラフィカルな文書は、記号、画像、テキスト、および基本図形(円、点、線、軌道、矩形などの図形)の任意の組み合わせを使用して構成される。

非表示

要素がアクセシビリティツリーから除外されており、そのためアクセシビリティAPIに公開されていないことを示す。

関連:アクセシビリティツリーで除外する要素すべてのユーザーから隠すaria-hidden

すべてのユーザーから隠す

要素すべてのユーザーに可視、知覚可能またはインタラクティブでないことを示す。要素非表示にできるが、aria-hiddenを使用してすべてのユーザーから非表示にはできないことに注意する。

関連:アクセシビリティツリーで除外する要素非表示aria-hidden

特定する

属性の説明で使用され、値のID参照(単一の要素を特定する)またはID参照リスト(1つ以上の要素を特定する)であることを示す。

関連用語:定義する示す

示す

属性の説明で使用され、値のが名前付きトークンである、または、真偽型のtrue/falsetrue/false/undefinedtristate (true/false/mixed)、単一の名前付きトークントークンリストなどのトークンに似ていることを示す。

関連用語:定義する特定する

キーボードアクセシブル

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

ランドマーク

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

ライブリージョン

ライブリージョンは、典型的に、外部イベントの結果として更新される、ウェブページの知覚可能な領域である。これらの領域は、ユーザーの操作の結果として常に更新されるわけではなく、フォーカスを持たないときでさえも、これらの更新を受け取ることができる。ライブリージョンの例は、チャットログ、株価表示機、またはゲームの統計を反映するために定期的に更新するスポーツのスコアリングセクションを含む。これらの非同期の領域はユーザーのフォーカス領域の外側で更新することが期待されるので、スクリーンリーダーなどの支援技術は、どちらかその存在に気づかないか、ユーザーに対して領域を処理できないかのいずれかである。WAI-ARIAは、著者がこれらライブリージョンを識別することおよび処理することを可能にするプロパティのコレクションを提供している:aria-live、aria-relevant、aria-atomicおよびaria-busy。

管理されたステート

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

ネメス点字

数式のためのネメス点字コードは、数学および科学表記を符号化するための点字コードである。WikipediaのNemeth Brailleを参照のこと。

オブジェクト

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

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

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

操作可能

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

知覚可能

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

プロパティ

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

関係

2つの別なものの間の関係。関係は、オブジェクトがもう1つのオブジェクトを分類したり制御したりすることを示すような、さまざまな種類にできる。

ロール

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

セマンティックス

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

ステート

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

ターゲット要素

WAI-ARIA関係で指定される要素。たとえば、<div aria-controls=”elem1”>。ここで“elem1”は対象要素に対するIDである。

Unicode点字図形

Unicodeにおいて、点字はブライユ点字図形(U+2800..U+28FF)と呼ばれるブロックで表される。このブロックには、8ドット点字セルの256の可能なパターンがすべて含まれている。これには、U+2800..U+283Fで表される完全な6ドットのセル範囲が含まれる。すべての点字システムで、点字パターンdots-0(U+2800)は、スペースまたはコンテンツの欠如を表すために使用される。これは空白の点字パターンとも呼ばれる。WikipediaのBraille Patternsを参照のこと。

ウィジェット

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

3. 適合性

アクセシブルリッチインターネットアプリケーションの主要なコンテンツは規範的であり、適合要求に影響を与える要件を定義する。入門資料、付録、"非規範的"と記されている章および節、図、例、および注釈は参考情報である(非規範的)。非規範的な資料は、ガイドラインの解釈に役立つ助言情報を提供するが、適合表明に影響を及ぼす要件は作成しない。

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

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

3.1 ホスト言語非干渉

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

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

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

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

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

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

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

3.4 適合性チェッカー

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

3.5 非推奨の要件

技術の進化により、以前に定義された機能よりもよりよい動作をする、ユースケースを満たすための新しい方法が時には利用可能になる。しかし、古い機能の既存の実装のため、その機能は、以前の適合コンテンツをレンダリングすることなく、適合モデルから削除することはできない。この場合、古い機能は"deprecated"(非推奨)としてマークされる。これは、その機能が適合モデルで許可され、ユーザーエージェントによってサポートされることが期待されるが、著者が新しいコンテンツにその機能を使用しないことが勧められることを示す。仕様の将来のバージョンにおいて、機能がもはや広く使用されない場合、その機能は削除され、もはやユーザーエージェントによってサポートされることが期待できないだろう。

4. WAI-ARIAを使用する

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

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

4.1 WAI-ARIAロール

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

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

モデルにおける各ロールの定義は、次の情報を提供する:

付随するロールは、支援技術に各要素を扱うための方法に関する情報を与える。WAI-ARIAロールがホスト言語のセマンティックスを上書きするとき、アクセシビリティツリーのみ変更が存在し、DOMに変更はない。

ユーザーエージェントは、任意の非抽象WAI-ARIAロールの名前と一致するrole属性でトークンシーケンスの最初のトークンを使用しなければならない。詳細については、ホスト言語でのrole属性の実装に関するセクションを参照のこと。

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

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

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

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

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

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

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

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

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

4.3 フォーカスの管理およびキーボードナビゲーションのサポート

標準のHTMLインタラクティブ要素および単純なWAI-ARIAウィジェットを使用するとき、アプリケーション開発者はタブの順序を操作したり、キーボードショートカットを文書内の要素に関連付けたりできる。

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

リッチインターネットアプリケーションで使用可能なキーボードナビゲーションは、静的文書における、リンクやフォームコントロールなどのインタラクティブな要素間のタブ移動パラダイムとは異なる。リッチインターネットアプリケーションにおいて、ユーザーはメニューやスプレッドシートなどの非常に複雑なウィジェットにタブで移動し、ウィジェット内を移動するために矢印キーを使用する。WAI-ARIAがキーボードナビゲーションを導入する変更により、この拡張されたアクセシビリティが可能になる。WAI-ARIAでは、どの要素でもキーボードフォーカスが可能である。tabindexなどのホスト言語のメカニズムに加えて、aria-activedescendantはキーボード操作のための別のメカニズムを提供する。WAI-ARIAウィジェット開発の他のほとんどの側面は、キーボードナビゲーションが正しく機能しているかどうかにかかっている。

次に説明するaria-activedescendantを実装する場合、ユーザーエージェントは、コンテナー要素またはコンテナー要素を制御する入力要素にDOMフォーカスを保持する。しかし、ユーザーエージェントは、あたかもaria-activedescendantによって参照される要素にフォーカスがあるかのように、デスクトップフォーカスイベントとステートを伝える。ユーザーエージェントは、アクティブな子孫がコンテナーの子孫であることの検証を期待されない。DOMフォーカスを持つコンテナー要素でキーボードイベントが処理されることを保証するのはユーザーエージェントの責任である。アクティブな子孫に向けられた任意のキーボードイベントは、処理のためのフォーカスをもつDOMコンテナー要素にバブリングする。

4.3.1 著者向けの情報

著者がフォーカスをもつ要素を削除する場合、著者はフォーカスを論理的な要素に移動させるべきである。同様に、著者は、ユーザーがスクロール動作を実行しない限り、要素を画面の外にフォーカスさせてスクロールすべきではない

著者は、すべてのインタラクティブな要素がフォーカス可能であること、および合成ウィジェットのすべての部分がフォーカス可能であること、またはそれらの機能を達成するための文書化された代替方法を持つことを保証すべきである

著者は次のコンテナーロール上のフォーカスを処理しなければならない

WAI-ARIAをサポートするユーザーエージェントは、tabindexfocusblurなどのホスト言語メカニズムの用法を拡張して、すべての要素でそれらを使用できるようにする。ホスト言語がサポートするところでは、著者はtabindex="0"を設定することによってデフォルトのタブ順序にdivspanimgのような任意の要素を追加してもよい。さらに、負の整数に相当するtabindexをもつ任意の項目は、スクリプトまたはマウスクリックによってフォーカス可能であるが、デフォルトのタブ順序の一部ではない。これは[HTML]と[SVG2]の両方でサポートされている。

ウィジェット要素のロールがaria-activedescendantをサポートする場合、widget要素の子孫がユーザーインターフェイスでキーボードフォーカスを持つものとして扱われる支援技術に通知するために、著者はaria-activedescendantを使用してもよい。これは、listboxなどのウィジェット内でキーボードナビゲーションを提供するためのより便利な方法であることが多く、ウィジェットはページのTabシーケンスで1つのストップのみを占有し、他のキー(通常は矢印キー)はウィジェット内の要素をフォーカスするために使用する。

通常、著者はTabシーケンスにウィジェットを配置するためにホスト言語のセマンティックスを使用し(たとえばHTMLtabindex="0")、現在アクティブな子孫のIDを指すためにaria-activedescendantを使用する。ユーザーエージェントではなく著者が、キーボードフォーカスを持つことを示すために現在アクティブな子孫をスタイル付けに対する責任がある。実際のフォーカスはコンテナー上にあるため、著者は現在アクティブな子孫をスタイル付けするために:focusを使用することはできない。

フォーカスの管理の詳細については、WAI-ARIA Authoring PracticesDeveloping a Keyboard Interfaceの節を参照のこと。

4.3.2 ユーザーエージェント向けの情報

ユーザーエージェントはaria-activedescendantを実装するために次を実行しなければならない

  1. aria-activedescendantをサポートするウィジェットがタブ順序に含めることができるように、キーボードナビゲーション用のホスト言語メソッドを実装する。
  2. DOMフォーカスとは別にデスクトップフォーカスまたはアクセシビリティAPIフォーカスを公開するプラットフォームの場合、DOMフォーカスを持ち、かつ妥当なID参照を指すaria-activedescendantも持つとき、いずれの要素についてもアクセシビリティAPIのフォーカス状態を公開しない。
  3. 現在DOMフォーカスを持つ要素でaria-activedescendant属性が変更される場合、以前にフォーカスされたオブジェクトからフォーカス状態を削除し、aria-activedescendantによって参照される新しいアクティブ子孫でアクセシビリティAPIデスクトップフォーカスイベントを発火する。aria-activedescendantが除去される、または現在の文書内の要素を指していない場合、属性が変更されたオブジェクトに対してデスクトップフォーカスイベントを発火する。
  4. 次のアクセシビリティAPIのステートを、aria-activedescendant属性とDOMフォーカスの両方を持つ要素から参照できるID属性をもつ要素に適用する。aria-activedescendantが要素を参照できる方法は2つある。1つの方法は、それがaria-activedescendantをもつ要素のアクセシビリティの子孫である場合であり、もう1つの方法は、aria-activedescendant属性をもつcomboboxtextbox、またはsearchboxのロールをもつ要素によって制御される要素のアクセシビリティの子孫である場合である。
    1. 要素がWAI-ARIAロールも持つ場合、フォーカス可能。要素は、aria-activedescendant属性によって参照される可能性があるため、フォーカス可能にする必要がある。ロール属性を持たないネイティヴ要素はチェックする必要はない。それらのネイティヴセマンティックスがフォーカス可能な状態を決定する。
    2. 要素がaria-activedescendant属性のターゲットであり、aria-activedescendant属性をもつ要素がDOMフォーカスを持つ場合は常にフォーカスされる。

フォーカスの変更を要求するために支援技術がそのプラットフォームのアクセシビリティAPIを使用する場合、ユーザーエージェントは次のことを行わなければならない

  1. 以前にフォーカスされたオブジェクトからプラットフォームのフォーカスされたステートを削除する。
  2. DOMフォーカスを設定する:
    1. 要素DOMフォーカスを取得できる場合、ユーザーエージェントDOMフォーカスをその要素に設定しなければならない
    2. そうでなければ、その要素がIDを持ち、かつそのIDがフォーカス可能な要素のaria-activedescendant属性によって参照される場合、ユーザーエージェントはaria-activedescendant属性を持つ要素にDOMフォーカスを設定しなければならない

      IDをもつ要素は、aria-activedescendant属性を持つコンテナー要素、またはaria-activedescendant属性を持つ要素によって制御されるコンテナー要素(たとえば、comboboxを参照)のアクセシビリティ子孫である場合に参照できる。そうでなければ、aria-activedescendant属性参照は著者のエラーを示す。

      DOMフォーカスを包含する要素に設定できないことは、著者エラーを示す。

    3. そうでなければ、ユーザーエージェントはDOMフォーカスを子要素自体に設定しようと試みてもよい
  3. フォーカスされているその要素がIDを持ち、かつaria-activedescendant属性とDOMフォーカスの両方を持つコンテナー要素、またはaria-activedescendant属性とDOMフォーカスの両方を持つ要素によって制御されるコンテナー要素のいずれかのアクセシビリティの子孫である場合、ユーザーエージェントは、アクセシビリティAPIフォーカス状態を設定し、aria-activedescendantの値によって識別される要素に対してアクセシビリティAPIフォーカスイベントを発生させなければならない

5. ロールモデル

この節では、WAI-ARIAロールを定義し、その特性とプロパティについて説明する。

ロール、ロールの特性、ロールがサポートするステートおよびプロパティ、ならびにどのようにそれらをマークアップで使用できるかの仕様は、規範的なものとみなすものとする。

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

5.1 概念間の関係

ロールモデルは、WAI-ARIAロールを相互に関連付ける、およびHTMLなどの他の仕様の概念に関連付けるために、次の関係を使用する。

5.1.1 スーパークラスロール

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

5.1.2 サブクラスロール

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

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

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

5.1.4 ベース概念

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

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

5.2 ロールの特性

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

ロールは次の特性を定義する。

5.2.1 抽象ロール

Boolean

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

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

5.2.2 必須のステートおよびプロパティ

ロールおよびサブクラスロールのために具体的に必須のステートおよびプロパティ。コンテンツ著者は、必須のステートおよびプロパティに対してを提供しなければならない。コンテンツ著者は、undefinedがそのステートまたはプロパティの明示的にサポートされた値でない限り、必須のステートおよびプロパティに対して値undefinedを使用してはならない

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

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

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

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

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

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

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

5.2.5 禁止のステートおよびプロパティ

ロールで禁止されているステートおよびプロパティのリスト。著者は、禁止のステートまたはプロパティを指定してはならない

適切な暗黙のWAI-ARIAセマンティックをもつホスト言語属性も、このセクションのステートまたはプロパティを禁止する。

5.2.6 許可されたアクセシビリティの子ロール

このロールをもつ要素のアクセシビリティの子("子"として簡略化)で許可されるロールのリスト。著者は、許可されたロールをもつ子要素のみを追加しなければならない。たとえば、ロールlistをもつ要素は、ロールlistitemをもつ子要素を所有できるが、ロールoptionをもつ要素を所有することはできない。

要素が要素のであるかどうかを決定するために、ユーザーエージェントは、ロールgenericまたはnoneをもつ間に割り込む要素を無視しなければならない

要素の祖先の子でない子孫は、許可されたアクセシビリティ子ロールによって制約されない。たとえば、imagelistの許可された子ではないが、listの許可された子listitemの子孫でもある場合は、妥当な子孫である。

'許可されたアクセシビリティの子ロール'を持つロールは、逆の関係を意味しない。このリスト内のロールをもつ要素は、常に指定されたロールの要素内にある必要はない。特定のロールの要素が含まれるコンテキストに関する要件については、必須のアクセシビリティの親ロールを参照のこと。

'許可されたアクセシビリティの子ロール'のサブクラスロールをもつ要素は、この要件を満たしていない。たとえば、listboxロールは、optionまたはgroupロールを使用して子要素を許可する。groupロールはrowのスーパークラスであるが、rowのロールをもつ子要素を追加しても、listboxoptionまたはgroupロールをもつ子を許可するという要件は満たされない。

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

許可されたアクセシビリティの子ロールをマークアップする妥当な方法の例を次に示す:

  1. 直接のDOMの子:
    <div role="listbox">
    	<div role="option">option text</div>
    </div>
  2. genericが介在するDOMの子:
    <div role="listbox">
    	<div>
    		<div role="option">option text</div>
    	</div>
    </div>
  3. 直接のaria-owns関係:
    <div role="listbox" aria-owns="id1"></div>
    <div role="option" id="id1">option text</div>
  4. aria-owns relationship with generics intervening:
    <div role="listbox" aria-owns="id1"></div>
    <div id="id1">
    	<div>
    		<div role="option">option text</div>
    	</div>
    </div>

5.2.7 必須のアクセシビリティの親ロール

必須のアクセシビリティの親("親"として簡略化)ロールは、このロールが許可されるコンテナーを定義する。ロールに必須のアクセシビリティの親がある場合、著者は、そのロールをもつ要素が、必須のアクセシビリティの親ロールを持つ要素のアクセシビリティの子であることを保証しなければならない。たとえば、ロールlistitemをもつ要素は、ロールlistをもつ要素の子である場合にのみ意味を成す。

要素に必須のロールを持つ親があるかどうかを判断するために、ユーザーエージェントは、genericまたはnoneのロールをもつすべての要素を無視しなければならない

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

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

次のいずれかの値:
  1. 著者:aria-label属性、aria-labelledby属性、または、代替テキストを指定するための最低の優先順位を持つHTML title属性を伴う、HTMLにおけるaltまたはtitle属性のようなホスト言語ラベル付け機構のような明示的なマークアップ機能で著者によって提供される値に由来する名前。
  2. コンテンツ:要素ノードのテキスト値に由来する名前。これは一部のロールで"著者"に加えられるかもしれないが、より高い優先度"著者"機能が提供されない場合にのみ、これはコンテンツで使用される。優先順位はaccessible name and description computation algorithm [ACCNAME-1.2]によって定義される。
  3. 禁止:要素は著者由来の名前をサポートしない。著者は、要素に名前を付けるためにaria-labelまたはaria-labelledby属性を使用してはならない
5.2.8.1 名前計算

名前計算は、Accessible Name and Description仕様で定義される。

5.2.8.2 説明計算

説明計算は、Accessible Name and Description仕様で定義される。

5.2.8.3 アクセシブルな名前および説明計算

アクセシブルな名前および説明計算は、Accessible Name and Description仕様で定義される。

5.2.8.4 著者由来の名前をサポートするロール
5.2.8.5 コンテンツ由来の名前をサポートするロール
5.2.8.6 名前を付けることができないロール(名前は禁止されている)

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

Boolean (true | false)

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

5.2.10 暗黙のロールに対する値

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

5.3 ロールの分類

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

ロール間の関係の視覚的な説明は、ARIA 1.2 Class Diagramで利用可能である。

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

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

5.3.1 抽象ロール

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

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

5.3.2 ウィジェットロール

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

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

5.3.3 文書構造ロール

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

5.3.4 ランドマークロール

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

5.3.5 ライブリージョンロール

次のロールライブリージョンであり、ライブリージョン属性によって変更できる。

5.3.6 ウィンドウロール

次のロールは、ブラウザーまたはアプリケーション内でウィンドウとして機能する。

5.4 ロールの定義

次は、WAI-ARIAロールのアルファベット順のリストである。

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

alert
重要かつ通常は時間依存の情報をもつライブリージョンの種類。関連するalertdialogおよびstatusを参照のこと。
alertdialog
初期のフォーカスがダイアログ内の要素に行く場所で、警告メッセージを含むダイアログの種類。関連するalertおよびdialogを参照のこと。
application
widgetロールによってサポートされる標準的な相互作用パターンに従わない、キーボードまたはジェスチャーイベントなどの、ユーザー入力を要求する1つ以上のフォーカス可能な要素を含むstructure
article
文書、ページ、またはサイトの独立した部分を形成する文章から成るページのセクション。
banner
ページ固有のコンテンツではなく、ほとんどがサイト指向のコンテンツを含むlandmark
blockquote
別のソースから引用されたコンテンツのセクション。
button
クリックまたは押された際にユーザー誘発のアクションを可能にする入力。関連するlinkを参照のこと。
caption
figuregridgroupradiogrouptableまたはtreegridに名前を付ける、または説明する可視コンテンツ。
cell
テーブルコンテナーにおけるセル。関連するgridcellを参照のこと。
checkbox
truefalse、またはmixedの3つの可能性があるを持つチェック可能な入力。
code
コンテンツがコンピューターコードの断片を表すセクション。
columnheader
列のヘッダー情報を含むセル。
combobox
listboxgridなどの、ユーザーがinputの値を設定するのを助けるために動的にポップアップできる、別の要素を制御するinput
command
アクションを実行するが入力データを受信しないウィジェットのフォーム。
comment
他のコンテンツへの反応を表す内容が含まれているコメント。
complementary
兄弟または直系の子孫であるメインコンテンツを補完するように設計されたランドマーク。complementaryランドマークのコンテンツは、仮にそれが関連するメインコンテンツから分離されたとしても、意味のあるままであることが期待されるだろう。
composite
ナビゲート可能なアクセシビリティ子孫を含むことができるウィジェット
contentinfo
親ドキュメントに関する情報を含むlandmark
definition
用語または概念の定義。関連するtermを参照のこと。
deletion
削除には、削除済みとしてマークされているコンテンツ、または削除が提案されているコンテンツを表す。関連するinsertionを参照のこと。
dialog
ウェブアプリケーションの主要ウィンドウの子孫ウィンドウであるダイアログ。HTMLページに対して、主要アプリケーションウィンドウはウェブコンテンツ全体である。たとえばbody要素。
directory
[ARIA 1.2で非推奨]静的な目次など、グループのメンバーへの参照のリスト。
document
支援技術のユーザーが読み取りモードで閲覧することを望むかもしれないコンテンツを含む要素
emphasis
1つ以上の強調される文字。関連するstrongを参照のこと。
feed
articleのスクロール可能なlist。スクロールがarticleにリストの両端に追加または削除されるかもしれない。
figure
グラフィカルな文書、画像、メディアプレーヤー、コード断片、またはテキスト例を典型的に含むコンテンツの知覚可能なsectionfigureの一部は、ユーザー移動可能であってもよい
form
全体として、フォームを作成するために組み合わせるアイテムおよびオブジェクトのコレクションを含むlandmark領域。関連するsearchを参照のこと。
generic
それ自体にはセマンティックな意味を持たない名前のないコンテナー要素
grid
方向矢印キーのような、グリッドで一部またはすべてのセルが2次元のナビゲーションのメソッドを使用することでフォーカス可能となる、1つ以上のセルをもつ1つ以上の行のコレクションを含む複合widget
gridcell
gridまたはtreegrid内のcell
group
支援技術によってページサマリーまたは目次に含まれることを意図されないユーザーインターフェイスオブジェクトのセット。
heading
ページのセクションに対する見出し。
image
画像を形成する要素のコレクションのコンテナー。類義語imgを参照のこと。
img
画像を形成する要素のコレクションのコンテナー。類義語imageを参照のこと。
input
ユーザー入力を許可するウィジェットの一般的な種類。
insertion
挿入には、追加済みとしてマークされているコンテンツ、または追加が提案されているコンテンツが含まれる。関連するdeletionを参照のこと。
landmark
特定の、著者が指定した目的に関連し、ユーザーが容易にセクションにナビゲートできてページの要約に記載させることを望むだろう、十分に重要なコンテンツを含む知覚可能なsection。そのようなページの概要は、ユーザーエージェントまたは支援技術によって動的に生成することがある。
link
活性化された場合、ユーザーエージェントにそのリソースにナビゲートさせる、内部または外部のリソースへのインタラクティブなリファレンス。関連するbuttonを参照のこと。
list
listitem要素を含むsection。関連するlistboxを参照のこと。
listbox
ユーザーが選択肢のリストから1つ以上の項目を選択できるようにするウィジェット。関連するcomboboxおよびlistを参照のこと。
listitem
リストまたはディレクトリにおける1つの項目。
log
新しい情報が意味のある順序で追加され、古い情報が消えることのあるライブリージョンの種類。関連するmarqueeを参照のこと。
main
文書の主要コンテンツを含むlandmark
mark
囲まれたコンテキストにおけるコンテンツの関連性のために、参照または表記の目的でマークされる、またはハイライトされるコンテンツ。
marquee
必須でない情報が頻繁に変更されるライブリージョンの種類。関連するlogを参照のこと。
math
数式を表すコンテンツ。
menu
ユーザーに選択肢のリストを提供するウィジェットの種類。
menubar
通常は表示されたままとなりかつ水平に表示されるmenuのプレゼンテーション。
menuitem
menuまたはmenubarに含まれる選択肢のセットにおけるオプション。
menuitemcheckbox
可能なtruefalse、またはmixedであるチェック可能な状態をもつmenuitem
menuitemradio
一方のみが一度にチェックできる、同じロールをもつ要素のセットにおけるチェック可能なmenuitem
meter
既知の範囲内のスカラー測定値または小数値を表す要素。関連するprogressbarを参照のこと。
navigation
文書または関連する文書をナビゲートするためのナビゲーション要素(通常はリンク)のコレクションを含むlandmark
none
暗黙のネイティヴロールセマンティックスがアクセシビリティAPIに対応づけされない要素。類義語presentationを参照のこと。
note
その内容が、補足する主要なコンテンツに対する追加情報または補足的なコンテキストを表すsection
option
listbox内の項目。
paragraph
コンテンツの段落。
presentation
暗黙のネイティヴロールセマンティックスがアクセシビリティAPIに対応づけされない要素。類義語noneを参照のこと。
progressbar
長い時間がかかるタスクの進捗状況を表示する要素
radio
一方のみが一度にチェックできる、同じロールをもつ要素のグループにおけるチェック可能な入力。
radiogroup
radioボタンのグループ。
range
値の範囲を表す要素。
region
ユーザーが容易にセクションにナビゲートできるようにしたく、かつページの要約に記載させたいと思うだろう、具体的に関連し、著者指定の目的である、および十分に重要なコンテンツを含むlandmark。そのようなページの概要は、ユーザーエージェントまたは支援技術によって動的に生成することがある。
roletype
他のすべてのロールが継承する基本ロール
row
テーブルコンテナーにおけるセルの行。
rowgroup
テーブルコンテナーにおける1つ以上の行要素を含む構造。
rowheader
行のヘッダー情報を含むセル。
scrollbar
コンテンツが完全に表示画面内に表示されているかどうかに関わらず、表示画内のコンテンツのスクロールを制御するグラフィカルオブジェクト。
search
全体として、検索機能を作成するために組み合わせるアイテムおよびオブジェクトのコレクションが含まれるlandmark領域。関連するformおよびsearchboxを参照のこと。
searchbox
検索条件の指定を対象としたテキストボックスの型。関連するtextboxおよびsearchを参照のこと。
section
ページ上のレンダリング可能な構造的束縛単位。
sectionhead
構造の関連セクションのトピックを分類するまたは要約するもの。
select
ユーザーが選択肢のセットから選択を行うことを可能にするフォームウィジェット。
separator
コンテンツのセクションまたはメニュー項目のグループを分離して区別する仕切り。
slider
ユーザーが特定の範囲内から値を選択する入力。
spinbutton
ユーザーに個別の選択肢の中から選択することを期待するrangeのフォーム。
status
コンテンツはユーザーに対する助言情報であるが、alertを正当化するほど重要ではなく、多くの場合ステータスバーとして提示される必要のないライブリージョンの種類。
strong
重要、深刻、または緊急のコンテンツ。関連するemphasisを参照のこと。
structure
文書構造要素
subscript
1つ以上の下付き文字。関連するsuperscriptを参照のこと。
suggestion
コンテンツに対する単一の提案された変更。
superscript
1つ以上の上付き文字。関連するsuperscriptを参照のこと。
switch
checked/unchecked値とは対照的に、on/off値を表すチェックボックスの型。関連するcheckboxを参照のこと。
tab
ユーザーにレンダリングされるタブコンテンツを選択するためのメカニズムを提供するグループ化ラベル。
table
行列で整列されたデータを含むsection。関連するgridを参照のこと。
tablist
tab要素のリスト。これは、tabpanel要素への参照である。
tabpanel
tabtablistに含まれる、tabに関連付けられたリソースに対するコンテナー。
term
オプションの対応する定義を持つ単語またはフレーズ。関連するdefinitionを参照のこと。
textbox
入力値として自由形式のテキストを許可する入力の型。
time
特定の時点を表す要素。
timer
開始時点からの経過時間を示す、または終了時点までの残り時間を示す数値カウンタを含むライブリージョンの種類。
toolbar
一般的に使用される小型の視覚形式で表現される機能ボタンまたはコントロールのコレクション。
tooltip
要素の説明を表示するコンテキストポップアップ。
tree
ユーザーが選択肢のリストから1つ以上の項目を選択できるようにするwidget
treegrid
行がtreeの場合と同様に開いたり閉じたりできるgrid
treeitem
tree内の項目。
widget
グラフィカルユーザーインターフェイス(GUI)のインタラクティブなコンポーネント。
window
ブラウザーまたはアプリケーションのウィンドウ。

alertロール

重要かつ通常は時間依存の情報をもつライブリージョンの種類。関連するalertdialogおよびstatusを参照のこと。

アラートは、ユーザーに即座に重要であるかもしれないメッセージを伝えるために使用される。音声警告の場合、アラートは聴覚障害者のためのアクセシブルな代替を提供する。alertロールは、警告メッセージを含む要素に適用される。alertは、statusのロールの特別な形式であり、これは分割不能なライブリージョンとして処理される。

アラートは断定的なライブリージョンであり、これはそのライブリージョンが支援技術のユーザーのための即時通知を引き起こす手段であることを意味する。オペレーティングシステムが許可する場合、WAI-ARIAアラートが作成されるとき、ユーザーエージェントは、アクセシビリティAPIを通してシステムのアラートイベントを起動すべきである

著者もユーザーエージェントのいずれもが、アラートが処理されるようにするためにアラートにフォーカスを設定または管理を要求されない。アラートがフォーカスを受け取るために必要とされていないので、著者はアラートを閉じることを、ユーザーに要求すべきではない。著者がフォーカスが伝達されたときのメッセージに移動するためにフォーカスを切望する場合、著者はalertの代わりにalertdialogを使用すべきである

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

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

alertdialogロール

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

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

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

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

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

applicationロール

widgetロールによってサポートされる標準的な相互作用パターンに従わない、キーボードまたはジェスチャーイベントなどの、ユーザー入力を要求する1つ以上のフォーカス可能な要素を含むstructure

一部のユーザーエージェントおよび支援技術は、上矢印および下矢印キーイベントなどの標準入力イベントが読み取りカーソルを制御するために傍受され使用される、ブラウズモードを持つ。このブラウズモードの動作は、widgetロールを持たない要素がインタラクティブな機能を提供するためのキーボードやジェスチャーイベントの受信や使用しないように防ぐ。

WAI-ARIA widgetロールのいずれかによってサポートされない相互作用モデルをもつ要素を作成する必要がある場合、著者はその要素にロールapplicationを与えてもよい。そして、ユーザーがロールapplication要素にナビゲートする場合、標準入力イベントを傍受する支援技術は、ウェブアプリケーションを通じてほとんどまたはすべての標準入力イベントを通過するモードに切り替えるべきである

たとえば、プレゼンテーションスライドエディターは、スライド上のテキストボックスや画像要素の位置を変更するために矢印キーを使用する。著者がスライドコンテナーにロールapplication、「スライドエディター」のaria-roledescriptionを与え、そして指示を与えるためにaria-describedbyを使用するので、このような相互作用モデルに対応するWAI-ARIA widgetロールは存在しない。

application要素に含まれるフォーカス可能な要素のみが一部の支援技術のユーザーにアクセシブルであるので、著者は、アクセシブルであるアプリケーションの内側にすべての非装飾な静的テキストまたは画像コンテンツを保証するために次の方法のいずれかを使用しなければならない

  1. aria-labelledbyまたはaria-describedbyを使用してフォーカス可能な要素とコンテンツを関連付ける。
  2. ロールdocumentまたはarticleを持つフォーカス可能な要素でコンテンツを配置する。
  3. フォーカスの管理の説明に従ってアクセシビリティ子孫のフォーカスを管理し、aria-activedescendantの値を更新して、フォーカスされたコンテンツを含む要素を参照する。
特性:
特性
スーパークラスロール: structure
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来: 著者
アクセシブルな名前要求: True

articleロール

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

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

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

articlefeedのコンテキスト内にある場合、著者はaria-posinsetおよびaria-setsizeに値を指定してもよい

特性:
特性
スーパークラスロール: document
サブクラスロール:
関連する概念:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来: 著者

blockquoteロール

別のソースから引用されたコンテンツのセクション。

特性:
特性
スーパークラスロール: section
関連する概念:
継承されるステートおよびプロパティ:
名前の由来: 著者

buttonロール

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

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

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

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

captionロール

figuregridgroupradiogrouptableまたはtreegridに名前を付ける、または説明する可視コンテンツ。

captionを使用する場合、著者は次のことを保証すべきである

captionがそれを含む要素のアクセシブルな名前を表す場合、著者は、ロールcaptionをもつ要素を参照するために、包含要素にaria-labelledbyを指定すべきである

<div role="radiogroup" aria-labelledby="cap">
   <div role="caption" id="cap">
     Choose your favorite fruit
   </div>
   <!-- ... -->

captionがその包含要素の名前と説明の両方の機能を果たす内容を含む場合、著者は代わりに、包含要素の"名前"を表すcaption内の要素を参照するためにaria-labelledbyを指定し、説明的な内容を表すcaption内の要素を参照するためにaria-describedbyを指定してもよい

<div role="table" aria-labelledby="name" aria-describedby="desc">
   <div role="caption">
     <div id="name">Contest Entrants</div>
     <div id="desc">
       This table shows the total number of entrants (500) the
       contest accepted over the past four weeks.
     </div>
   </div>
   <!-- ... -->

captionが長い形式の説明を表す場合、または説明がその説明を理解する上で重要なセマンティック要素を含む場合、著者は代わりに、包含要素の"名前"を表すcaption内の要素を参照するためにaria-labelledbyを指定し、説明的な内容を含むcaption内の要素を参照するためにaria-detailsを指定してもよい

<div role="figure" aria-labelledby="name" aria-details="details">
  <!-- figure content here, such as a complex data viz SVG -->
   <div role="caption">
     <div id="name">Sales information for 20XX</div>
     <div id="details">
       This barchart represents the total amount of sales over the course
       of five years. <a href="...">Sales information for last year</a> can
       be reviewed, or you can overlay <button aria-pressed="false">previous year</button>
       information in this graphic.
     </div>
   </div>
   <!-- ... -->

captionが説明のみを含み、その要素のアクセシブルな名前として機能する適切なテキスト文字列が含まれていない場合、aria-labelまたはaria-labelledbyは、アクセシブルな名前を提供するために使用されてもよくcaptionは、aria-details経由で参照される説明的な内容としてのみ扱われてもよい

<div role="figure" aria-label="Sales information" aria-details="details">
  <!-- figure content here, such as a complex data viz SVG -->
   <div role="caption" id="details">
     This barchart represents the total amount of sales over the course
     of five years. <a href="...">Sales information for last year</a> can
     be reviewed, or you can overlay <button aria-pressed="false">previous year</button>
     information in this graphic.
   </div>
   <!-- ... -->
特性:
特性
スーパークラスロール: section
関連する概念:
必須のアクセシビリティの親ロール:
継承されるステートおよびプロパティ:
禁止のステートおよびプロパティ:
名前の由来: prohibited

cellロール

テーブルコンテナーにおけるセル。関連するgridcellを参照のこと。

著者は、ロールcellをもつ要素が、ロールrowをもつ要素のアクセシビリティの子であることを保証しなければならない

特性:
特性
スーパークラスロール: section
サブクラスロール:
ベース概念: HTML<td>
必須のアクセシビリティの親ロール: row
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来:
  • コンテンツ
  • 著者

checkboxロール

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

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

HTMLのネイティヴチェックボックスの強いネイティヴセマンティックスのために、著者者はinput type=checkboxaria-checkedを使用しないことを勧める。むしろ、チェックボックスの"チェック済み"または"混合"状態をそれぞれ指定するために、ネイティヴのchecked属性またはindeterminate IDL属性を使用する。

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

codeロール

コンテンツがコンピューターコードの断片を表すセクション。

codeロールの主な目的は、コンテンツがコンピューターコードであるため、特に合成音声に関して特別な提示が必要になる可能性があることを支援技術に伝えることである。より具体的には、コンテンツのテキスト読み上げの提示を提供するスクリーンリーダーおよびその他のツールは、一般的な記号("-"など)が確実に話されるように、完全な句読記号の冗長性を優先すべきである

特性:
特性
スーパークラスロール: section
関連する概念:
継承されるステートおよびプロパティ:
禁止のステートおよびプロパティ:
名前の由来: prohibited

columnheaderロール

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

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

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

著者は、ロールcolumnheaderをもつ要素が、ロールrowをもつ要素のアクセシビリティの子であることを保証しなければならない。

columnheader上のaria-selectedの適用は、ユーザーエージェントに対応する列におけるすべてのセルにaria-selectedステートを自動的に伝搬させてはならない。著者は、特定の用途に応じてこの方法で選択の伝搬を選択してもよい

columnheaderロールはインタラクティブなグリッドと非インタラクティブなテーブルの両方で使用できる一方で、aria-readonlyおよびaria-requiredの用途はインタラクティブな要素にのみ適用可能である。したがって、著者はtableから伝わるcolumnheaderにおいてaria-requiredまたはaria-readonlyを使用すべきでなく、かつcolumnheadergridから伝わらない限り、ユーザーエージェントは支援技術にいずれかのプロパティを公開すべきでない

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

:aria-disabledの使用法

aria-disabledは、現在columnheaderでサポートされているが、将来のバージョンでワーキンググループは、要素がgridまたはtreegridのコンテキストにあるときを除いて、ロールcolumnheaderをもつ要素上での使用を禁止する予定である。

特性:
特性
スーパークラスロール:
ベース概念: HTML<th scope="col">
必須のアクセシビリティの親ロール: row
サポートされるステートおよびプロパティ: aria-sort
継承されるステートおよびプロパティ:
名前の由来:
  • コンテンツ
  • 著者
アクセシブルな名前要求: True

comboboxロール

listboxgridなどの、ユーザーがinputの値を設定するのを助けるために動的にポップアップできる、別の要素を制御するinput

編集者注:ARIA 1.2におけるcomboboxロールへの主な変更点

comboboxのためのガイダンスは、以前のパターンの実装に伴う問題のためにARIA 1.2で大幅に変更された。著者ならびにユーザーエージェント、支援技術、および適合性チェッカーの開発者は、変更点を理解するために慎重にこのセクションを確認することを勧める。変更点の説明はARIA repository wikiで利用可能である。

comboboxは、補助的なポップアップ要素を介して値の選択を支援するための能力をもつ名前付けされた入力フィールドを機能的に兼ね備えている。comboboxは、編集または入力をサポートする単一行のテキストフィールド、またはcomboboxの現在の値のみを表示する要素のいずれであってもよいcomboboxaria-autocompleteで記載されるようにテキスト入力をサポートして自動補完の動作を提供する場合、著者は提供される動作に対応する値にcombobox要素上でaria-autocompleteを設定しなければならない

一般に、comboboxの初期状態は折りたたみである。折りたたみ状態では、combobox要素とオプションのポップアップコントロールbuttonのみが表示される。comboboxは、その現在の値を示すcombobox要素とその関連するポップアップ要素の両方が表示されている場合に展開すると呼ぶ。著者は、要素が展開された場合にロールcomboboxをもつ要素でtruearia-expandedを、および要素が折りたたまれた場合にfalseに設定しなければならない

著者は、comboboxに関連付けられたポップアップ要素がlistboxtreegridまたはdialogのロールを持つことを保障しなければならない。ポップアップが表示される場合、著者はcombobox要素のaria-controlscomboboxポップアップ要素を参照する値に設定しなければならない

ロールcomboboxをもつ要素は、listboxの暗黙のaria-haspopup値を持つ。comboboxのポップアップ要素がlistbox,以外のロールを持つ場合、著者はそのポップアップのロールに対応するaria-haspopupの値を指定しなければならない

ユーザーインターフェイスがポインターおよびタッチイベントを介してポップアップの可視性を制御できる追加のアイコンを含む場合、著者は、要素にロールbuttonがあり、フォーカス可能であるがページのTabシーケンスに含まれていないこと、およびロールcomboboxをもつ要素の子孫ではことを保証すべきである。さらに、キーボードでアクセスできるようにするために、著者は、combobox要素とポップアップに含まれる要素との間でフォーカスを移動するためのキーボードメカニズムを提供すべきである。たとえば、1つの一般的な規則は、Down Arrowがポップアップ要素の最初のフォーカス可能な子孫への入力からフォーカスを移動することである。ポップアップ要素がaria-activedescendantをサポートする場合、フォーカスを移動する代わりに、そのようなキーボードメカニズムは、combobox要素のaria-activedescendantの値を制御できる。ポップアップ要素の子孫がアクティブである場合、フォーカスがcombobox要素上に残っている間、著者は、ポップアップ内のアクティブな要素を参照する値にcomboboxaria-activedescendantを設定してもよい

ユーザーエージェントは、ロールcomboboxをもつ要素の値を支援技術に公開しなければならないcomboboxの値は、次のいずれかで表される:

  • combobox要素が、HTML input要素などの値を提供するホスト言語要素である場合、コンボボックスの値はその要素の値である。
  • そうでなければ、comboboxの値はその子孫要素によって表され、その子孫コンテンツからbuttonの名前を計算するために使用されるのと同じメソッドを使用して決定できる。
    <label id="tag_label" for="tag_combo">Tag</label>
  <input type="text" id="tag_combo"
      role="combobox" aria-autocomplete="list"
      aria-haspopup="listbox" aria-expanded="true"
      aria-controls="popup_listbox" aria-activedescendant="selected_option">
<ul role="listbox" id="popup_listbox" aria-labelledby="tag_label">
   <li role="option">Zebra</li>
   <li role="option" id="selected_option">Zoom</li>
</ul>
編集者注:ARIA 1.2へのcomboboxロールを変更する有効性

次を注意深く再検討されたい。これらの変更の結果として、ARIA 1.1のcombobox仕様に従うコンボボックスは、もはやARIA仕様に適合しない。

このバージョンの仕様で定義されたcomboboxの構造要件は、ARIA 1.0およびARIA 1.1で定義された要件とは異なる。

  • ARIA 1.0仕様では、comboboxロールをもつ入力要素が単一行のテキストフィールドであり、aria-controlsではなくaria-ownsでポップアップ要素を参照する必要があった。
  • ARIA 1.1仕様は、支援技術では広くサポートされていなかったが、comboboxは、2つの必須のアクセシビリティの子(フォーカス可能なtextboxおよびtextboxによって制御されるポップアップ要素)をもつ非フォーカス可能な要素であることを要求していた。
  • ARIA 1.2で導入された変更により、支援技術との相互運用性が向上し、著者はネイティヴHTML select要素をより厳密に再現するコンボボックスのプレゼンテーションを作成できるようになる。

コンボボックスの実装の機能および挙動は大きく異なる。その結果として、多くの重要なオーサリング考慮事項が存在する。コンボボックスの設計パターンの実装に関する詳細については、WAI-ARIA Authoring Practicesを参照のこと。

特性:
特性
スーパークラスロール: input
関連する概念:
必須のステートおよびプロパティ: aria-expanded
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来: 著者
アクセシブルな名前要求: True
暗黙のロールに対する値: aria-haspopupのデフォルトはlistboxである。

commandロール

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

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

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

commentロール

他のコンテンツへの反応を表す内容が含まれているコメント。

コメントは、テキストの短い範囲から、他のコメント、記事全体まで、可視コンテンツに注釈を付けることができる。著者は、コメントとコメントされたコンテンツの間の関係を次のように識別すべきである

  1. コメントが別のcommentへの返信の場合:
    • すべての祖先コメントがDOMで使用できる場合、DOMの子孫要素にする、またはaria-ownsを使用して、各返信commentを返信先のcommentのセマンティックの子孫にする。
    • あるいは、コメントにページ番号が付けられている場合など、すべての祖先コメントがDOMにない場合、aria-levelを介して階層レベルを示してもよい。追加のグループ位置情報は、aria-posinsetおよびaria-setsizeを介して示されてもよい
  2. そうでなければ、コメントがページ内の他のコンテンツに関連している場合:
    • コメント付きコンテンツを含む要素のaria-detailsに、ロールcommentをもつ要素を参照する値を提供する。
    • 同じコメント付きコンテンツに関連するコメントが複数ある場合、個々のコメントを参照するコメント付きコンテンツのaria-detailsに値を指定するか、コメントの親コンテナーを参照するためにaria-detailsを使用するかのいずれかとなる。aria-detailscomment要素ではなくコメントを含む要素を参照する場合、著者はgroupまたはregionのロールを参照先のコンテナーに割り当てるべきである

著者がcomment要素に対してaria-levelaria-posinsetまたはaria-setsizeを明示的に宣言していない場合、ユーザーエージェントは欠落している値を自動的に計算し、それらを支援技術に公開しなければならない

特性:
特性
スーパークラスロール: article
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来:
  • コンテンツ
  • 著者

complementaryロール

兄弟または直系の子孫であるメインコンテンツを補完するように設計されたランドマーク。complementaryランドマークのコンテンツは、仮にそれが関連するメインコンテンツから分離されたとしても、意味のあるままであることが期待されるだろう。

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

支援技術は、ユーザーがロールcomplementaryをもつ要素にすばやくナビゲートできるようにすべきであるユーザーエージェントは、ナビゲーションランドマークとしてcomplementaryのロールをもつ要素を扱うべきであるユーザーエージェントは、ユーザーがロールcomplementaryをもつ要素にすばやくナビゲートできるようにしてもよい

特性:
特性
スーパークラスロール: landmark
関連する概念:
継承されるステートおよびプロパティ:
名前の由来: 著者

compositeロール

ナビゲート可能なアクセシビリティ子孫を含むことができるウィジェット

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

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

特性:
特性
抽象か: True
スーパークラスロール: widget
サブクラスロール:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:

contentinfoロール

親ドキュメントに関する情報を含むlandmark

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

支援技術は、ユーザーがロールcontentinfoをもつ要素にすばやくナビゲートできるようにすべきであるユーザーエージェントは、ナビゲーションランドマークとしてcontentinfoのロールをもつ要素を扱うべきであるユーザーエージェントは、ユーザーがロールcontentinfoをもつ要素にすばやくナビゲートできるようにしてもよい

著者は、contentinfoロールをもつページ上の要素を1つだけマークすべきである

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

特性:
特性
スーパークラスロール: landmark
関連する概念:
継承されるステートおよびプロパティ:
名前の由来: 著者

definitionロール

用語または概念の定義。関連するtermを参照のこと。

著者は、定義されている要素を特定し、その要素にtermのロールを割り当てなければならない

著者は、フォームコントロールなどのインタラクティブな要素でdefinitionロールを使用すべきでない。使用すると、支援技術のユーザーをこれらの要素と対話することを妨げるかもしれないためである。

特性:
特性
スーパークラスロール: section
継承されるステートおよびプロパティ:
禁止のステートおよびプロパティ:
名前の由来: prohibited

deletionロール

削除には、削除済みとしてマークされているコンテンツ、または削除が提案されているコンテンツを表す。関連するinsertionを参照のこと。

削除は一般に、コンテンツの2つのバージョン間の違いを示すため、または複数のユーザーがコンテンツを修正しているシナリオで削除を提案されたコンテンツを指定するかのいずれかのために使用される。

特性:
特性
スーパークラスロール: section
関連する概念:
継承されるステートおよびプロパティ:
禁止のステートおよびプロパティ:
名前の由来: prohibited

dialogロール

ウェブアプリケーションの主要ウィンドウの子孫ウィンドウであるダイアログ。HTMLページに対して、主要アプリケーションウィンドウはウェブコンテンツ全体である。たとえばbody要素。

ダイアログはほとんどの場合、情報への入力または応答をユーザーに促すために使用される。ワークフローを中断するように設計されたダイアログは、通常モーダルである。関連するalertdialogを参照のこと。

著者は、ダイアログに対するアクセシブルな名前を提供しなければならず、これはaria-labelまたはaria-labelledby属性で対処できる。

著者は、すべてのダイアログ(モーダルと非モーダルの両方)が少なくとも1つのフォーカス可能な子孫要素を持つことを保証すべきである。ダイアログが表示される場合に、著者は、モーダルダイアログ内の要素にフォーカスすべきであり、かつ著者は、モーダルダイアログのフォーカスを管理すべきである

このロールの説明において、用語"ウェブアプリケーション"は、特定の支援技術の動作を指定し、これは、applicationロールを参照しない。

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

directoryロール

[ARIA 1.2で非推奨]静的な目次など、グループのメンバーへの参照のリスト。

アクセシビリティAPIで公開されているように、directoryロールは本質的にlistロールと同等である。したがって、directoryを使用しても、支援技術ユーザーに追加の恩恵はない。著者は、directoryを非推奨として扱い、代わりにlistまたはホスト言語の同等のセマンティックスを使用することを助言する。

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

特性:
特性
スーパークラスロール: list
継承されるステートおよびプロパティ:
名前の由来: 著者

documentロール

支援技術のユーザーが読み取りモードで閲覧することを望むかもしれないコンテンツを含む要素

ユーザーエージェントのフォーカスがdocumentのロールを割り当てられた要素に移動する場合、静的なコンテンツを閲覧するための読み取りモードを持つ支援技術は、読み取りに切り替えて、読み取りカーソルを制御するために、上または下矢印キーボードイベントなどの、標準入力イベントを傍受してもよい

読み取りモードを持つ支援技術widgetまたはapplicationロールのいずれかを持つものを除くすべての要素に適したデフォルトモードになるので、documentロールが支援技術の動作を変更する便利な唯一の状況は、ロールdocumentをもつ要素がwidgetまたはapplicationのフォーカス可能な子要素となる場合である。たとえば、いくつかの静的なリッチテキストが含まれるapplication要素を考えると、著者は、テキストを含む要素にロールdocumentを適用でき、0tabindexを与えることができる。スクリーンリーダーのユーザーがTabキーを押してdocument要素にフォーカスを置く場合、ユーザーはスクリーンリーダーの読み取りカーソルをもつテキストを読むことができる。

特性:
特性
スーパークラスロール: structure
サブクラスロール:
継承されるステートおよびプロパティ:
名前の由来: 著者

emphasisロール

1つ以上の強調される文字。関連するstrongを参照のこと。

emphasisロールの目的は、コンテンツにアクセントを付けるまたは強調することである。コンテンツの意味に影響を与えない印刷上の提示の変更を伝えるためではない。著者は、そのロール不在がコンテンツの意味を変える場合にのみemphasisロールを使用すべきである

emphasisロールは重要性を伝えることを意図しない。その目的には、strongロールがより適切である。

特性:
特性
スーパークラスロール: section
関連する概念:
継承されるステートおよびプロパティ:
禁止のステートおよびプロパティ:
名前の由来: prohibited

feedロール

articleのスクロール可能なlist。スクロールがarticleにリストの両端に追加または削除されるかもしれない。

feedは、ユーザーが読むように、より多くのコンテンツを読み込むことによって無限にスクロールし続けるかもしれないリッチコンテンツのストリームを介して、読み込みとスクロールの両方をするためのカーソル読み込みブラウズモードを使用することを、スクリーンリーダーなどの文書閲覧モードを持つ支援技術のユーザーにできるようにする。feedにおいて、支援技術は、ユーザーエージェントのフォーカスを移動することによってユーザーの読み取りカーソルの動きの信号とともにウェブアプリケーションを提供し、ユーザーがページを閲覧するときにアプリケーションが新しいコンテンツを追加したり、視覚的にコンテンツを配置したりすることを可能にする。feedはまた、支援技術が読み取りの混乱またはパフォーマンスの低下をすることなく、より確実に読み取り表示を更新できるように追加および削除が発生する場合に、著者に支援技術を告知させる。

たとえば、各articleがテキスト、リンク、画像と同様に共有およびコメントのためのウィジェットをもつニュース記事を含む場所で、ニュース記事のストリームを提示するためにfeedを使用できる。スクリーンリーダーのユーザーは、各ニュース記事を読み取って対話し、記事から記事へスクリーンリーダーの読み取りカーソルを移動するので、必要に応じて各記事は、表示にスクロールし、そして新しい記事は読み込まれる。

feedは、子がロールarticleを持つコンテナー要素である。articlesfeedの片方または両方の端に追加または削除される場合、著者は、変更が作成される前にfeed要素上でaria-busytrueに設定し、変更が完了した後にこれをfalseに設定すべきである。著者は、feedの真ん中でarticlesを挿入または削除を避けるべきである。この要件は、支援技術feed内で読み取りカーソルを移動するためにユーザーコマンドと同時に発生するfeedコンテンツにおける変化に正常に対応するのを助ける。

著者は、ユーザーエージェントのフォーカスがarticleまたはその子孫要素のいずれかで設定される場合に、フォーカス可能なfeedで各articleを作成し、アプリケーションがビューにarticleをスクロールすることを保証すべきである。たとえば、HTMLで、各article要素は、-1または0のいずれかのtabindex値を持つべきである。

支援技術の読み取りカーソルがarticleから別のものに移動する場合、支援技術は、読み取りカーソルを含むarticleにユーザーエージェントのフォーカスを設定すべきである。読み取りカーソルがarticle内部のフォーカス可能な要素に到着する場合、支援技術は、articleを含んでいるフォーカスを設定する代わりにその要素にフォーカスを設定してもよい

支援技術の読み取りカーソルをもつ別のarticleにスクロールする機能は、ページ内の別のarticleの存在に依存するため、著者は、ユーザーエージェントのフォーカスが読み込まれたarticlesのセットのどちらかの端でarticleに達する前に、追加のarticlesを読み込もうと試みるべきである。また、著者は、buttonのような、ユーザーに読み込まれているより多くのarticlesを要求させる要素を含む読み込まれた一連のarticlesのどちらかまたは両方の端にarticleを含めてもよい

簡単なラベルを提供することに加えて、ユーザーがarticleによってナビゲートする場合に、著者は、ラベルの後で話す要素へスクリーンリーダーに示唆するためにfeedにおいてaria-describedbyarticle要素に適用されてもよい。スクリーンリーダーは、著者が記述の外から残っている、埋め込まれたインタラクションウィジェットなどの、反復またはほとんどない重要な要素を無視することをユーザーに有効にする、articleでナビゲートするとき、ラベルとアクセシブルな説明の両方を話すことによってfeedコンテンツをすばやくスキャンする方法を著者に提供してもよい

著者は、articleのナビゲーション機能を提供する支援技術を利用しないユーザーがfeedをナビゲートするためにキーボードを使用できるように、feedにおけるarticle間でフォーカスを移動するためのキーボードコマンドを提供すべきである

feedで利用可能な記事の数が静的である場合、著者はそのfeedにおけるarticle要素にaria-setsizeを指定してもよい。しかし、合計数が非常に大きい、不定、または頻繁に変更する場合、著者は、セットの不明なサイズを通信するためにaria-setsize-1に設定してもよい

フィードの設計パターンの実装に関する詳細についてはWAI-ARIA Authoring Practicesを参照のこと。

特性:
特性
スーパークラスロール: list
許可されたアクセシビリティの子ロール: article
継承されるステートおよびプロパティ:
名前の由来: 著者

figureロール

グラフィカルな文書、画像、メディアプレーヤー、コード断片、またはテキスト例を典型的に含むコンテンツの知覚可能なsectionfigureの一部は、ユーザー移動可能であってもよい

著者は、主要テキストからfigureへの参照を提供すべきであるが、figureは参照する要素と同じ場所で表示される必要はない。著者は、その名前、説明テキスト、またはその両方を含むことができるcaptionfigureに提供してもよいcaptionが提供され、かつそのcaptionがfigureのコンテンツの説明として機能する場合、著者はaria-detailsを用いてそのcaptionをfigure要素に関連付けるべきである

作成者は、aria-labelを用いてfigureにアクセシブルな名前を提供するまたは、ページ内の他のテキストを参照し、要素のラベルおよびアクセス可能な名前として機能するためにaria-labelledbyを使用してもよい

figurecaptionに関連付ける方法の詳細については、captionロールを参照のこと。

支援技術は、ユーザーがすばやく図にナビゲートできるようにすべきであるユーザーエージェントは、ユーザーがすぐに図にナビゲートできるようにしてもよい

特性:
特性
スーパークラスロール: section
関連する概念:
継承されるステートおよびプロパティ:
名前の由来: 著者

formロール

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

フォームは、ホスト言語のフォームコントロール、スクリプト化コントロール、およびハイパーリンクを混在させることができる。著者は、可能な限りフォームコントロールを作成するためにネイティヴホスト言語のセマンティックスを使用することに注意する。フォームの目的が検索条件を送信することである場合、著者は汎用のformロールの代わりにsearchロールを使用すべきである

著者は、フォームの目的を説明する簡潔なラベルをロールformとともに各要素に付与しなければならない。可視ラベルが存在する場合、著者は、aria-labelledbyをもつ可視ラベルを参照すべきである。著者は、可能な限り、見出しの内側にラベルを含むべきである。見出しは、標準のホスト言語の見出し要素のインスタンスまたはロールheadingをもつ要素のインスタンスであってもよい

著者がonsubmitイベントをトリガーしない(たとえば、フォーム要素の値を変更するユーザーによってトリガーされるフォーム送信)ユーザーアクションに基づくフォーム送信をするスクリプトを使用する場合、著者は、行動の事前通知をユーザーに提供すべきである

支援技術は、ユーザーがロールformをもつ要素にすばやくナビゲートできるようにすべきであるユーザーエージェントは、ロールformおよびアクセシブルな名前をもつ要素を、ナビゲーションのランドマークとして扱うべきであるユーザーエージェントは、ユーザーがロールformをもつ要素にすばやくナビゲートできるようにしてもよい

特性:
特性
スーパークラスロール: landmark
ベース概念: HTML<form>
継承されるステートおよびプロパティ:
名前の由来: 著者
アクセシブルな名前要求: True

genericロール

それ自体にはセマンティックな意味を持たない名前のないコンテナー要素

genericロールは、ホスト言語(HTML divspanなど)の一般的な要素の暗黙的なロールとして使用することを目的としているため、主にユーザーエージェントの実装者向けである。著者は、コンテンツにおいてこのロールを使用すべきでない。著者は、presentationまたはnoneを使用して、暗黙的なアクセシビリティセマンティックスを削除する、または名前付きコンテナー内の子孫を意味的にグループ化するためにgroupなどのセマンティックコンテナーロールを使用してもよい

ロールpresentationをもつ要素と同様に、ロールgenericをもつ要素は、aria-live属性など、その子孫にアクセシブルなステートおよびプロパティの数を制限して提供できる。

しかし、ロールpresentationをもつ要素とは異なり、ユーザーエージェントは、許可されたアクセシビリティ属性が指定されている場合、アクセシビリティAPIgeneric要素を公開する。ユーザーエージェントは、そのような許可された属性が指定されていない場合、generic要素を無視してもよい

特性:
特性
スーパークラスロール: structure
関連する概念:
継承されるステートおよびプロパティ:
禁止のステートおよびプロパティ:
名前の由来: prohibited

gridロール

方向矢印キーのような、グリッドで一部またはすべてのセルが2次元のナビゲーションのメソッドを使用することでフォーカス可能となる、1つ以上のセルをもつ1つ以上の行のコレクションを含む複合widget

gridロールは、特定の視覚、たとえば、表、プレゼンテーションを意味するものではない。これは、要素間の関係を記述する。これは、チェックボックスまたはナビゲーションリンクのコレクションをグループ化するような単純な目的、またはフル機能のスプレッドシートアプリケーションの作成のような複雑な目的に使用できる。

gridのセル要素は、ロールgridcellを持つ。著者は、gridcellロールの代わりにrowheadercolumnheaderロールのいずれかを使用することで行または列ヘッダーとしてセルを指定してもよい。著者は、ロールgridcellcolumnheaderまたはrowheaderを持つ要素が、ロールrowをもつアクセシビリティの子であることを保証しなければならず、これは、順番にロールrowgroupまたはgridをもつ要素のアクセシビリティの子である。

フォーカスの管理で説明されるように、キーボードアクセシブルであるために、著者は、gridの子孫のフォーカスを管理すべきである。ユーザーがキーボードでgridコンテンツをナビゲートしている場合、著者は、次のようにフォーカスを設定すべきである

  • gridcellが、checkboxbutton、またはlinkのような、フォーカスを受け取る際に矢印キーが押されることを消費しない単一のインタラクティブなwidgetを含む場合、著者は、そのセルに含まれるインタラクティブな要素にフォーカスを設定してもよい。これは、含まれるウィジェットが直接操作可能にすることを可能にする。
  • そうでなければ、著者は、フォーカスを受信する要素がgridcellrowheader、またはcolumnheader要素であることを保証すべきである

著者は、フォーカス可能なセルが次のいずれかが含まれる場合に、そのフォーカス可能なセルの内側に含まれるコンテンツにユーザーがナビゲートして対話することを可能にする相互作用または編集モードに変更するためのメカニズムを提供すべきである

  • 操作するための矢印キーを要求するウィジェット、たとえば、comboboxまたはradiogroup
  • 複数のインタラクティブな要素
  • 編集可能なコンテンツ

たとえば、スプレッドシート内のセルがcomboboxまたは編集可能なテキストを含む場合、Enterキーは、そのセルが方向矢印キーが含まれているcomboboxまたはtextboxを操作するために使用できるようなフォーカスを持つ場合、セル間相互作用または編集モードをアクティブにするために使用されるかもしれない。実装に応じて、もう一度EnterTabは、Escape、または別のキーを押すことで、アプリケーションとグリッドナビゲーションモードとを切り替えるかもしれない。

著者は、式の結果を表示するためにgridcellを使用してもよい。これは、ユーザーが編集できる。たとえば、スプレッドシートアプリケーションにおいて、textboxが編集可能な状態で式を含むgridcellに出現する場合に、ユーザーが編集のためにgridcellをアクティブにするまで、gridcellは式から算出した値を示すかもしれない。

aria-readonlyがロールgridをもつ要素に設定される場合、ユーザーエージェントは、そのgridアクセシビリティの子孫であるすべてのgridcell要素に値を伝播し、アクセシビリティAPIで値を公開しなければならない。著者は、個々のgridcell要素に対してaria-readonlyの伝播された値を上書きしてもよい

フォーカス可能なgridcell要素のコンテンツが編集可能でない場合、セルコンテンツの編集機能を提供するgridにおいて、著者は、gridcell要素上のaria-readonlytrueを設定してもよい。しかし、aria-readonly,の値は、gridまたは個々のセルに指定されたかどうかを、セルに含まれるコンテンツが編集可能であるかどうかのみを示す。これは、grid自身をナビゲートまたは操作するための機能の利用可能性を示すものではない。

aria-readonlyの未指定値はgridまたは<gridcellに編集可能なコンテンツが含まれていることを意味しない。たとえば、gridが、日付ピッカーで日付を表すlink要素のコレクションのような、編集可能でない要素のコレクションを提示する場合、著者がaria-readonlyに値を指定することは必須ではない。

著者は、フォーカス可能なgridcellaria-selected属性をもつアクションの対象として選択可能であることを示してもよいgridが複数のgridcellを選択すること可能である場合、著者は、ロールgridをもつ要素でaria-multiselectabletrueに設定すべきである

WAI-ARIAはホスト言語の要素を補強できるため、gridは、HTMLtable要素のようなネイティヴのテーブル要素および属性を再利用できる。たとえば、著者がHTMLtable要素にgridロールを適用する場合、ユーザーエージェントが自動的に適切な変換を行うため、著者は子孫のHTML trおよびtd要素にロールをrowおよびgridcellを適用する必要はない。著者がネイティヴホスト言語テーブル要素を再利用しかつ複数の行または列にまたがるgridcell要素を必要とする場合、著者は、WAI-ARIA aria-rowspanまたはaria-colspanプロパティの代わりに適切なホスト言語属性を適用すべきである

グリッドの設計パターンの実装に関する詳細については、WAI-ARIA Authoring Practicesを参照のこと。

特性:
特性
スーパークラスロール:
サブクラスロール:
ベース概念: HTML<table>
許可されたアクセシビリティの子ロール:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来: 著者
アクセシブルな名前要求: True

gridcellロール

gridまたはtreegrid内のcell

gridcellは、フォーカス可能、編集可能、または選択可能にすることができる。gridcellは、機能的な関係の応用を扱うために、aria-controlsのような関係を持つことができる。

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

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

著者は、ロールgridcellをもつ要素が、ロールrowをもつ要素のアクセシビリティの子であることを保証しなければならない

特性:
特性
スーパークラスロール:
サブクラスロール:
ベース概念: HTML<td>
必須のアクセシビリティの親ロール: row
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来:
  • コンテンツ
  • 著者

groupロール

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

regionとは対照的に、これは、ページの概要または目次に含まれるユーザーインターフェイスオブジェクトのグループ化である。

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

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

特性:
特性
スーパークラスロール: section
サブクラスロール:
関連する概念:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来: 著者

headingロール

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

headingのロールをもつ要素が論理的なアウトラインに編成されることを保証するために、著者は適切な入れ子レベルを示すためにaria-level属性を使用しなければならない

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

imageロール

画像を形成する要素のコレクションのコンテナー。類義語imgを参照のこと。

ARIA 1.3 imageロールに関する注。

このimageは、ARIA 1.0 imgロールの同義語としてバージョン1.3でARIAに追加された。imageロールは、他のロールの名前との構文の一貫性を向上させ、これは、完全な単語または完全な単語の連結である。

imgロール

画像を形成する要素のコレクションのコンテナー。類義語imageを参照のこと。

imgは、一緒に見た場合に1枚の画像の印象を与える複数の画像ファイルだけでなく、キャプションおよび説明テキストを含めることができる。imgは、描画オブジェクトのコレクションによって形成されているかどうかに関わりなく、文書内の1つのグラフィックを表す。imgロールをもつ要素を認識できるようにするには、著者は要素にアクセシブルな名前を指定しなければならない。これは、aria-labelまたはaria-labelledby属性を使用して実行できる。

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

inputロール

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

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

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

insertionロール

挿入には、追加済みとしてマークされているコンテンツ、または追加が提案されているコンテンツが含まれる。関連するdeletionを参照のこと。

挿入は一般に、コンテンツの2つのバージョン間の違いを示すため、または複数のユーザーがコンテンツを修正しているシナリオで追加を提案されたコンテンツを指定するかのいずれかのために使用される。

特性:
特性
スーパークラスロール: section
関連する概念:
継承されるステートおよびプロパティ:
禁止のステートおよびプロパティ:
名前の由来: prohibited

landmarkロール

特定の、著者が指定した目的に関連し、ユーザーが容易にセクションにナビゲートできてページの要約に記載させることを望むだろう、十分に重要なコンテンツを含む知覚可能なsection。そのようなページの概要は、ユーザーエージェントまたは支援技術によって動的に生成することがある。

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

著者は、ランドマークロールのサブクラスであるロールを割り当てることで、および必要な場合、簡単な説明ラベルを提供することで、コンテンツの目的を指示する。

ランドマークロールのサブクラスであるロールをもつ要素は、landmark領域またはナビゲーションランドマーク領域として知られる。

支援技術は、ユーザーがすばやくランドマーク領域に移動できるようにすべきであるユーザーエージェントは、ユーザーがすぐにランドマーク領域に移動できるようにしてもよい

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

listロール

listitem要素を含むsection。関連するlistboxを参照のこと。

リストは、ロールlistitemである子が含まれる。

特性:
特性
スーパークラスロール: section
サブクラスロール:
ベース概念:
  • HTML<ol>
  • HTML<ul>
許可されたアクセシビリティの子ロール: listitem
継承されるステートおよびプロパティ:
名前の由来: 著者

listboxロール

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

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

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

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

特性:
特性
スーパークラスロール:
関連する概念:
許可されたアクセシビリティの子ロール:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来: 著者
アクセシブルな名前要求: True
暗黙のロールに対する値: aria-orientationに対するデフォルトはverticalである。

listitemロール

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

著者は、ロールlistitemである要素が、ロールlistである要素アクセシビリティの子であることを保証しなければならない

特性:
特性
スーパークラスロール: section
サブクラスロール:
ベース概念: HTML<li>
必須のアクセシビリティの親ロール:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来: 著者

logロール

新しい情報が意味のある順序で追加され、古い情報が消えることのあるライブリージョンの種類。関連するmarqueeを参照のこと。

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

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

特性:
特性
スーパークラスロール: section
継承されるステートおよびプロパティ:
名前の由来: 著者
暗黙のロールに対する値: aria-liveに対するデフォルトはpoliteである。

mainロール

文書の主要コンテンツを含むlandmark

これは、直接に関連する、または文書の主要なトピックを詳しく述べるコンテンツをマークする。mainロールは、「メインコンテンツにスキップする」リンクの目立たない代替手段であり、メインコンテンツ(または他のランドマーク)に移動するためのナビゲーションオプションは、支援技術によって、または、キーボードショートカットもしくはサイドパネルやダイアログなどのUI機能を通した、ユーザーエージェントもしくはキーボード拡張機能によって提供される。

支援技術は、ユーザーがロールmainをもつ要素にすばやくナビゲートできるようにすべきであるユーザーエージェントは、ナビゲーションランドマークとしてmainのロールをもつ要素を扱うべきであるユーザーエージェントは、ユーザーがロールmainをもつ要素にすばやくナビゲートできるようにしてもよい

著者は、mainロールをもつページ上の要素を1つだけマークすべきである

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

特性:
特性
スーパークラスロール: landmark
関連する概念:
継承されるステートおよびプロパティ:
名前の由来: 著者

markロール

囲まれたコンテキストにおけるコンテンツの関連性のために、参照または表記の目的でマークされる、またはハイライトされるコンテンツ。

markの使用例としては、次のようなものがある:

  • 特別な関心はあるが元の資料ではマークされていない引用文のテキストを強調表示する。これは、蛍光ペンを使用して印刷物の一節をマークするのに相当する。
  • 検索機能で見つかったテキストの一致を強調表示するなど、ユーザーの現在のアクティビティに関連するコンテンツの部分を示す。

著者は、構文の強調表示のような純粋に装飾的なスタイリングにmarkを使用すべきではない

特性:
特性
スーパークラスロール: section
関連する概念:
継承されるステートおよびプロパティ:
禁止のステートおよびプロパティ:
名前の由来: prohibited

marqueeロール

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

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

ロールmarqueeをもつ要素は、暗黙のaria-liveoffを持つ。

特性:
特性
スーパークラスロール: section
継承されるステートおよびプロパティ:
名前の由来: 著者

mathロール

数式を表すコンテンツ。

ロールmathをもつコンテンツは、MathML [MathML3]のようなアクセシブルな形式でマークアップされる、または、TeX、LaTeXのような別の種類のテキスト表現でマークアップされることを意図しており、これはネイティブなブラウザー実装またはポリフィルライブラリーによってアクセシブルな形式に変換できる。

数式の画像を使用することは理想的ではないが、画像が数式を表すために使用される大量のレガシーコンテンツが存在する。著者は、数学の画像が話されるかもしれないものとして数式を説明するテキストによってラベル付けされることを保証すべきである

MathMLのネイティヴ実装をサポートするブラウザーは、数学のプレーンテキスト近似を用いて達成できるものよりも、より堅牢でアクセシブルな数学の体験を提供できる。一部のレンダリングエンジンは、ネメス点字形式で式および再生可能な点字ディスプレイ出力の空間タッチ探査を許可するスクリーンリーダーとの緊密な統合を持つ。このレベルの統合は、たとえ著者がプレーンテキスト近似を提供しても、数式の画像をサポートしない。

これの執筆時点では、一部の主流のブラウザーは、ネイティヴにMathMLをサポートせず、またJavaScriptのpolyfillライブラリーを使用して改造しなければならない。数学コンテンツをオーサリングする場合、可能な限りネイティヴMathMLを使用し、徹底的にテストする。polyfillライブラリーを使用するか、必要に応じて代替テキスト近似で代替画像を提供する。

埋め込みTeX注釈をもつMathML

<!-- Note: Use a JavaScript polyfill library to ensure
     this renders in user agents that do not support MathML. -->
<!-- The math element has an implicit role="math". -->
<math xmlns="http://www.w3.org/1998/Math/MathML">
  <mrow>
    <mi>x</mi>
    <mo>=</mo>
    <mfrac>
      <mrow>
        <mo form="prefix"></mo>
        <mi>b</mi>
        <mo>±</mo>
        <msqrt>
          <msup>
            <mi>b</mi>
            <mn>2</mn>
          </msup>
          <mo></mo>
          <mn>4</mn>
          <mo>&#x2062;<!-- &InvisibleTimes; --></mo>
          <mi>a</mi>
          <mo>&#x2062;<!-- &InvisibleTimes; --></mo>
          <mi>c</mi>
        </msqrt>
      </mrow>
      <mrow>
        <mn>2</mn>
        <mo>&#x2062;<!-- &InvisibleTimes; --></mo>
        <mi>a</mi>
      </mrow>
    </mfrac>
  </mrow>
  <annotation encoding="TeX">
    x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}
  </annotation>
</math>

プレーンHTMLまたはMathMLの二次式のPolyfill DOM結果

レンダリングエンジンがMathMLのようなネイティヴ数学形式をサポートしない場合、著者は、データURIおよびプレーンテキスト代替を使用して次のHTML画像のような、ブラウザーが表示できる形式にコンテンツをダウングレードするためにJavaScriptを使用してもよい

<img role="math" src="..." alt="x=⟮−b±√⟮b²−4ac⟯⟯÷2a">
特性:
特性
スーパークラスロール: section
継承されるステートおよびプロパティ:
名前の由来: 著者

meterロール

既知の範囲内のスカラー測定値または小数値を表す要素。関連するprogressbarを参照のこと。

著者は、meterの最小および最大値を示すためにaria-valueminおよびaria-valuemaxを設定してもよい。そうでなければ、それらの暗黙の値はHTML<input type="range">と同じ規則に従う:

  • aria-valueminが欠損するまたはでない場合、デフォルトは0となる。
  • aria-valuemaxが欠損するまたはでない場合、デフォルトは100となる。

aria-valuenowの値は、それぞれaria-valueminおよびaria-valuemaxの計算値を下回ったり超えたりしてはならない

著者は、進捗を示すためにmeterロールを使用すべきではないprogressbarロールはそのニーズに対処するために存在する。

現在、HTML<meter>要素でサポートされているlowoptimumおよびhigh属性に対応するWAI-ARIAプロパティは存在しない。ARIAバージョン1.3で、これらのプロパティの追加が検討される予定である。

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

noneロール

暗黙のネイティヴロールセマンティックスがアクセシビリティAPIに対応づけされない要素。類義語presentationを参照のこと。

ARIA 1.1 noneロールに関する注。

ARIA 1.1において、ワーキンググループは、単語"presentation"または"presentational"の意図された意味をめぐる著者の混乱のために、presentationのロールに同義語としてnoneを導入した。多くの人はrole="presentation"aria-hidden="true"と同義であると誤って考え、我々はrole="none"がより明確に実際の意味を伝えると考える。

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

ユースケースの例:

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

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

たとえば、次の2つのマークアップ断片は、アクセシビリティAPIと同様に公開される。

<!-- 1. role="none" negates the implicit 'heading' role semantics but does not affect the contents, including the nested hyperlink. -->
<h1 role="none"> Sample Content <a href="...">let's go!</a> </h1>

<!-- 2. A span has an implicit 'generic' role and no other attributes important to accessibility, so only its content is exposed, including the hyperlink. -->
<span> Sample Content <a href="...">let's go!</a> </span>

HTMLにおいて、<img>要素は、画像ファイルのタイプにかかわらず単一の実態として扱う。したがって、HTML imgrole="none"またはrole="presentation"を使用することは、aria-hidden="true"を使用することと同じである。画像コンテンツをアクセシブルにするために、著者は、<object>または<iframe>要素を使用してオブジェクトを埋め込む、またはインラインSVGコードを使用して、画像コンテンツのアクセシビリティガイドラインに従うことができる。

none/presentationロールを画像に適用する場合、著者は(たとえばHTMLalt=""を使用するなど)意味のある代替テキストを提供すべきでない

次のコードサンプルにおいて、imgを含むものは、キャプションの段落によって適切に分類される。ロールおよび代替テキストが包含する要素によって提供されるため、この例においてimg要素はnone/presentationとしてマークアップできる。

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

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

<ul role="tree">
  <li role="none">
	<a role="treeitem" aria-expanded="true">An expanded tree node</a>
  </li></ul>
プレゼンテーションロールの継承

none/presentationロールは、暗黙のネイティヴセマンティックスを持つ要素で使用され、その要素に対するデフォルトのアクセシビリティAPIロールが存在することを意味する。一部の要素は、追加の子孫要素が与えられた場合にのみ完結する。たとえば、HTMLにおいて、(tableロールと一致する)テーブル要素にはtrの子孫(暗黙のrowロールをもつ)を必要とし、この子孫にはthまたはtdの子(それぞれcolumnheaderまたはrowheaderおよびcellロール)を必要とする。同様に、リストはリスト項目の子を必要とする。要素のセマンティックスを完全なものにする子孫要素は、許可されるアクセシビリティの子ロールとしてWAI-ARIAで記載されている。

none/presentationの明示的または継承されるロールが、許可されるアクセシビリティの子ロールを持つWAI-ARIAロールの暗黙のセマンティックをもつ要素に適用され、さらにnone/presentationの明示的なロールをもつ要素である場合、ユーザーエージェントは、定義された明示的なロールを持たないすべてのアクセシビリティの子孫noneの継承されたロールを適用しなければならない。また、none/presentationの明示的または継承されたロールは、ホスト言語仕様によって定義されるような特別に許可される子を持つホスト言語要素に適用され、さらにnone/presentationの明示的なロールをもつ要素である場合、ユーザーエージェントは、定義された明示的なロールを持たないすべての特別に許可される子にnoneの継承されたロールを適用しなければならない

none/presentationの明示的または継承されるロールをもち、かつフォーカス可能でない任意の要素に対して、ユーザーエージェントは、その要素に対するロール固有のWAI-ARIAステートおよびプロパティを無視しなければならない。たとえばHTMLにおいて、none/presentationのロールをもつulまたはol要素は、li要素の暗黙のネイティヴセマンティックスを除去させる。これはulまたはolに対応するlistlistitem許可されるアクセシビリティの子ロールを持つためである。同様に、HTML table要素のthead/tbody/tfoot/tr/th/tdの子孫の暗黙のネイティヴセマンティックスも削除される。なぜなら、HTML仕様はこれらがtable要素の構造的な子孫である必要があることが示されているためである。

WAI-ARIA許可されるアクセシビリティの子ロールに対応する要素の暗黙のネイティヴセマンティックスのみが削除される。ネストした表やリストを含む、すべての他のコンテンツは、それらの要素がnone/presentationの明示的なロールも指定させない限り、そのまま残る。

たとえば、アクセシビリティAPIによれば、次のマークアップ要素は、同一または非常に類似したロールセマンティックス(genericまたはnoneロール)および同一のコンテンツを持つかもしれない。

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

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

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

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

編集者注

none/presentationロールの競合の解決に関する情報は、著者エラーの処理に移動された

特性:
特性
スーパークラスロール: structure
継承されるステートおよびプロパティ:
禁止のステートおよびプロパティ:
名前の由来: prohibited

noteロール

その内容が、補足する主要なコンテンツに対する追加情報または補足的なコンテキストを表すsection

noteは、ページまたは文書の著者によって提供されるコンテンツであり、反応または提案を提供するために使用されるものではない。これらの目的のために、commentおよびsuggestionを検討されたい。

ページのコンテンツの通常フロー内で使用される場合、noteは、それが補足するコンテンツと暗黙的に関連付けられる。次の例では、noteを使用して、ページの自然な読み上げ順序で追加情報を呼び出す方法を示す:

<p>... the following results outline support for the tested features.</p>
<div role="note">
  <p>Please keep in mind that at the time of publishing this page all results were accurate.</p>
  <p>If you find any variations in results, please let us know!</p>
</div>
<p>...</p>

ロールnoteをもつ要素が、それが補足するコンテンツとのプログラム的な関連付けが必要であると判断された場合、著者は次のいずれかのメカニズムを使用して要素を関連付けることができる:

  • noteが構造化されたコンテンツまたはインタラクティブなコンテンツ(たとえばリンク、ボタン、リスト、テーブルなど)を含む場合、aria-detailsを使用する。
  • noteが簡潔で静的なテキストで構成されている場合、aria-describedbyを使用する。
 <!-- using aria-details to reference a note containing a link -->
 ...
<button aria-details="info-note">Get Started</button>
...
<div role="note" id="info-note">
  <p>Need more information before you get started?</p>
  <p>Visit our <a href="...">product description page</a> to get all the information you need.</p>
</div>
特性:
特性
スーパークラスロール: section
継承されるステートおよびプロパティ:
名前の由来: 著者

optionロール

listbox内の項目。

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

特定の条件において、ユーザーエージェントはlistbox内のoptionごとにaria-selectedの暗黙的な値を提供してもよい。提供する場合、ユーザーエージェントは、暗黙的な値を提供する前に、次の条件が満たされていることを確実にしなければならない

ユーザーエージェントがoptionに暗黙のaria-selected値を提供する場合、optionDOMフォーカスを持つ、またはlistboxDOMフォーカスを持ち、かつoptionaria-activedescendantによって参照されるならば、値はtrueすべきである。それ以外の場合、ユーザーエージェントがoptionに暗黙のaria-selected値を提供するならば、値はfalseすべきである

著者は、次のいずれかを使用してoption要素の選択を示すべきである

  • 単一選択のlistbox内の選択されたオプション上のtruearia-selected値、およびオプションで、選択されていないオプション上のfalsearia-selected値。
  • 選択されたオプションでtrueの値、および選択されていないオプションでfalseの値をもつ、複数選択のlistbox内のすべてのオプションでaria-selectedまたはaria-checkedのいずれか。

著者は、次のすべての条件が満たされる非常にまれな状況を除いて、同じlistboxに含まれるoption要素でaria-selectedaria-checkedの両方を指定すべきでない

  • aria-selectedの意味と目的は、ユーザーインターフェイスでのaria-checkedの意味と目的とは異なる。
  • ユーザーインターフェイスにより、各状態の意味と目的が明確になる。
  • ユーザーインターフェイスは、各状態を制御するための個別の方法を提供する。
特性:
特性
スーパークラスロール: input
サブクラスロール:
ベース概念: HTML<option>
関連する概念:
必須のアクセシビリティの親ロール:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来:
  • コンテンツ
  • 著者
アクセシブルな名前要求: True
子のプレゼンテーション: True

paragraphロール

コンテンツの段落。

特性:
特性
スーパークラスロール: section
関連する概念:
継承されるステートおよびプロパティ:
禁止のステートおよびプロパティ:
名前の由来: prohibited

presentationロール

暗黙のネイティヴロールセマンティックスがアクセシビリティAPIに対応づけされない要素。類義語noneを参照のこと。

ARIA 1.1 noneロールに関する注。

ARIA 1.1において、ワーキンググループは、presentationロールに同義語としてnoneを導入した。これは、単語"presentation"または"presentational"の意図された意味をめぐる著者の混乱のためである。多くの人はrole="presentation"aria-hidden="true"と同義であると誤って考え、ARIA Working Groupはrole="none"がより明確に実際の意味を伝えると考えている。

progressbarロール

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

プログレスバーは、ユーザーの要求が受信され、かつアプリケーションが要求された動作を完了に向けて進行していることを示す。

著者は、最小および最大の進捗インジケーター値を示すためにaria-valueminおよびaria-valuemaxを設定してもよい。そうでなければ、それらの暗黙の値はHTML<input type="range">と同じ規則に従う:

  • aria-valueminが欠損するまたはでない場合、デフォルトは0となる。
  • aria-valuemaxが欠損するまたはでない場合、デフォルトは100となる。

値が不定でない限り、著者はaria-valuenowを提供すべきである。もしも不定の場合には、著者はaria-valuenow属性を省略すべきである。視覚的な進捗インジケーターが更新される際に、著者はこれらの値を更新すべきであるprogressbarがページの特定領域の読み込み進捗を説明している場合、著者は、ステータスを参照するためにaria-describedbyを使用すべきであり、ページの読み込みが完了するまで領域上のaria-busy属性をtrueに設定すべきである。常に読み取り専用であるため、ユーザーがprogressbarの値を変更することは不可能である。

aria-valuetextが指定されない限り、支援技術は、一般にaria-valueminaria-valuemaxとの値の間の範囲のパーセントとしてaria-valuenowの値をレンダリングする。

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

radioロール

一方のみが一度にチェックできる、同じロールをもつ要素のグループにおけるチェック可能な入力。

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

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

radiogroupロール

radioボタンのグループ。

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

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

rangeロール

値の範囲を表す要素。

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

特性:
特性
抽象か: True
スーパークラスロール: structure
サブクラスロール:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:

regionロール

ユーザーが容易にセクションにナビゲートできるようにしたく、かつページの要約に記載させたいと思うだろう、具体的に関連し、著者指定の目的である、および十分に重要なコンテンツを含むlandmark。そのようなページの概要は、ユーザーエージェントまたは支援技術によって動的に生成することがある。

著者は、maincomplementarynavigationなどの、他のランドマークロールのいずれかで正確に記述されない目的をもつコンテンツを含むセクションへの領域ロールの使用を制限すべきである

著者は、ロールregionをもつ各要素に、その領域におけるコンテンツの目的を説明する簡潔なラベルを与えなければならない。可視ラベルが存在する場合、著者は、aria-labelledbyをもつ可視ラベルを参照すべきである。著者は、可能な限り、見出しの内側のラベルを含めるべきである。見出しは、標準ホスト言語の見出し要素のインスタンス、またはロールheadingをもつ要素のインスタンスであってもよい

支援技術は、ユーザーがロールregionをもつ要素にすばやくナビゲートできるようにすべきであるユーザーエージェントは、ロールregionおよびアクセシブルな名前をもつ要素を、ナビゲーションのランドマークとして扱うべきであるユーザーエージェントは、ユーザーがロールregionをもつ要素にすばやくナビゲートできるようにしてもよい

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

roletypeロール

他のすべてのロールが継承する基本ロール

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

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

特性:
特性
抽象か: True
サブクラスロール:
サポートされるステートおよびプロパティ:

rowロール

テーブルコンテナーにおけるセルの行。

行は、cellまたはgridcell要素を含み、これによりtablegrid、またはtreegridを構造化するのに役立つ。

rowロールはtablegrid、またはtreegridで使用できる一方で、aria-expandedaria-posinsetaria-setsize、およびaria-levelのセマンティックスは、インタラクティブなツリーグリッドの階層構造にのみ適用できる。したがって、著者はaria-expandedaria-posinsetaria-setsizeおよびaria-leveltableまたはgridから派生するrowに適用してはならない。そしてrowtreegridから派生しない限り、ユーザーエージェントはこれら4つのプロパティのいずれかを支援技術に公開すべきではない

著者は、ロールrowをもつ要素がロールtablegridrowgroupまたはtreegridをもつ要素のアクセシビリティの子であることを保証しなければならない

:aria-disabledの使用法

aria-disabledは現在rowでサポートされているが、将来のバージョンでワーキンググループは、要素がgridまたはtreegridのコンテキストにあるときを除いて、ロールrowをもつ要素上での使用を禁止する予定である。

特性:
特性
スーパークラスロール:
ベース概念: HTML<tr>
必須のアクセシビリティの親ロール:
許可されたアクセシビリティの子ロール:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来:
  • コンテンツ
  • 著者

rowgroupロール

テーブルコンテナーにおける1つ以上の行要素を含む構造。

rowgroupロールは、ロールrowアクセシビリティの子との関係を確立する。これは、HTML table要素におけるtheadtfoot、およびtbody要素と構造的に等価である。

著者は、ロールrowgroupをもつ要素がロールgridtableまたはtreegridをもつ要素のアクセシビリティの子であることを保証しなければならない

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

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

特性:
特性
スーパークラスロール: structure
ベース概念: HTML<tbody><tfoot>および<thead>
必須のアクセシビリティの親ロール:
許可されたアクセシビリティの子ロール: row
継承されるステートおよびプロパティ:
名前の由来: 著者

rowheaderロール

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

rowheaderロールは、セルをtablegrid、またはtreegrid内の行のヘッダーとして識別するために使用できる。行見出しは、対応する行ですべてのセルとの間の関係を確立する。これは、HTML th要素scope="row"を設定することと構造的に同等である。

著者は、ロールrowheaderをもつ要素が、ロールrowをもつ要素のアクセシビリティの子であることを保証しなければならない

rowheader上のaria-selectedの適用は、ユーザーエージェントに対応する行におけるすべてのセルにaria-selectedステートを自動的に伝搬させてはならない。著者は、特定の用途に応じてこの方法で選択の伝搬を選択してもよい

rowheaderロールはインタラクティブなグリッドと非インタラクティブなテーブルの両方で使用できる一方で、aria-readonlyaria-readonlyおよびaria-requiredの利用はインタラクティブな要素にのみ適用可能である。したがって、著者はtableから伝わるrowheaderにおいてaria-expandedaria-readonlyまたはaria-requiredを使用すべきでなく、かつrowheadergridまたはtreegridから伝わらない限り、ユーザーエージェントは支援技術にいずれかのプロパティを公開すべきでない

:aria-disabledの使用法

aria-disabledは、現在rowheaderでサポートされているが、将来のバージョンでワーキンググループは、要素がgridまたはtreegridのコンテキストにあるときを除いて、ロールrowheaderをもつ要素上での使用を禁止する予定である。

特性:
特性
スーパークラスロール:
ベース概念: HTML<th scope="row">
必須のアクセシビリティの親ロール: row
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来:
  • コンテンツ
  • 著者
アクセシブルな名前要求: True

scrollbarロール

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

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

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

著者は、最小および最大の位置を示すためにaria-valueminおよびaria-valuemaxを設定してもよい。そうでなければ、それらの暗黙の値はHTML<input type="range">と同じ規則に従う:

  • aria-valueminが欠損するまたはでない場合、デフォルトは0となる。
  • aria-valuemaxが欠損するまたはでない場合、デフォルトは100となる。

著者は、現在位置を示すためにaria-valuenow属性を設定しなければならない。aria-valuenowが欠落している、または予期しない値がある場合、ブラウザーは、ステートおよびプロパティの著者エラーの処理を説明する節で指定された修復手法を実装してもよい。これは、HTML<input type="range">の修復手法と同等である。

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

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

特性:
特性
スーパークラスロール:
必須のステートおよびプロパティ:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来: 著者
子のプレゼンテーション: True
暗黙のロールに対する値: aria-orientationに対するデフォルトはverticalである。
aria-valueminに対するデフォルトは0である。
aria-valuemaxに対するデフォルトは100である。

sectionロール

ページ上のレンダリング可能な構造的束縛単位。

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

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

sectionheadロール

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

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

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

selectロール

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

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

特性:
特性
抽象か: True
スーパークラスロール:
サブクラスロール:
サポートされるステートおよびプロパティ: aria-orientation
継承されるステートおよびプロパティ:

separatorロール

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

2種類のセパレーターがある:可視境界のみ提供しかつフォーカス可能な静的なstructure、移動可能でもあるインタラクティブなwidgetseparatorがフォーカス可能でない場合、静的な構造要素として支援技術に公開される。たとえば、静的なseparatorは、メニュー内のメニュー項目の2つのグループを視覚的に分割する、またはページの2つのセクションの間の水平方向の罫線を提供するのを助けるために使用できる。

著者は、両者がコンテンツの2つのセクション間の可視境界を提供し、separatorの位置を変更することによってセクションの相対的なサイズを変更することを可能にするwidgetを作成するためにseparatorをフォーカス可能にしてもよい。固定セパレーターseparatorが2つの離散的な位置のみをサポートする一方で、可変separatorウィジェットは範囲内で連続的に移動させることができる。一般に、固定separatorウィジェットは、展開と折りたたみ状態の間のいずれかのセクションを切り替えるために使用される。

separatorがフォーカス可能である場合、著者は、separatorの現在の位置を反映するnumberaria-valuenowの値を設定し、その数値が変化する際にその値を更新しなければならない。著者はまた、0でない場合にaria-valueminの値を、および100でない場合にaria-valuemaxの値を提供すべきである。欠損または数でない場合、属性の暗黙の値は次のようになる:

  • aria-valuenowの暗黙の値は0である。
  • aria-valuemaxの暗黙の値は100である。

複数のフォーカス可能なseparatorが存在するアプリケーションにおいて、著者は、それぞれにアクセシブルな名前を提供すべきである

ロールseparatorをもつ要素は、暗黙のaria-orientationhorizontalを持つ。

特性:
特性
スーパークラスロール:
  • structure(フォーカス可能でない場合)
  • widget(フォーカス可能な場合)
関連する概念:
必須のステートおよびプロパティ: aria-valuenow(フォーカス可能な場合)
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来: 著者
子のプレゼンテーション: True
暗黙のロールに対する値: aria-orientationに対するデフォルトはhorizontalである。
aria-valueminに対するデフォルトは0である。
aria-valuemaxに対するデフォルトは100である。

sliderロール

ユーザーが特定の範囲内から値を選択する入力。

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

著者は、aria-valueminおよびaria-valuemax属性を設定してもよい。そうでなければ、それらの暗黙の値はHTML<input type="range">と同じ規則に従う:

  • aria-valueminが欠損するまたはでない場合、デフォルトは0となる。
  • aria-valuemaxが欠損するまたはでない場合、デフォルトは100となる。

著者は、aria-valuenow属性を設定しなければならない。aria-valuenowが欠落している、または予期しない値がある場合、ブラウザーは、ステートおよびプロパティの著者エラーの処理を説明する節で指定された修復手法を実装してもよい。これは、HTML<input type="range">の修復手法と同等である。

ロールsliderをもつ要素は、暗黙のaria-orientationhorizontalを持つ。

特性:
特性
スーパークラスロール:
必須のステートおよびプロパティ:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来: 著者
アクセシブルな名前要求: True
子のプレゼンテーション: True
暗黙のロールに対する値: aria-orientationに対するデフォルトはhorizontalである。
aria-valueminに対するデフォルトは0である。
aria-valuemaxに対するデフォルトは100である。

spinbuttonロール

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

spinbuttonは通常、一連の許容値を通してステップする増分および減分ボタンをアクティブにすることによって、ユーザーが表示されている値を変更することを可能にする。一部の実装は、編集と入力を可能にするテキストフィールドで値を表示するが、通常は無効な値を防ぐのに役立つ方法で入力を制限する。

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

著者は、アクセシビリティの子をもつspinbuttonを作成してもよいが、これらの要素をtextboxおよび/または2つのbuttonsに制限しなければならない。あるいは、著者はテキスト入力にspinbuttonロールを適用して、増減機能をサポートする隣接したボタンを作成してもよい

フォーカスの管理で説明したように、キーボードアクセシブルであるために、著者は、このロールのすべてのインスタンスに対する子孫のフォーカスを管理すべきであるspinbuttonがフォーカスを受け取るとき、著者は、フォーカスが存在する場合、textbox要素に、そうでなければspinbutton自体に配置されることを保証すべきである。著者はまた、キーボードのおよび矢印が増減機能を実行し、増減button要素が主要ナビゲーションリング、たとえばHTMLのタブリングに含まれないようにすべきである

spinbuttonが値を持つ場合、著者はaria-valuenow属性を設定すべきである。著者は、最小値が存在する場合にaria-valuemin属性を、最大値が存在する場合にaria-valuemax属性を設定すべきである

特性:
特性
スーパークラスロール:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来: 著者
アクセシブルな名前要求: True
暗黙のロールに対する値: aria-valueminのデフォルトは、最小値が存在しない。
aria-valuemaxのデフォルトは、最大値が存在しない。
aria-valuenowのデフォルトは、現在値が存在しない。

statusロール

コンテンツはユーザーに対する助言情報であるが、alertを正当化するほど重要ではなく、多くの場合ステータスバーとして提示される必要のないライブリージョンの種類。

著者は、ロールstatusをもつ要素がステータスにおける変更の結果としてフォーカスを受け取らないことを保証すべきである

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

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

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

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

strongロール

重要、深刻、または緊急のコンテンツ。関連するemphasisを参照のこと。

strongロールの目的は、強い重要、深刻、または緊急を伝えることである。コンテンツの意味にとって重要ではない印刷上の表現の変化を伝えるためではない。著者は、そのロール不在がコンテンツの意味を変える場合にのみstrongロールを使用すべきである

strongロールは強勢または強調を伝えることを意図しない。その目的には、emphasisロールがより適切である。

特性:
特性
スーパークラスロール: section
関連する概念:
継承されるステートおよびプロパティ:
禁止のステートおよびプロパティ:
名前の由来: prohibited

structureロール

文書構造要素

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

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

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

subscriptロール

1つ以上の下付き文字。関連するsuperscriptを参照のこと。

subscriptロールは、具体的な意味を持つ表記上の規則を示すためだけに使用されることを意図する。表現のための誤植表現のためではない。一般に、著者は、下付き文字がないと内容の意味が変わる場合にのみ、このロールを使用すべきである

特性:
特性
スーパークラスロール: section
関連する概念:
継承されるステートおよびプロパティ:
禁止のステートおよびプロパティ:
名前の由来: prohibited

suggestionロール

コンテンツに対する単一の提案された変更。

たとえば、複数のユーザーをサポートする編集システムでは、1人のユーザーが変更を提案し、別のユーザーがその提案を承認するか拒否するかを担当する。

著者は、suggestionが1つのinsertionの子もしくは1つのdeletionの子のいずれかを含むことを保証する、または1つがinsertionでかつもう1つがdeletionである2つの子を含むことを保証しなければならない。著者は、suggestionが他の子が含まないことを保証しなければならない

著者は、suggestionをコメント、オーサリング情報、タイムスタンプなどの関連情報に関連付けるために、aria-detailsまたはaria-descriptionを使用してもよい

<p>
  The best pet is a
  <span role="suggestion">
    <span role="deletion">cat</span>
    <span role="insertion">dog</span>
  </span>
</p>

提案が受け入れられる場合、著者はsuggestionロールを削除すべきである。これは提案された改訂が行われたことを示す。suggestionロールが削除された後、子のinsertionおよびdeletion要素は、保持して改訂を文書化するか、改訂されたコンテンツで置き換えるかのいずれかができる。

特性:
特性
スーパークラスロール: section
許可されたアクセシビリティの子ロール:
継承されるステートおよびプロパティ:
禁止のステートおよびプロパティ:
名前の由来: prohibited

superscriptロール

1つ以上の上付き文字。関連するsuperscriptを参照のこと。

superscriptロールは、具体的な意味を持つ表記上の規則を示すためだけに使用されることを意図する。表現のための誤植表現のためではない。一般に、著者は、上付き文字がないと内容の意味が変わる場合にのみ、このロールを使用すべきである

特性:
特性
スーパークラスロール: section
関連する概念:
継承されるステートおよびプロパティ:
禁止のステートおよびプロパティ:
名前の由来: prohibited

switchロール

checked/unchecked値とは対照的に、on/off値を表すチェックボックスの型。関連するcheckboxを参照のこと。

switcharia-checked属性は、入力がオン(true)またはオフ(false)であるかどうかを示す。mixed値は不正であり、かつユーザーエージェントは、このロールに対してfalseと等価としてmixed値を扱わなければならない

switchは、checkboxやトグルbuttonとほぼ同じ機能を提供するが、支援技術がその画面上の外観と一致する方法でウィジェットの提示を可能にする。

特性:
特性
スーパークラスロール: checkbox
関連する概念:
必須のステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来:
  • コンテンツ
  • 著者
アクセシブルな名前要求: True
子のプレゼンテーション: True

tabロール

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

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

著者は、ロールtabをもつ要素が、ロールtablistをもつ要素のアクセシビリティの子であることを保証しなければならない

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

単一の選択可能なtablistの場合、ユーザーがそのタブパネルに関連付けられるタブを選択するまで、著者は他のtabpanel要素すべてのユーザーから隠すすべきである。複数が選択可能なtablistの場合、著者は、各可視tabpanelのためのtabaria-expanded属性trueに設定され、かつ残りのすべてのユーザーから隠されたtabpanel要素に関連するtabaria-expanded属性がfalseに設定されることを保証すべきである

著者は、選択したタブがそのaria-selected属性をtrueに設定され、非アクティブタブ要素がそのaria-selected属性をfalseに設定され、現在選択されるタブが、選択の視覚的な表示を提供することを保証すべきである

特定の条件において、ユーザーエージェントはtablist内のtabごとにaria-selectedの暗黙的な値を提供してもよい。提供する場合、ユーザーエージェントは、暗黙的な値を提供する前に、次の条件が満たされていることを確実にしなければならない

特性:
特性
スーパークラスロール:
必須のアクセシビリティの親ロール: tablist
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来:
  • コンテンツ
  • 著者
アクセシブルな名前要求: True
子のプレゼンテーション: True
暗黙のロールに対する値: aria-selectedのデフォルトはfalseとなる。

tableロール

行列で整列されたデータを含むsection。関連するgridを参照のこと。

tableロールは、相互作用しないテーブルコンテナーを対象とする。テーブルコンテナーが選択状態を維持する、自身の2次元ナビゲーションを提供する、またはユーザーが再配置または他の方法でそのコンテンツを操作する、またはそこから表示する場合、著者は代わりにgridまたはtreegridを使用すべきである

可能な限り著者は、HTML<table>要素のように、テーブルに対してホスト言語のセマンティックスを使用することを選ぶべきである

特性:
特性
スーパークラスロール: section
サブクラスロール:
ベース概念: HTML<table>
許可されたアクセシビリティの子ロール:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来: 著者
アクセシブルな名前要求: True

tablistロール

tab要素のリスト。これは、tabpanel要素への参照である。

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

単一の選択可能なtablistの場合、ユーザーがそのタブパネルに関連付けられるタブを選択するまで、著者は他のtabpanel要素すべてのユーザーから隠すすべきである。複数が選択可能なtablistの場合、著者は、各可視tabpanelのためのtabaria-expanded属性trueに設定され、かつ残りのすべてのユーザーから隠されたtabpanel要素に関連するtabaria-expanded属性がfalseに設定されることを保証すべきである

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

ロールtablistをもつ要素は、暗黙のaria-orientationhorizontalを持つ。

特性:
特性
スーパークラスロール:
許可されたアクセシビリティの子ロール: tab
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来: 著者
暗黙のロールに対する値: aria-orientationに対するデフォルトはhorizontalである。

tabpanelロール

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

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

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

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

termロール

オプションの対応する定義を持つ単語またはフレーズ。関連するdefinitionを参照のこと。

termロールは、definitionが著者によって提供されているまたはユーザーによって提供されると予想される、単語または語句を明示的に識別するために使用される。既存のdefinition、または定義を入力するためのフォームもしくはフォームコントロールが存在する場合、著者は、関連する要素を指すためにaria-detailsを設定すべきである

著者は、そうすることは、それらの要素との相互作用することから支援技術のユーザーを妨げるかもしれないので、リンクなどの対話型要素でtermロールを使用すべきでない

特性:
特性
スーパークラスロール: section
関連する概念:
継承されるステートおよびプロパティ:
禁止のステートおよびプロパティ:
名前の由来: prohibited

textboxロール

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

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

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

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

timeロール

特定の時点を表す要素。

現在、HTML<time>でサポートされているdatetime属性に対応するWAI-ARIAプロパティは存在しない。このプロパティの追加は、ARIAバージョン1.3で考慮される。

著者は、テキストコンテンツを妥当な日付または時刻に関連する文字列に制限する、またはこの将来のdatetimeと同等のプロパティをロールtimeを持つ要素に適用すべきである

特性:
特性
スーパークラスロール: section
関連する概念:
継承されるステートおよびプロパティ:
禁止のステートおよびプロパティ:
名前の由来: prohibited

timerロール

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

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

ロールtimerをもつ要素は、暗黙のaria-liveoffを持つ。

特性:
特性
スーパークラスロール: status
継承されるステートおよびプロパティ:
名前の由来: 著者
暗黙のロールに対する値: aria-liveのデフォルトはoffである。

toolbarロール

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

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

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

ロールtoolbarをもつ要素は、暗黙のaria-orientationhorizontalを持つ。

特性:
特性
スーパークラスロール: group
関連する概念:
サポートされるステートおよびプロパティ: aria-orientation
継承されるステートおよびプロパティ:
名前の由来: 著者
暗黙のロールに対する値: aria-orientationに対するデフォルトはhorizontalである。

tooltipロール

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

tooltipは典型的に、短い遅延の後にマウスホバーに応答して、またはアクセシビリティの親がキーボードフォーカスを受け取った後に表示される。WAI-ARIAのツールチップの使用は、ユーザーエージェントの通常のツールチップの動作を補足するものである。

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

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

特性:
特性
スーパークラスロール: section
継承されるステートおよびプロパティ:
名前の由来:
  • コンテンツ
  • 著者

treeロール

ユーザーが選択肢のリストから1つ以上の項目を選択できるようにするwidget

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

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

特性:
特性
スーパークラスロール: select
サブクラスロール:
許可されたアクセシビリティの子ロール:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来: 著者
アクセシブルな名前要求: True
暗黙のロールに対する値: aria-orientationに対するデフォルトはverticalである。

treegridロール

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

aria-readonlyロールtreegridをもつ要素に設定される場合、ユーザーエージェントは、そのtreegridアクセシビリティの子孫であるすべてのgridcell要素に値を伝播し、アクセシビリティAPIで値を公開しなければならない。著者は、個々のgridcell要素に対してaria-readonlyの伝播された値を上書きしてもよい

aria-readonly属性がフォーカス可能なgridcellに適用される場合、gridcellに含まれるコンテンツが編集可能であるかどうかを示す。aria-readonly属性は、treegrid自身をナビゲートするまたは操作するための関数の利用可能性を示すものではない。

フォーカス可能なgridcell要素のコンテンツが編集可能でない場合、コンテンツの編集機能を提供するtreegridにおいて、著者は、gridcell要素上のaria-readonlytrueを設定してもよい。しかし、treegridが、link要素のコレクションのような、aria-readonlyをサポートしない要素のコレクションを提示する場合、著者がaria-readonlyに値を指定することは必須ではない。

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

特性:
特性
スーパークラスロール:
許可されたアクセシビリティの子ロール:
継承されるステートおよびプロパティ:
名前の由来: 著者
アクセシブルな名前要求: True

treeitemロール

tree内の項目。

treeitem要素は、展開または折りたたみ可能な要素のサブレベルグループを含めることができる。treeitem要素の拡張可能なコレクションは、groupロールを持つ要素で囲まれる。

著者は、ロールtreeitemをもつ要素が、ロールtreeをもつ要素のアクセシビリティの子、またはロールtreeitemをもつ要素のアクセシビリティの子であるロールgroupをもつ要素であることを保証しなければならない

特定の条件において、ユーザーエージェントはtree内のtreeitemごとにaria-selectedの暗黙的な値を提供してもよい。提供する場合、ユーザーエージェントは、暗黙的な値を提供する前に、次の条件が満たされていることを確実にしなければならない

ユーザーエージェントがtreeitemに暗黙のaria-selected値を提供する場合、treeitemDOMフォーカスを持つ、またはtreeDOMフォーカスを持ち、かつtreeitemaria-activedescendantによって参照されるならば、値はtrueすべきである。それ以外の場合、ユーザーエージェントがtreeitemに暗黙のaria-selected値を提供するならば、値はfalseすべきである

著者は、aria-selectedまたはaria-checkedのいずれかを使用して、treeitem要素の選択を示してもよい。 一部のユーザーインターフェイスは、単一選択ツリーでaria-selectedを使用して、複数選択ツリーでaria-checkedを使用して選択を示す。著者は、次のすべての条件が満たされる非常にまれな状況を除いて、同じtreeに含まれるtreeitem要素でaria-selectedaria-checkedの両方を指定すべきでない

  • aria-selectedの意味と目的は、ユーザーインターフェイスでのaria-checkedの意味と目的とは異なる。
  • ユーザーインターフェイスにより、各状態の意味と目的が明確になる。
  • ユーザーインターフェイスは、各状態を制御するための個別の方法を提供する。
特性:
特性
スーパークラスロール:
必須のアクセシビリティの親ロール:
サポートされるステートおよびプロパティ:
継承されるステートおよびプロパティ:
名前の由来:
  • コンテンツ
  • 著者
アクセシブルな名前要求: True

widgetロール

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

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

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

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

windowロール

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

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

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

このロールの説明において、用語"アプリケーション"は、特定の支援技術の動作を指定し、これは、applicationロールを参照しない。

特性:
特性
抽象か: True
スーパークラスロール: roletype
サブクラスロール:
サポートされるステートおよびプロパティ: aria-modal
継承されるステートおよびプロパティ:

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

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

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

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

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

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

6.2.2 ロールで使用される

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

6.2.3 ロールに継承する

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

6.2.4

ステートまたはプロパティの値型。値は次のいずれかのタイプである:

true/false
trueまたはfalseのいずれかを表す値。特に指定しない限り、この値に対するデフォルト値はfalseである。
tristate
truefalsemixedまたはundefinedの値を表す値。特に指定しない限り、この値に対するデフォルト値はundefinedである。
true/false/undefined
truefalse、またはundefined(該当しない)を表す値。特に指定しない限り、この値に対するデフォルト値はundefinedである。たとえば、falseに設定したaria-expandedをもつ要素は、現在展開されていない。undefinedに設定したaria-expandedをもつ要素は、展開可能でない。
ID参照
同じ文書内の別要素のIDへの参照
ID参照リスト
1つ以上のID参照のリスト。
整数
小数成分を含まない数値。
任意の実数の値。
文字列
制約のない値型。
トークン
許可された限定セットの1つ。デフォルト値は、属性値の節で指定されているように、各属性の値テーブルで定義される。
トークンリスト
1つ以上のトークンのリスト。

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

6.3 ARIA属性

6.3.1 複数の属性値

ARIA属性定義に、属性の許可されたをリストするテーブルが含まれている場合、その属性は複数値のnull許容属性である。テーブル内のそれぞれの値は、その属性のキーワードであり、同じ名前の状態に対応している。

6.3.2 ARIA属性のIDLリフレクション

すべてのARIA属性は、nullableDOMString属性としてIDLに反映される。これには、論理値のようなtrue/falseタイプ、および他のすべてのARIA属性が含まれる。

ARIA値テーブルのデフォルト値は、属性の欠落値のデフォルトまたは無効値のデフォルトとしてIDLに反映してはならない。取得すると、不足しているARIA属性はnullを返す。ARIA属性はgetで検証されない。ARIA値が無効な場合、取得時に、設定値をリテラル文字列として返し、デフォルトの無効な値を返さない。

6.3.3 複数ARIA属性値のOSのアクセシビリティAPIマッピング

IDLリフレクションとは異なり、ARIA属性のオペレーティングシステムアクセシビリティAPIマッピングにはデフォルトを設定できる。ARIA値テーブルのデフォルト値は、5.2.3サポートされている状態とプロパティ、およびCore Accessibility API Mappings 1.1で説明されているように、OSのアクセシビリティAPIに公開される。

6.3.4 ARIA nullable DOMString属性

As noted in A. WAI-ARIA値型の言語へのマッピングに記載されているように、属性はホスト言語に含まれ、WAI-ARIA型の表現の構文はホスト言語によって管理される。

HTMLのARIA nullable DOMString属性には、次のアルゴリズムを使用すべきである。

取得時に、対応するコンテンツ属性が存在しない場合、IDL属性はnullを返さなければならない。そうでなければ、IDL属性は、透過的で大文字と小文字を区別する方法で値を取得しなければならない。設定時に、新しい値がnullの場合は、content属性を削除しなければならない。そうでなければ、content属性を大文字と小文字を区別せずに、指定された新しい値に設定しなければならない。

注:ARIA 1.2以降、IDLを介して公開されるすべてのARIA属性は、nullableのDOMStringsとして定義される。これは、すべての主要なレンダリングエンジンの現在の実装と一致する。この仕様の変更により、実装が変更されることはない。これは、ウェブエンジンの現在の現実を表すだけである。ただし、将来のドラフトでは、ARIAワーキンググループは、いくつかのARIA属性をnull許容でないDOMStringに変更し、実装を探す予定である。提案された変更により、ARIAはHTML列挙属性の使用法と一致するようになる。

6.3.4.1 属性の使用例

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

6.4 翻訳可能な属性

HTML仕様は他の仕様が翻訳可能な属性を定義できると述べている。各属性値の言語と方向は、要素の言語方向と同じである。

支援技術のユーザーが理解できるように、次のステートおよびプロパティの値は翻訳可能な属性であり、ページがローカライズされたときに翻訳すべきである:

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

一部のステートおよびプロパティは、ロールが適用されるかどうかに関係なく、すべてのホスト言語要素に適用可能である。次のグローバルなステートおよびプロパティは、特に禁止されていない限り、すべてのロールおよびすべてのベースマークアップ要素でサポートされる。ロールがグローバルなステートまたはプロパティの使用を禁止している場合、それらのステートまたはプロパティは、ロールを定義するセクションに含まれるプロパティテーブルに禁止としてリストされる。

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

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

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

6.6.1 ウィジェット属性

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

ウィジェット属性は、支援技術によるアクセスに対して、プラットフォームアクセシビリティAPIステートユーザーエージェントによってマッピングされるかもしれず、またはDOMから直接アクセスされるかもしれない。

6.6.2 ライブリージョン属性

この節は、リッチインターネットアプリケーションにおけるライブリージョンに固有の属性が含まれる。この属性は、任意の要素に適用してもよい。この属性の目的は、コンテンツの変更がフォーカスを持つ要素なしに発生するかもしれないことを示し、そしてそのコンテンツの更新を処理する方法の情報を支援技術に提供することである。一部のロールは、そのロールに固有のaria-live属性にデフォルト値を指定する。ライブリージョンの例としては、株価情報の更新を列挙するティッカーセクションがある。ユーザーエージェントは、ライブリージョン内の要素に対するユーザーの直接的なアクション(たとえば、テキストフィールドの値の編集など)によってトリガーされた変更を無視してもよい

6.6.3 ドラッグアンドドロップ属性

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

6.6.4 関係属性

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

6.7 ステート変更通知

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

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

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

aria-activedescendant
DOMフォーカスがcompositeウィジェット、comboboxtextboxgroupまたはapplication上にある場合、現在アクティブな要素を識別する
aria-atomic
支援技術aria-relevant属性によって定義される変更通知に基づく変更される領域のすべて、または一部のみを提示するかどうかを示す
aria-autocomplete
テキストを入力すると、comboboxsearchbox、またはtextboxに対するユーザーの意図した値の1つ以上の予測の表示をトリガーできるかどうかを示し、予測が行われた場合にその予測の表示方法を指定する。
aria-braillelabel
現在の要素にラベルを付ける文字列値を定義する。これは、点字に変換されることを意図する。関連するaria-labelを参照のこと。
aria-brailleroledescription
ある要素ロールのための、人間可読な、著者がローカライズした省略形の記述を定義する。これは点字に変換されることを意図したものである。関連するaria-roledescriptionを参照のこと。
aria-busy
要素が変更されていて、支援技術が、ユーザーに公開する前に変更が完了するまで待機できることを示す
aria-checked
チェックボックス、ラジオボタン、および他のウィジェットの現在の"checked"ステート示す。関連するaria-pressedおよびaria-selectedを参照のこと。
aria-colcount
tablegrid、またはtreegrid内の列の合計数を定義する。関連するaria-colindexを参照のこと。
aria-colindex
tablegridまたはtreegrid内の列の合計数に対して、要素の列インデックスまたは位置を定義する。関連するaria-colindextextaria-colcountおよびaria-colspanを参照のこと。
aria-colindextext
aria-colindexの人間可読なテキストによる代替を定義する。関連するaria-rowindextextを参照のこと。
aria-colspan
tablegridまたはtreegrid内のセルまたはグリッドセルがまたがる列の数を定義する。関連するaria-colindexおよびaria-rowspanを参照のこと。
aria-controls
コンテンツまたは存在が現在の要素によって制御される要素識別する。関連するaria-ownsを参照のこと。
aria-current
コンテナーまたは関連要素のセット内の現在の項目を表す要素示す
aria-describedby
オブジェクトを記述する要素識別する。関連するaria-labelledbyおよびaria-descriptionを参照のこと。
aria-description
現在の要素を説明または注釈する文字列値を定義する。関連するaria-describedbyを参照のこと。
aria-details
オブジェクトに関連する追加情報を提供する要素識別する。関連するaria-describedbyを参照のこと。
aria-disabled
要素知覚可能であるが無効であるため、編集可能でない、またはそうでなければ操作可能でないことを示す。関連するaria-hiddenおよびaria-readonlyを参照のこと。
aria-dropeffect
[ARIA 1.1で非推奨]ドラッグされたオブジェクトがドロップターゲットに投下される際に機能が実行できるかを示す。
aria-errormessage
オブジェクトにエラーメッセージを提供する要素識別する。関連するaria-invalidおよびaria-describedbyを参照のこと。
aria-expanded
この要素のアクセシビリティの子である、またはこの要素によって制御されるグループ化要素が展開もしくは折りたたまれるかどうかを示す
aria-flowto
ユーザーの裁量で、支援技術が文書ソースの順での読み上げの一般的なデフォルトを上書き可能にする、コンテンツの代替読み上げ順で次の要素識別する
aria-grabbed
[ARIA 1.1で非推奨]ドラッグアンドドロップ操作で、要素の"grabbed"ステートを示す。
aria-haspopup
要素によってトリガーできる、menu、dialogなど、インタラクティブなポップアップ要素の可用性および種類を示す
aria-hidden
要素がアクセシビリティAPIに公開されているかどうかを示す。関連するaria-disabledを参照のこと。
aria-invalid
アプリケーションによって期待されるフォーマットに適合しない入力された値を示す。関連するaria-errormessageを参照のこと。
aria-keyshortcuts
著者が要素にフォーカスをアクティブにするまたは与えることを実装しているキーボードショートカットを定義する
aria-label
現在の要素にラベルを付ける文字列の値を定義する。関連するaria-labelledbyを参照のこと。
aria-labelledby
現在の要素にラベルを付ける要素識別する。関連するaria-labelおよびaria-describedbyを参照のこと。
aria-level
構造内の要素の階層レベルを定義する
aria-live
要素が更新され、ユーザーエージェント支援技術およびユーザーがライブリージョンから期待できる更新の種類を示す
aria-modal
表示されるときに要素がモーダルであるかどうかを示す
aria-multiline
テキストボックスが複数行の入力または単一行のみを受け入れるかどうかを示す
aria-multiselectable
ユーザーが現在の選択可能な子孫から複数の項目を選択できることを示す
aria-orientation
要素の向きが水平、垂直または未知/不明瞭であるかどうかを示す
aria-owns
DOM階層が関係を表すために使用できない場合に、DOM要素間の、視覚、機能、または文脈親/子関係を定義するために、要素識別する。関連するaria-controlsを参照のこと。
aria-placeholder
コントロールが値を持たない場合にユーザーにデータ入力を支援することを意図される短いヒント(単語または短い語句)を定義する。ヒントは、サンプル値または予想される形式の簡単な説明であるかもしれない。
aria-posinset
リスト項目またはツリー項目の現在のセットにおける要素の数または位置を定義する。セットにおけるすべての要素がDOMに存在する場合は必要ない。関連するaria-setsizeを参照のこと。
aria-pressed
トグルボタンの現在の"pressed"ステート示す。関連するaria-checkedおよびaria-selectedを参照のこと。
aria-readonly
要素編集可能でないが、他の方法で動作可能であることを示す。関連するaria-disabledを参照のこと。
aria-relevant
ライブリージョン内のアクセシビリティツリーが変更されるときにユーザーエージェントがどの通知をトリガーするかを示す。関連するaria-atomicを参照のこと。
aria-required
フォームが送信される前にユーザー入力が要素に必要とされることを示す
aria-roledescription
要素ロールに対する人間可読な、著者局在の説明を定義する
aria-rowcount
テーブル、tablegridまたはtreegrid内の行の合計数を定義する。関連するaria-rowindexを参照のこと。
aria-rowindex
tablegridまたはtreegrid内の行の合計数に対して、要素の行インデックスまたは位置を定義する。関連するaria-rowindextextaria-rowcountおよびaria-rowspanを参照のこと。
aria-rowindextext
aria-rowindexの人間可読なテキストによる代替を定義する。関連するaria-colindextextを参照のこと。
aria-rowspan
tablegridまたはtreegrid内のセルまたはグリッドセルがまたがる行の数を定義する。関連するaria-rowindexおよびaria-colspanを参照のこと。
aria-selected
さまざまなウィジェットの現在の"selected"ステート示す。関連するaria-checkedおよびaria-pressedを参照のこと。
aria-setsize
リスト項目またはツリー項目の現在のセット内の項目の数を定義する。セットにおけるすべての要素がDOMに存在する場合は必要ない。関連するaria-posinsetを参照のこと。
aria-sort
テーブルまたはグリッド内の項目が昇順または降順にソートされるかどうかを示す
aria-valuemax
範囲ウィジェットに対する最大許容値を定義する
aria-valuemin
範囲ウィジェットに対する最小許容値を定義する
aria-valuenow
範囲ウィジェットに対する現在値を定義する。関連するaria-valuetextを参照のこと。
aria-valuetext
範囲ウィジェットに対するaria-valuenowの人間可読な代替テキストを定義する

aria-activedescendantプロパティ

DOMフォーカスがcompositeウィジェット、comboboxtextboxgroupまたはapplication上にある場合、現在アクティブな要素を識別する

aria-activedescendantプロパティは、メニュー、グリッド、ツールバーなどの、複数のフォーカス可能な子孫を含むかもしれないインタラクティブな要素のためにフォーカスを管理する代替方法を提供する。アクセシビリティの子孫の間でDOMフォーカスを移動する代わりに、著者は、aria-activedescendantをサポートする要素DOMフォーカスを設定し、アクティブである要素を参照するためにaria-activedescendantを使用してもよい

DOMフォーカスをもつ要素のaria-activedescendantの値を設定する場合に、著者は、次の2セットの条件のいずれかが満たされていることを保証しなければならない

  1. aria-activedescendantの値は、アクセシビリティの子孫を参照する。
  2. DOMフォーカスをもつ要素は、aria-activedescendantをサポートする要素を参照するaria-controlsをもつ、comboboxtextbox、またはsearchboxであり、aria-activedescendantの値は、制御された要素のアクセシビリティの子孫を参照する。たとえば、comboboxで、フォーカスはcombobox上に残ることができるが、combobox要素上のaria-activedescendantの値は、comboboxによって制御されるポップアップlistboxの子孫を参照する。

著者はまた、フォーカスされる際に現在アクティブな子孫が可視であり視野内にある(またはスクロールすると視野に入る)ことを保証すべきである

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

aria-atomicプロパティ

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

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

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

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

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

特性:
特性
ロールで使用される: 基本マークアップのすべての要素
値: true/false
値:
説明
false 支援技術は、変更されたノードのみを提供する。
true 支援技術は、もし存在する場合に著者定義のライブリージョンラベルを含めて、まとめて全部の変更された領域を提供する。

aria-autocompleteプロパティ

テキストを入力すると、comboboxsearchbox、またはtextboxに対するユーザーの意図した値の1つ以上の予測の表示をトリガーできるかどうかを示し、予測が行われた場合にその予測の表示方法を指定する。

aria-autocompleteプロパティは、動的にユーザーのテキスト入力の完了を手助けする場合に、textboxsearchbox、またはcomboboxが利用するインタラクションモデルのタイプを表す。これは、2つのモデルを区別する:テキスト入力内の値完了予測を提示するインラインモデル(aria-autocomplete="inline")と、テキスト入力に隣接してポップアップする個別に可能な値のコレクションを提示するリストモデル(aria-autocomplete="list")。入力は、同じ時間(aria-autocomplete="both")で両方のモデルを提供することが可能である。

aria-autocompleteプロパティは、input要素の予測挙動を記述するのに限定される。著者は、入力要素がどの提案もユーザーによって提供される特定の入力に依存しない1つ以上の入力提案を提供する場合に、aria-autocompleteへの値の指定を省略するまたは、nonearia-autocompleteを設定するかのいずれかにすべきである。たとえば、aria-autocompleteの値がnoneであるコンボボックスは、ユーザーの入力に基づくリストの任意のフィルタリングなしで5つの最近使用した検索用語をリストすることによって示唆される値を表示する検索フィールドである。aria-autocompleteをサポートするロールをもつ要素は、nonearia-autocompleteのデフォルト値を持つ。

インライン提案が入力でユーザー型として作成される場合、フィールドの値を完了するために提案されたテキストは、入力カーソルの後にフィールドに動的に出現し、かつユーザーがフィールドをそのままにしてフォーカスをもたらすアクションを実行する場合、提案される値は入力の値として受け入れられる。要素がinlineまたはbothに設定されるaria-autocompleteを持つ場合、著者は、テキストの自動で提案される一部が選択されたテキストとして提示されることを保証すべきである。これは、支援技術がユーザーの入力と自動提案とを区別することを可能にし、提案が所望の値でない場合には、ユーザーが入力し続けることで、その提案を簡単に削除する、またはその提案を置換することを可能にする。

要素がlistまたはbothに設定されるaria-autocompleteを持つ場合、著者は次の両方の条件が満たされることを保証しなければならない

  1. 要素は、提案される値のコレクションを含む要素を参照するaria-controlsで指定される値を持つ。
  2. 要素は、推奨値のコレクションを含む要素のロールに一致するaria-haspopupに対する値を持つ。

リストモデルの一部の実装は、提案を選択するために、Down Arrow付きの提案にフォーカスを移動する、提案をクリックするなどの、アクションを実行することをユーザーに要求する。そのような実装で、著者は、コレクションコンテナーがサポートする場合にaria-activedescendantを使用する、または提案にDOMフォーカスを移動させるかのいずれかによってフォーカスを管理してもよい。しかし、にフィールドがフォーカスを失う場合、たとえば、ユーザーが別のフィールドでTabキーを押すまたはクリックする場合、リストモデルの他の実装は、受け入れられる選択された値として、1つの提案を自動的に強調表示する。要素がlistまたはbothに設定するaria-autocompleteを持つ場合、かつユーザーが入力を提供するよう提案が自動的に選択される場合、著者は次のすべての条件が満たされることを保証しなければならない

  1. 提案のコレクションは、aria-activedescendantをサポートするロールをもつ要素で提示される。
  2. 入力フィールドに設定するaria-activedescendantの値は、aria-activedescendantの定義に記載されるように選択した提案を含む要素を参照するよう動的に調整される。
  3. 提案が表示されている間、DOMフォーカスはテキスト入力に残る。

aria-autocompleteプロパティは、完了提案の存在を示すために意図されず、著者は提案の存在を伝えるためにその値を動的に変更すべきでない。要素がlistまたはbothに設定されるaria-autocompleteを持つ場合、著者は提案のコレクションを提示する要素が表示されているかどうかを伝えるためにaria-expandedステートを使用すべきである

特性:
特性
ロールで使用される:
ロールに継承する:
値: トークン
値:
説明
inline ユーザーが入力を提供しているとき、与えられた入力を完了するための1つの方法を示唆するテキストが、キャレットの後に動的に挿入されるかもしれない。
list ユーザーが入力を提供しているとき、与えられた入力を完了できる値のコレクションを含む要素を表示するかもしれない。
both ユーザーが入力を提供しているとき、与えられた入力を完了できる値のコレクションを含む要素を表示するかもしれない。表示される場合、コレクション内の1つの値が自動的に選択され、自動的に選択される値を完了することが必要なテキストが入力でキャレットの後に表示される。
none(デフォルト) ユーザーが入力を提供する場合、ユーザーが入力を終えることを意図する方法を予報することを試みる自動提案は表示されない。

aria-braillelabelプロパティ

現在の要素にラベルを付ける文字列値を定義する。これは、点字に変換されることを意図する。関連するaria-labelを参照のこと。

aria-braillelabelの目的はaria-labelと同じである。これは、ユーザーに点字でのオブジェクトの認識可能な名前を提供する。

aria-braillelabelプロパティは、どのように支援技術が点字におけるアクセシブルな名前をローカライズして表現するかを上書きするための能力を著者に与える。したがって、不適切にaria-braillelabelを使用することは、要素を理解するためのユーザーの能力を阻害するかもしれない。著者は、aria-braillelabelの使用を、点字に変換されたときに要素の名前が望ましいユーザー体験ではないインスタンスに制限すべきである

aria-braillelabelを使用する場合、著者は次のことも保証すべきである

  1. aria-braillelabelが適用される要素は、妥当なアクセシブルな名前を持つ。
  2. aria-braillelabelの値が空でない、または空白文字のみを含んでいない。
  3. aria-braillelabelの値は、Unicode点字図形の文字を一切含まない、またはUnicode点字図形の中の文字のみで構成されているが、点字図形dots-0のみを含まない。
  4. aria-braillelabelの値は、要素のアクセシブルな名前と同一ではない。

著者は、aria-braillelabel禁止される場所で、明示的または暗黙的なWAI-ARIAロールを持つ要素にaria-braillelabelを指定してはならない

点字サポートのある支援技術は、アクセシブルな名前を点字に変換できることに注意する。さらに、支援技術は、ユーザーの好みに応じて、そのような点字出力をカスタマイズできるようになる。たとえばコンテンツから、またはaria-labelを介して、アクセシブルな名前のみを使用することは、ほとんどの場合優れたユーザー体験であり、著者はaria-braillelabelを使用してaria-labelを複製することを強く勧めない。代わりに、aria-braillelabelは、アクセシブルな名前が適切な点字表現を提供できない場合、すなわち、専門的な点字記述が点字に変換されたテキスト記述と大きく異なる場合にのみ使用されることが意図される。aria-braillelabelを使用する場合、属性値が文書の言語と一致するようにローカライズする責任は著者にあることに注意することは非常に重要である。さらに、著者は、この属性の使用をユーザーに明確に伝える方法を設計する必要がある。たとえば、これは製品文書の中で行うことができる。これは、値がUnicode点字図形で構成されている場合にはさらに重要である。なぜなら、支援技術はユーザー固有の点字翻訳を適用せずに、そのようなコンテンツを直接ユーザーに渡すためである。一般に、著者はaria-brailleroledescriptionでUnicode点字図形を使用しないことを強く勧める

支援技術は、点字で要素のアクセシブルな名前を提示するときにaria-braillelabelの値を使用すべきであるが、他の機能を変更すべきでない。たとえば、聴覚レンダリングを提供する支援技術は、アクセシブルな名前を使用すべきである

支援技術は、次のようにaria-braillelabelプロパティを公開すべきである

  1. aria-braillelabelの値がUnicode点字図形の文字を含まない場合、ユーザーの優先翻訳テーブルに従って値を翻訳する。
  2. そうでなければ、値を翻訳せずにユーザーに渡す。

次の例は、aria-braillelabelを使用して点字出力のボタン名をカスタマイズする方法を示している。

<button aria-braillelabel="****">
  <img alt="4 stars" src="images/stars.jpg">
</button>

前述の例において、点字ディスプレイは、冗長な「btn gra 4 stars」ではなく、「btn ****」を点字で表示する。

特性:
特性
ロールで使用される: 次のロールを除く、基本マークアップのすべての要素:captioncodedefinitiondeletionemphasisgenericinsertionmarknoneparagraphstrongsubscriptsuggestionsuperscripttermtime
値: 文字列

aria-brailleroledescriptionプロパティ

ある要素ロールのための、人間可読な、著者がローカライズした省略形の記述を定義する。これは点字に変換されることを意図したものである。関連するaria-roledescriptionを参照のこと。

スクリーンリーダーなどの一部の支援技術は、ユーザーエクスペリエンスの一部として要素のロールを提示する。そのような支援技術は一般に、ロールの名前をローカライズし、それをカスタマイズするかもしれない。この支援技術のユーザーは、ウィジェットである場合、要素の目的を理解するために、どのように相互作用するかを、"region"、"button"、または"slider"のように、ロール名のプレゼンテーションに依存する。

aria-roledescriptionプロパティは、どのように支援技術が点字におけるロールの名前をローカライズして表現するかを上書きするための能力を著者に与える。したがって、不適切にaria-roledescriptionを使用することは、要素を理解するまたは要素と対話するためのユーザーの能力を阻害するかもしれない。著者は、groupもしくはregionのような非対話型のコンテナーロールの目的を明確にするため、または点字コンテキストでwidgetより具体的な説明を提供するために、aria-brailleroledescriptionの使用を制限すべきである

著者は、aria-roledescriptionを提供せずに、aria-brailleroledescriptionを使用してはならない。さらに、aria-roledescriptionと同様に、著者は、aria-brailleroledescription禁止される明示的または暗黙的なWAI-ARIAロールを持つ要素にaria-brailleroledescriptionを指定してはならない

一般に、aria-brailleroledescriptionは、aria-roledescriptionが点字でレンダリングされたときに過度に冗長になるまれなケースでのみ使用されることを意図する。

aria-brailleroledescriptionを使用する場合、著者は次のことも保証すべきである

  1. aria-brailleroledescriptionが適用される要素は、妥当なWAI-ARIAロールを持つ、または暗黙のWAI-ARIAロールセマンティックを持つ。
  2. aria-brailleroledescriptionの値が空でない、または空白文字のみを含んでいない。
  3. aria-brailleroledescriptionの値は、Unicode点字図形の文字を一切含まない、またはUnicode点字図形の中の文字のみで構成されているが、点字図形dots-0のみを含まない。
  4. aria-brailleroledescriptionの値は、要素のWAI-ARIA aria-roledescriptionWAI-ARIA roleまたは暗黙のWAI-ARIAロールセマンティックと同一であるべきでない。

点字サポートのある支援技術は、aria-roledescriptionコンテンツを点字に変換できることに注意する。さらに、支援技術は、ユーザーの好みに応じて、そのような点字出力をカスタマイズできるようになる。aria-roledescriptionのみを使用することは、ほとんどの場合、よりよいユーザー体験が得られるので、著者は、aria-roledescriptionを複製するためにaria-brailleroledescriptionを使用することを強く勧めない。代わりに、aria-brailleroledescriptionは、aria-roledescriptionが適切な点字表現を提供できない場合、すなわち、専門的な点字記述が点字に変換されたテキスト記述と大きく異なる場合にのみ使用されることが意図される。aria-brailleroledescriptionを使用する場合、属性値が文書の言語と一致するようにローカライズする責任は著者にあることに注意することは非常に重要である。さらに、著者は、この属性の使用をユーザーに明確に伝える方法を設計する必要がある。たとえば、これは製品文書の中で行うことができる。これは、値がUnicode点字図形で構成されている場合にはさらに重要である。なぜなら、支援技術はユーザー固有の点字翻訳を適用せずに、そのようなコンテンツを直接ユーザーに渡すためである。一般に、著者はaria-brailleroledescriptionでUnicode点字図形を使用しないことを強く勧める

ユーザーエージェントは、次の条件のいずれかが存在する場合には、aria-brailleroledescriptionプロパティを公開してはならない

  1. aria-brailleroledescriptionの値は空である、または空白文字のみを含み、これには、標準の空白と空の点字パターン: ドット-0(U+2800)が含まれる。
  2. aria-brailleroledescriptionが適用される要素には、aria-brailleroledescription禁止される、明示的または暗黙的なWAI-ARIAロールを持つ。
  3. aria-brailleroledescriptionが適用される要素は、有効なWAI-ARIA aria-roledescriptionを持たない。

支援技術は、点字で要素のロールを提示する場合にaria-brailleroledescriptionの値を使用すべきであるが、aria-brailleroledescriptionの値を持つ要素のロールに基づいて他の機能を変更すべきでない。たとえば、次のregionまたはbuttonにナビゲートするための機能を提供する支援技術は、この機能がaria-brailleroledescriptionを持つ領域およびボタンにナビゲートできるようにすべきである

支援技術は、次のようにaria-brailleroledescriptionプロパティを公開すべきである

  1. aria-brailleroledescriptionの値がUnicode点字図形の文字を含まない場合、ユーザーの優先翻訳テーブルに従って値を翻訳する。
  2. そうでなければ、値を翻訳せずにユーザーに渡す。

次の2つの例は、aria-brailleroledescriptionを使用して、ウェブベースのプレゼンテーションアプリケーションで繰り返される非対話型の"スライド"コンテナーのロールを省略したものを示す。

<div role="article" aria-roledescription="slide" aria-brailleroledescription="sld" id="slide" aria-labelledby="slideheading">
<h1 id="slideheading">Quarterly Report</h1>
<!-- remaining slide contents -->
</div>
<article aria-roledescription="slide" aria-brailleroledescription="sld" id="slide" aria-labelledby="slideheading">
<h1 id="slideheading">Quarterly Report</h1>
<!-- remaining slide contents -->
</div>

直前の例では、点字スクリーンリーダーのユーザーは、より冗長な"slide Quarterly Report."ではなく"sld Quarterly Report"と読む。

特性:
特性
ロールで使用される: 次のロールを除く、基本マークアップのすべての要素:generic
値: 文字列

aria-busyステート

要素が変更されていて、支援技術が、ユーザーに公開する前に変更が完了するまで待機できることを示す

aria-busyのデフォルト値は、すべての要素に対してfalseである。aria-busyがある要素に対してtrueである場合、支援技術は、その要素のアクセシビリティの子孫であるコンテンツへの変更を無視し、aria-busyfalseになるときに、ビジー期間中に行われたすべての変更を単一の分割不能な更新として処理できる。

部分的または完全のいずれかにすでにレンダリングされるコンテナー要素内に複数の追加、変更、または削除をする必要がある場合、著者は、最初の変更の前にコンテナー要素でaria-busytrueに設定して、最後の変更が完了する際にfalseに設定してもよい。たとえば、ライブリージョンへの複数の変更がスピーチの1つの単位として話されているべきである場合、著者は、変更がされている間にaria-busytrueに設定して、変更が完了して話される準備ができた際にfalseに設定してもよい

ロールfeedをもつ要素がbusyとマークされる場合、支援技術は、ユーザーがビジー期間中に読んでいるarticleの内部で発生するユーザー起動による変更を除いて、feedの内部で発生するレンダリングの変更を延期するかもしれない。

レンダリングされたwidgetへの変更が、widgetがスクリプトの実行時に許可されるアクセシビリティの子ロールを変更している状態を作成する場合、著者は、更新プロセス中にwidgetaria-busytrueに設定してもよい。たとえば、レンダリングされたツリーグリッドが複数の不連続なブランチへの一連の同時更新を要求した場合、単一の更新とともに完全なツリー要素を交換する代わりに、各ブランチが変更されつつ、ツリーをbusyとマークする。

特性:
特性
ロールで使用される: 基本マークアップのすべての要素
値: true/false
値:
説明
false(デフォルト): その要素に対して予期される更新はない。
true 要素は更新されている。

aria-checkedステート

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

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

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

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

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

aria-colcountプロパティ

tablegrid、またはtreegrid内の列の合計数を定義する。関連するaria-colindexを参照のこと。

列のすべてがDOMに存在する場合、ユーザーエージェントは列の合計数を自動的に計算できるため、この属性を設定する必要はない。しかし、列の一部のみが与えられた瞬間にDOMに存在する場合、この属性は完全なテーブルで列の数の明示的な指示を提供するために必要とされる。

著者は、完全なテーブルで列の数に等しい整数にaria-colcountの値を設定しなければならない。列の合計数が不明である場合、著者は、値がユーザーエージェントによって計算されるべきでないことを示すためにaria-colcountの値を-1に設定しなければならない

次の例は、列2、3、4、および9がユーザーに表示される、16列をもつグリッドを示す。

<div role="grid" aria-colcount="16">
  <div role="rowgroup">
    <div role="row">
      <span role="columnheader" aria-colindex="2">First Name</span>
      <span role="columnheader" aria-colindex="3">Last Name</span>
      <span role="columnheader" aria-colindex="4">Company</span>
      <span role="columnheader" aria-colindex="9">Phone</span>
    </div>
  </div>
  <div role="rowgroup">
    <div role="row">
      <span role="gridcell" aria-colindex="2">Fred</span>
      <span role="gridcell" aria-colindex="3">Jackson</span>
      <span role="gridcell" aria-colindex="4">Acme, Inc.</span>
      <span role="gridcell" aria-colindex="9">555-1234</span>
    </div>
    <div role="row">
      <span role="gridcell" aria-colindex="2">Sara</span>
      <span role="gridcell" aria-colindex="3">James</span>
      <span role="gridcell" aria-colindex="4">Acme, Inc.</span>
      <span role="gridcell" aria-colindex="9">555-1235</span>
    </div></div>
</div>
特性:
特性
ロールで使用される:
ロールに継承する:
値: 整数

aria-colindexプロパティ

tablegridまたはtreegrid内の列の合計数に対して、要素の列インデックスまたは位置を定義する。関連するaria-colindextextaria-colcountおよびaria-colspanを参照のこと。

列のすべてがDOMに存在する場合、ユーザーエージェントは各セルまたはgridcellの列インデックスを自動的に計算できるため、この属性を設定する必要はない。しかし、列の一部のみが与えられた瞬間にDOMに存在する場合、この属性は完全なテーブルに対して各セルまたはグリッドセルの列の明示的な指示を提供するために必要とされる。

著者は、aria-colindexに対するを1以上の整数に、同じ列内の任意の以前の要素のaria-colindex値よりも大きく、かつ完全なテーブルの列の数以下に設定しなければならない。複数の列にまたがるセルまたはグリッドセルに対して、著者はスパンの先頭にaria-colindexの値を設定しなければならない

DOMに存在する列のセットが連続する場合、かつそのセットで1つ以上の行または列にまたがるセルが存在しない場合、著者は、セットの最初の列のインデックスに値を設定し、各行にaria-colindexを置いてもよい。そうでなければ、著者は、各行のすべてのアクセシビリティの子要素でaria-colindexを配置すべきである

次の例は、列2から5がユーザーに表示される、16列をもつグリッドを示す。列のセットは連続するので、aria-colindexは、各行に配置できる。

<div role="grid" aria-colcount="16">
  <div role="rowgroup">
    <div role="row" aria-colindex="2">
      <span role="columnheader">First Name</span>
      <span role="columnheader">Last Name</span>
      <span role="columnheader">Company</span>
      <span role="columnheader">Address</span>
    </div>
  </div>
  <div role="rowgroup">
    <div role="row" aria-colindex="2">
      <span role="gridcell">Fred</span>
      <span role="gridcell">Jackson</span>
      <span role="gridcell">Acme, Inc.</span>
      <span role="gridcell">123 Broad St.</span>
    </div>
    <div role="row" aria-colindex="2">
      <span role="gridcell">Sara</span>
      <span role="gridcell">James</span>
      <span role="gridcell">Acme, Inc.</span>
      <span role="gridcell">123 Broad St.</span>
    </div></div>
</div>

次の例は、列2から5がユーザーに表示される、16列をもつグリッドを示す。列のセットは連続するが、セルの一部は、複数行にまたがる。その結果、aria-colindexは、各行のすべてのアクセシビリティの子に配置する必要がある。

<div role="grid" aria-colcount="16">
  <div role="rowgroup">
    <div role="row">
      <span role="columnheader" aria-colindex="2">First Name</span>
      <span role="columnheader" aria-colindex="3">Last Name</span>
      <span role="columnheader" aria-colindex="4">Company</span>
      <span role="columnheader" aria-colindex="5">Address</span>
    </div>
  </div>
  <div role="rowgroup">
    <div role="row">
      <span role="gridcell" aria-colindex="2">Fred</span>
      <span role="gridcell" aria-colindex="3">Jackson</span>
      <span role="gridcell" aria-colindex="4" aria-rowspan="2">Acme, Inc.</span>
      <span role="gridcell" aria-colindex="5" aria-rowspan="2">123 Broad St.</span>
    </div>
    <div role="row">
      <span role="gridcell" aria-colindex="2">Sara</span>
      <span role="gridcell" aria-colindex="3">James</span>
    </div></div>
</div>

次の例は、列2、3、4、および9がユーザーに表示される、16列をもつグリッドを示す。列のセットは非連続であるため、aria-colindexは、各行のすべてのアクセシビリティの子に配置する必要がある。

<div role="grid" aria-colcount="16">
  <div role="rowgroup">
    <div role="row">
      <span role="columnheader" aria-colindex="2">First Name</span>
      <span role="columnheader" aria-colindex="3">Last Name</span>
      <span role="columnheader" aria-colindex="4">Company</span>
      <span role="columnheader" aria-colindex="9">Phone</span>
    </div>
  </div>
  <div role="rowgroup">
    <div role="row">
      <span role="gridcell" aria-colindex="2">Fred</span>
      <span role="gridcell" aria-colindex="3">Jackson</span>
      <span role="gridcell" aria-colindex="4">Acme, Inc.</span>
      <span role="gridcell" aria-colindex="9">555-1234</span>
    </div>
    <div role="row">
      <span role="gridcell" aria-colindex="2">Sara</span>
      <span role="gridcell" aria-colindex="3">James</span>
      <span role="gridcell" aria-colindex="4">Acme, Inc.</span>
      <span role="gridcell" aria-colindex="9">555-1235</span>
    </div></div>
</div>
特性:
特性
ロールで使用される:
ロールに継承する:
値: 整数

aria-colindextextプロパティ

aria-colindexの人間可読なテキストによる代替を定義する。関連するaria-rowindextextを参照のこと。

著者は、スプレッドシートやチェス盤の場合のように、aria-colindexの提供されたまたは計算された値が意味を持たないまたは表示されたインデックスを反映しない場合、aria-colindextextのみを使用すべきである

支援技術の中には、ユーザーの位置を追跡するまたは代替のテーブルナビゲーションを提供する目的で数値列インデックスに依存しているため、著者はaria-colindexの代わりにaria-colindextextを使用すべきでない

aria-colindexとは異なり、ユーザーエージェントはその値をcellまたはgridcellに公開する目的で確実にaria-colindextextを計算する方法がないため、aria-colindextextrowのサポートされたプロパティではない。

特性:
特性
ロールで使用される:
ロールに継承する:
値: 文字列

aria-colspanプロパティ

tablegridまたはtreegrid内のセルまたはグリッドセルがまたがる列の数を定義する。関連するaria-colindexおよびaria-rowspanを参照のこと。

この属性は、ネイティヴテーブルに含まれないセルおよびグリッドセルを対象にする。ネイティヴテーブルにおけるセルまたはグリッドの列スパンを定義する場合、著者は、aria-colspanの代わりにホスト言語の属性を使用すべきである。ホスト言語が同等の属性を提供するための要素でaria-colspanが使用される場合、ユーザーエージェントaria-colspanの値を無視し、かつ代わりに支援技術にホスト言語の属性の値を公開しなければならない

著者は、セルまたはグリッドセルに同じ行で次のセルまたはグリッドセルに重ならせる1以上の整数かつ値未満にaria-colspanを設定しなければならない

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

aria-controlsプロパティ

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

たとえば:

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

aria-currentステート

コンテナーまたは関連要素のセット内の現在の項目を表す要素示す

aria-current属性はトークン型である。許可される値のリストに含まれない値は、あたかも値trueが提供されていたかのように支援技術によって扱われるべきである。属性が存在しないまたは属性値が空文字列またはundefinedである場合、falseのデフォルト値が適用され、かつaria-currentステートはユーザーエージェントや支援技術によって公開されてはならない

関連要素のセット内の要素が、要素がセット内の現在の項目であることを示すように視覚的にスタイル付けされる場合にaria-current属性は使用される。たとえば:

  • 一連のページ内のページを示すために使用されるpageトークン。要素はカレントのページを表すために視覚的にスタイル設定される。
  • ステップベースのプロセス内のステップを示すために使用されるstepトークン。要素はカレントのステップを表すために視覚的にスタイル設定される。
  • フローチャート内など、現在のコンポーネントとして視覚的にスタイル設定される要素を示すために使用されるlocationトークン。
  • カレンダーまたはその他の日付コレクション内で現在の日付を示すために使用されるdateトークン。
  • 時刻表またはその他の時間コレクション内の現在の時刻を示すために使用されるtimeトークン。

著者は、要素のセット内の1つの要素のみを、aria-currentをもつ現在のものとしてマークすべきである

著者は、aria-selectedが同じ意味を持つウィジェットでaria-selectedの代替としてaria-current属性を使用すべきでない。たとえば、tablistにおいて、aria-selectedは、現在表示されるtabpanelを示すためにtabで使用される。

aria-selectedをサポートするウィジェットに対するいくつかの使用事例において、currentとselectedは異なる意味を持ち、かつ要素の同じセット内で両方使用できる。たとえば、ユーザーがtreeitemをアクティブにする場合にaria-selected="true"が表示されるページを示す一方で、aria-current="page"は、現在表示されるページを示すためにナビゲーションtreeで使用できる。さらに、同じツリーは、「削除」や「移動」などのオプションを含むコンテキストメニューを通して、1つ以上の選択されたページ(ツリー項目)の操作をサポートできる。

特性:
特性
ロールで使用される: 基本マークアップのすべての要素
値: トークン
値:
説明
page ページのセット内の現在のページを表す。
step プロセス内の現在のステップを表す。
location 環境またはコンテキスト内の現在位置を表す。
date 日付のコレクション内の現在の日付を表す。
time 時間のセット内の現在の時刻を表す。
true セット内の現在の項目を表す。
false(デフォルト) セット内の現在の項目を表さない。

aria-describedbyプロパティ

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

aria-labelledby属性は、両方が他の要素を参照してテキストによる代替を計算するという点でaria-describedbyに似ている(それぞれ、アクセシブルな名前と説明)。簡潔でわかりやすい名前が望ましいが、説明は、簡潔にすることも、より詳細な情報を提供することもできる。

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

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

aria-descriptionプロパティ

現在の要素を説明または注釈する文字列値を定義する。関連するaria-describedbyを参照のこと。

aria-description属性は、要素に関連付けるフラットな文字列を提供するという点で、aria-labelに似ている(それぞれ、アクセシブルな説明と名前)。一般的に簡潔であることが好ましいアクセシブルな名前とは異なり、説明は必要に応じてより詳細な情報を提供できる。

aria-descriptionの目的はaria-describedbyの目的と同じである。これは、ユーザーにオブジェクトの追加の説明テキストを提供する。説明のための最も一般的なアクセシビリティAPIマッピングは、アクセシブルな説明プロパティである。ユーザーエージェントは、アクセシブルな説明プロパティを計算するときに、aria-descriptionよりもaria-describedbyを優先しなければならない

可視の説明を提供することが望ましいユーザー体験ではない場合、著者はaria-descriptionを使って要素のアクセシブルな説明を設定してもよい。しかし、説明テキストがDOMで利用可能な場合、著者はaria-descriptionを使用すべきではないが、代わりに次のいずれかを使用すべきである。

  • 関連する説明または注釈要素が、ユーザーにそれらにナビゲートさせるのではなく、フラットな文字列として体験するのが最適であるシンプルで小さな説明を含む場合、著者はaria-describedbyを使用すべきである
  • 著者は、関連する説明もしくは注釈要素が有用な意味もしくは構造を含む、またはそれらの多くのコンテンツがあり、フラットな文字列として体験することが困難な場合、aria-detailsを使うべきであるaria-detailsを用いることで、支援技術のユーザーが構造化コンテンツを訪問し、追加のナビゲーションコマンドを提供して、構造を理解しやすくする、または情報をより小さな断片で体験できるようになる。
特性:
特性
関連する概念:
ロールで使用される: 基本マークアップのすべての要素
値: 文字列

aria-detailsプロパティ

オブジェクトに関連する追加情報を提供する要素識別する。関連するaria-describedbyを参照のこと。

aria-detailsプロパティは、通常aria-describedbyで提供されるよりも詳細な情報を提供する要素を参照するためのものである。aria-detailsが存在することで、支援技術は、ユーザーに拡張情報の利用可能性を認識させ、それにナビゲートすることを可能にする。著者は、aria-detailsによって参照される要素がすべてのユーザーに可視であることを保証すべきである。

支援技術は、ユーザーがその要素に関連する情報の種類を理解するのを助けるために、aria-detailsプロパティで参照される要素のロールを使用できる。著者は、次のように要素に関連付けられた詳細の種類を伝えてもよい

  • コメント:aria-detailsは、ロールcommentを持つ要素を参照する。
  • 定義:aria-detailsは、ロールtermをもつ要素に適用され、ロールdefinitionをもつ要素を参照する。
  • キャプション:aria-detailsは、ロールfigureをもつ要素に適用され、ロールcaptionをもつ要素、またはcaption内の要素を参照する。
  • 脚注:aria-detailsdoc-footnoteのロールをもつ要素を参照する。このロールは[DPUB-ARIA-1.0].で定義される。
  • 文末脚注:aria-detailsは、ロールdoc-endnoteをもつ要素を参照する。このロールは[DPUB-ARIA-1.0].で定義される。
  • 説明または一般的な注釈:aria-detailsは他のロールをもつ要素を参照する。

aria-describedbyで参照される要素とは異なり、aria-detailsで参照される要素は、Accessible Name and Description仕様で定義されているように、アクセシブルな名前計算では使用されない。したがって、aria-detailsによって参照される要素のコンテンツは、支援技術のユーザーに提示されるときに文字列にフラット化されない。これにより、情報を文字列に変換すると情報が失われる、または拡張情報が理解しにくくなる場合に、aria-detailsが特に役立つ。

aria-detailsプロパティは、複数の要素への参照をサポートする。たとえば、文書エディター内の段落は、互いに関係のない複数のコメントを参照するかもしれない。ユーザーエージェントが複数の説明的関係の公開をサポートしないアクセシビリティAPIに依存する場合、ユーザーエージェントは、aria-detailsによって参照される最初の要素への関係を公開すべきである

要素がaria-describedbyまたはaria-descriptionで指定されたaria-detailsと説明の両方を持つことは妥当である。ユーザーエージェントが複数の説明的関係の公開をサポートしないアクセシビリティAPIに依存する場合、かつ要素がaria-detailsaria-describedbyの両方を持つ場合、ユーザーエージェントはaria-details関係とaria-describedby関係から計算された説明文字列を公開すべきである

aria-detailsの一般的な用途は、拡張記述が説明コンテンツを提供するために構造的マークアップまたは他の技術の埋め込みを要求する著作で伝達される必要があるデジタル出版である。次の例は、このシナリオを示す。

<!-- Provision of an extended description -->
<img src="pythagorean.jpg" alt="Pythagorean Theorem" aria-details="det">
<details id="det">
  <summary>Example</summary>
  <p>
    The Pythagorean Theorem is a relationship in Euclidean Geometry between the three sides of
    a right triangle, where the square of the hypotenuse is the sum of the squares of the two
    opposing sides.
  </p>
  <p>
    The following drawing illustrates an application of the Pythagorean Theorem when used to
    construct a skateboard ramp.
  </p>
  <object data="skatebd-ramp.svg"  type="image/svg+xml"></object>
  <p>
    In this example you will notice a skateboard ramp with a base and vertical board whose width
    is the width of the ramp. To compute how long the ramp must be, simply calculate the
    base length, square it, sum it with the square of the height of the ramp, and take the
    square root of the sum.
  </p>
</details>

もう一つの方法として、次の例に示すように、aria-detailsは拡張記述を持つウェブページへのリンクを参照できる。

<!-- Provision of an extended description -->
<img src="pythagorean.jpg" alt="Pythagorean Theorem" aria-details="det">
<p>
  See an <a href="http://foo.com/pt.html" id="det">Application of the Pythagorean Theorem</a>.
</p>
特性:
特性
ロールで使用される: 基本マークアップのすべての要素
値: ID参照リスト

aria-disabledステート

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

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

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

aria-disabledおよび適切なスクリプティングは、linkをもつ要素を正常に無効にできるが、ホスト言語の同等物を完全に無効にすることには問題がある。著者は、ホスト言語の機能だけでは無効にできない要素にはaria-disabledを使用しないことを助言する。

: columnheader、rowheaderおよびrowの使用法

aria-disabledは、現在columnheaderrowheaderおよびrowでサポートされているが、将来のバージョンでワーキンググループは、要素がgridまたはtreegridのコンテキストにあるときを除いて、これらの3つのロールをもつ要素上での使用を禁止する予定である。

このステートはARIA 1.2でグローバルステートとして非推奨となっている。将来のバージョンでは、明確にサポートされているロールでのみ許可される。

特性:
特性
ロールで使用される:
ロールに継承する:
値: true/false
値:
説明
false(デフォルト) 要素が有効になる。
true 要素およびすべてのフォーカス可能な子孫は無効にされ、要素の値はユーザーによって変更できない。

aria-dropeffectプロパティ

[ARIA 1.1で非推奨]ドラッグされたオブジェクトがドロップターゲットに投下される際に機能が実行できるかを示す。

aria-dropeffectプロパティは、WAI-ARIAの将来のバージョンで新しい機能に置き換えることが期待される。したがって、著者は、非推奨としてaria-dropeffectを扱うことを勧める。

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

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

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

aria-errormessageプロパティ

オブジェクトにエラーメッセージを提供する要素識別する。関連するaria-invalidおよびaria-describedbyを参照のこと。

aria-errormessage属性は、エラーメッセージテキストを含む別の要素を参照する。著者は、aria-errormessageと連携してaria-invalidを使用しなければならない

オブジェクトの値が妥当でない場合、aria-invalidtrueに設定され、これはaria-errormessageによって参照される要素に含まれるメッセージが適切であることを示す。

オブジェクトが妥当な状態にある場合、aria-invalidfalseに設定されるか、aria-invalid属性が設定されないかのいずれかである。著者は、現在有効なオブジェクトに対してaria-errormessageを使用してもよいが、aria-errormessageによって参照される要素がすべてのユーザーから隠される場合に限る。含まれるメッセージが適切ではないためである。

aria-errormessageが適切な場合、著者はコンテンツがすべてのユーザーから隠されておらず、ユーザーがエラーメッセージにナビゲートして調査できるようすることを保証しなければならない。同様に、aria-errormessageが適切でない場合、著者は、コンテンツがすべてのユーザーから隠されていることを保証するか、aria-errormessage属性もしくはその値を削除するかのいずれかでなければならない

ユーザーエージェントは、falsearia-invalid値をもつオブジェクトに対してaria-errormessageを公開してはならない

著者は、aria-liveプロパティを適用するか、alertなどのライブリージョンロールのいずれかを使用して、ライブリージョンとともに新らたにレンダリングされたエラーメッセージに注意を喚起してもよい。ライブリージョンは、ユーザーが無効な値を入力した後にエラーメッセージが表示されたときに適切である。

典型的なメッセージは何が間違っているかを説明し、ユーザーに何が必要かを知らせる。たとえば、エラーメッセージは、無効な時刻:時刻は午前9時から午後5時の間でなければならない。かもしれない。テキスト入力object上のaria-invalidへの変更、およびエラーメッセージのテキストを含む要素上のaria-liveへの変更に注目する:

<!-- Initial valid state -->
<label for="startTime"> Please enter a start time for the meeting: </label>
<input id="startTime" type="text" aria-errormessage="msgID" value="" aria-invalid="false">
<span id="msgID" aria-live="assertive"><span style="visibility:hidden">Invalid time: the time must be between 9:00 AM and 5:00 PM</span></span>

<!-- User has input an invalid value -->
<label for="startTime"> Please enter a start time for the meeting: </label>
<input id="startTime" type="text" aria-errormessage="msgID" aria-invalid="true" value="11:30 PM" >
<span id="msgID" aria-live="assertive"><span style="visibility:visible">Invalid time: the time must be between 9:00 AM and 5:00 PM</span></span>

この例では、支援技術が他の待機中のアナウンスを最初に完了させるのではなく、エラーメッセージをすぐにアナウンスすべきであることを示すために、aria-live="assertive"を使用している。これにより、ユーザーが入力からフォーカスを外す前にエラーメッセージに気づく可能性が高まる。

このステートはARIA 1.2でグローバルステートとして非推奨となっている。将来のバージョンでは、明確にサポートされているロールでのみ許可される。

特性:
特性
ロールで使用される:
ロールに継承する:
値: ID参照リスト

aria-expandedステート

この要素のアクセシビリティの子である、またはこの要素によって制御されるグループ化要素が展開もしくは折りたたまれるかどうかを示す

aria-expanded属性は、別の要素のコンテンツの可視性を切り替えるフォーカス可能なインタラクティブ要素に適用される。たとえば、ツリーの子ブランチが表示されるかどうかを示す親treeitemに適用される。同様に、ページコンテンツのセクションの可視性を制御するbuttonに適用できる。

展開されるまたは折りたたまれるグループ化コンテナーがaria-expanded属性を持つ要素のアクセシビリティの子でない場合、著者は、aria-controlsプロパティとともにaria-expandedを持つ要素からコンテナーを参照することにより、制御する関係を特定すべきである

特性:
特性
ロールで使用される:
ロールに継承する:
値: true/false/undefined
値:
説明
false この要素が制御するグループ化要素、またはアクセシビリティの親であるグループ化要素は折りたたまれている。
true この要素が制御するグループ化要素、またはアクセシビリティの親であるグループ化要素は展開されている。
undefined(デフォルト) 要素は、展開可能なグループ化要素を所有または制御しない。

aria-flowtoプロパティ

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

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

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

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

aria-grabbedステート

[ARIA 1.1で非推奨]ドラッグアンドドロップ操作で、要素の"grabbed"ステートを示す。

aria-grabbedプロパティは、WAI-ARIAの将来のバージョンで新しい機能に置き換えることが期待される。したがって、著者は、非推奨としてaria-grabbedを扱うことを勧める。

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

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

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

aria-haspopupプロパティ

要素によってトリガーできる、menu、dialogなど、インタラクティブなポップアップ要素の可用性および種類を示す

ポップアップ要素は通常、他のコンテンツの上にあるコンテンツのブロックのように見える。著者は、ポップアップコンテンツのコンテナーとして機能する要素のロールが、menulistboxtreegrid、またはdialogであり、かつaria-haspopupの値がポップアップコンテナーのロールと一致していることを保証しなければならない

ポップアップ要素がキーボードアクセシブルであるために、著者は、ポップアップをトリガーできる要素がフォーカス可能であり、ポップアップを開くためのキーボードメカニズムが存在し、かつポップアップ要素がフォーカスを管理するで説明したようにそのすべての子孫のフォーカスを管理することを保証すべきである

aria-haspopupプロパティはトークン型である。ユーザーエージェントは、あたかも値falseが提供されていたかのように、空文字列を含む、許可された値のリストに含まれないaria-haspopupのすべての値を扱わなければならない。ARIA 1.0コンテンツとの後方互換性を提供するために、ユーザーエージェントは、menuの値に相当するtruearia-haspopupの値を扱わなければならない

支援技術およびユーザーエージェントは、aria-haspopupプロパティがfalseの値を持つ場合、公開すべきでない

tooltipは、このコンテキストでポップアップでないと考えられる。

aria-haspopupは、ポップアップをトリガーする要素に視覚的なインジケーターがある場合の使用に最も関連する。たとえば、下向きの三角形、山形、または省略記号(3つの連続したドット)でスタイル付けされた多くのコントロールは、コントロールがアクティブ化したときにポップアップが表示される標準の視覚インジケーターになっている。いくつかの機能の違いが、異なる視覚スタイルの手段として視力のあるユーザーへの表示に関連している場合、その機能の違いは通常、支援技術のユーザーに伝えるのに関連している。要素がポップアップをトリガーするという視覚的な兆候がない場合、著者はaria-haspopupの使用が必要かどうかを検討し、そうでない場合は使用しないことを助言する。

このプロパティはARIA 1.2でグローバルプロパティとして非推奨となっている。将来のバージョンでは、明確にサポートされているロールでのみ許可される。

特性:
特性
関連する概念:
ロールで使用される:
ロールに継承する:
値: トークン
値:
説明
false(デフォルト) ポップアップを持たない要素を示す。
true ポップアップがmenuであることを示す。
menu ポップアップがmenuであることを示す。
listbox ポップアップがlistboxであることを示す。
tree ポップアップがtreeであることを示す。
grid ポップアップがgridであることを示す。
dialog ポップアップがdialogであることを示す。

aria-hiddenステート

要素がアクセシビリティAPIに公開されているかどうかを示す。関連するaria-disabledを参照のこと。

ユーザーエージェントは、要素がレンダリングされるかどうかに基づいて要素のhidden状態を決定し、レンダリングは通常、CSSによって制御される。たとえば、noneに設定される要素のdisplayは、レンダリングされない。要素、または要素の祖先がレンダリングされないまたは祖先のaria-hidden属性値がtrueに設定される場合、要素はhiddenと考えられる。

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

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

執筆時点で、aria-hidden="false"はブラウザーで一貫性なく動作することが知られている。将来の実装が改善されるよう、このアプローチに頼る前に、徹底的に用心と試験を利用すること。

特性:
特性
ロールで使用される: 基本マークアップのすべての要素
値: true/false/undefined
値:
説明
false あたかも要素がレンダリングされたかのように要素がアクセシビリティAPIに公開される。
true 要素はアクセシビリティAPIから隠される。
undefined(デフォルト) 要素のhiddenステートは、その要素がレンダリングされるかどうかに基づいてユーザーエージェントによって決定される。

aria-invalidステート

アプリケーションによって期待されるフォーマットに適合しない入力された値を示す。関連するaria-errormessageを参照のこと。

値が不正または範囲外であると計算される場合、アプリケーション著者は、この属性trueに設定すべきであるユーザーエージェントは、ユーザーにエラーを通知すべきである。アプリケーション著者に既知である場合、アプリケーション著者は、修正のための提案を提供すべきである

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

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

このステートはARIA 1.2でグローバルステートとして非推奨となっている。将来のバージョンでは、明確にサポートされているロールでのみ許可される。

特性:
特性
ロールで使用される:
ロールに継承する:
値: トークン
値:
説明
grammar 文法的なエラーが検出された。
false(デフォルト) 値において検出されたエラーは存在しない。
spelling スペルエラーが検出された。
true ユーザーによって入力された値は検証に失敗した。

aria-keyshortcutsプロパティ

著者が要素にフォーカスをアクティブにするまたは与えることを実装しているキーボードショートカットを定義する

aria-kbdshortcuts属性の値は、コマンドまたはテキストボックスウィジェットをアクティブにするために押すことができるスペース区切りのキーボードショートカットのリストである。ショートカットで定義されたキーは、生成された実際の文字ではなく、物理的な押下されたキーを表す。各キーボードショートカットは、0個以上の修飾キーと指定したショートカットをアクティブにするために同時に押さなければならない正確に一つの非修飾キーを表す正符号("+")で区切られた1つ以上のトークンで構成される。

著者は、UI Events KeyboardEvent key Valuess仕様[uievents-key]に従って正確にキーを指定しなければならない。たとえば、"Alt"、"Control"、"Shift"、"Meta"または"AltGraph"など。Metaは、Appleコンピューター上でCommandキーに、AltはOptionキーに対応することに注意する。

非修飾キーの有効な名前は、"A"、"B"、"1"、"2"、"$"、正符号の"+"、スペースバーの"Space"、のような任意の印刷可能な文字であるか、またはUI Events KeyboardEvent key Values仕様[uievents-key]で指定されるその他の非修飾キーの名前である―たとえば、"Enter"、"Tab"、"ArrowRight"、"PageDown"、"Escape"または"F1"。スペースバーに対する"Space"の使用は、スペースまたはスペースバーキーが' 'としてエンコードされかつ空白文字として扱われるので、UI Events KeyboardEvent key Values仕様[uievents-key]の例外である。

著者は、修飾キーがキーボードショートカットの一部である場合に、その修飾キーが最初に来ることを保証しなければならない。著者は、必要とされる非修飾キーがショートカットの一部である場合に、その非修飾キーが最後に来ることを保証しなければならない。修飾キーの順序は特に重要でないため、"Alt+Shift+T"と"Shift+Alt+T"は同等であるが、"T+Shift+Alt"はいずれの修飾キーも最初に来ないため有効ではなく、かつ"Alt"は少なくとも1つの非修飾キーを含まないため有効ではない。

アルファベットのキーを指定する場合、大文字と小文字の両方の異体字は、同等であるとみなされる:"a"と"A"は同じである。

キーボードショートカットを実装する場合、著者は、予期しない結果を避けるためにサポートすることを意図するキーボードを検討すべきである。キーボードのデザインは、使用されるデバイスおよびサポートされる言語に基づいて大きく変化する。たとえば、多くの修飾キーは、共通の句読記号を作成するために他のキーと組み合わせて使用​され、言語を切り替えるためにバイリンガルキーボードのキーボードの側面を切り替え、他の多数の機能を実行する。

多くのサポートされるキーボードの場合、数字および共通の句読文字はしばしば修飾子を必要とするため、著者はASCII文字以外のキーを回避することによって衝突を防ぐことができる。ここで、入力されたキーボードショートカットは、生成されたキーに一致しない。たとえば、フランス語のキーボードレイアウトにおいて、"Control+2"として定義されるキーボードショートカットはフランス語のキーボードで"2"の文字を入力する方法であるか曖昧になるので、Controlキーを押すまで数字は利用不能となる。

使用される文字が修飾キーによって決定される場合、著者は、得られた文字ではなく、キーによって生成されたものとして、文字を生成するために使用される実際のキーを指定しなければならない。この規則は、キーがショートカットを生成するために使用されなければならないものを正確に伝えることを支援技術を可能にする。たとえば、ほとんどの米国英語キーボードで、百分率記号"%"は、Shift+5を押して入力できる。このショートカットを指定する正確な方法は、"Shift+5"である。"%"または"Shift+%"を指定することは不正確である。しかし、"%"および"Shift+%"が国際的なキーボードで正確である場合に、一部の国際的なキーボードの百分率記号は無変更キーであるかもしれない。

指定する必要があるキーはホスト言語で不当である、または文字列を終了させる場合、著者はキーを指定するためにホスト言語の文字列エスケープシーケンスを使用しなければならない。たとえば、シングルクォーテーションは、HTMLで"&#39;"とエンコードできる。

有効なキーボードショートカットの例は次のとおり:

  • "A"
  • "Shift+Space"
  • "Control+Alt+."
  • "Control+Shift+&#39;"
  • "Alt+Shift+P Control+F"
  • "Meta+C Meta+Shift+C"

ユーザーエージェントは、aria-keyshortcuts属性に反応してキーボードの動作を変更してはならない。著者は、aria-keyshortcutsを処理するために用意されたキーボードイベントを処理しなければならないaria-keyshortcuts属性は、支援技術がユーザーにこの情報を伝えることができるように、このショートカットの存在を公開する。

著者は、ツールチップの使用を通してなど、すべてのユーザーがキーボードショートカットを発見できるように、そのキーボードショートカットを公開する方法を提供すべきである。著者は無効要素に適用されるaria-keyshortcutsが使用できないことを保証しなければならない

著者は、オペレーティングシステム、ユーザーエージェント、または支援技術の機能を阻害するショートカットキーの実装を避けるべきである。これは、どのキーを割り当てるかと、キーがユーザーに利用可能であるコンテキストおよび条件の両方を慎重に検討することが著者に要求される。ガイダンスについては、WAI-ARIA Authoring Practices Guideのキーボードショートカットの節を参照のこと。

著者は、キーボードショートカットが各言語および物理的なキーボードレイアウトで有効であるかどうかを検討し、言語、ロケール、および一般的なハードウェアキーボード構成でショートカットをローカライズすることを検討すべきである

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

aria-labelプロパティ

現在の要素にラベルを付ける文字列の値を定義する。関連するaria-labelledbyを参照のこと。

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

ほとんどのホスト言語は、要素に名前を付けるために使用できる属性(たとえば、HTMLにおけるtitle>)を提供するが、さらにこれはブラウザーのツールチップを提示するかもしれない。DOMコンテンツまたはツールチップが望ましくない場合に、要素が属性の使用を禁止しないならば、著者はaria-labelを用いて要素のアクセシブルな名前を設定してもよい。ラベルテキストがDOMで利用できる場合(つまり、典型的には可視テキストコンテンツ)、著者はaria-labelledbyを使用すべきであり、aria-labelを使用すべきでない。要素の名前がDOMからプログラム的に決定できない事例でかもしれず、DOMコンテンツの参照が目的のユーザー体験ではないかもしれない。著者は、aria-label禁止される場所で、明示的または暗黙的なWAI-ARIAロールを持つ要素にaria-labelを指定してはならないアクセシブルな名前および説明計算で要求されているように、ユーザーエージェントは、アクセシブルな名前プロパティを計算するときにaria-labelよりもaria-labelledbyを優先させる。

特性:
特性
ロールで使用される: 次のロールを除く、基本マークアップのすべての要素:captioncodedefinitiondeletionemphasisgenericinsertionmarknoneparagraphstrongsubscriptsuggestionsuperscripttermtime
値: 文字列

aria-labelledbyプロパティ

現在の要素にラベルを付ける要素識別する。関連するaria-labelおよびaria-describedbyを参照のこと。

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

インターフェイスが画面上で可視ラベルを持つことが不可能であるような場合、著者はaria-labelを使用すべきでありaria-labelledbyを使用すべきでない。著者は、aria-labelledby禁止される明示的または暗黙的なWAI-ARIAロールを持つ要素にaria-labelを指定してはならないアクセシブルな名前および説明計算で要求されているように、ユーザーエージェントは、アクセシブルな名前プロパティを計算するときにaria-labelよりもaria-labelledbyを優先する。

aria-labelledby属性は、両方が他の要素を参照してテキストによる代替を計算するという点でaria-describedbyに似ている(それぞれ、アクセシブルな名前と説明)。簡潔でわかりやすい名前が望ましいが、説明は、簡潔にすることも、より詳細な情報を提供することもできる。

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

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

aria-levelプロパティ

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

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

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

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

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

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

ロールheadingをもつ要素では、aria-levelの値が6を超えると、ユーザーに問題が発生する可能性がある。また、この記事の執筆時点では、ユーザーエージェントと支援技術のほとんどの組み合わせは、見出しのaria-level整数1~9のみをサポートしている。

特性:
特性
ロールで使用される:
値: 整数

aria-liveプロパティ

要素が更新され、ユーザーエージェント支援技術およびユーザーがライブリージョンから期待できる更新の種類を示す

この属性は、重要度で表現される。領域がpoliteとして指定される場合、支援技術はユーザーに更新に通知するが、一般に現在のタスクを中断せず、更新が低い優先度を取る。領域がassertiveとして指定される場合、支援技術はすぐにユーザーに通知し、かつ潜在的に前の更新の音声キューをクリアできる。

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

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

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

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

ライブリージョンがpoliteとしてマークされる場合、支援技術は、現在の文の話の終わりまたはユーザーが入力を一時停止する際のように、次の優雅な機会に更新を発表すべきである。ライブリージョンがassertiveとしてマークされる場合、支援技術はすぐにユーザーに通知すべきである。中断はユーザーを混乱させるか、ユーザーの現在のタスクの未完了を引き起こすかもしれないため、中断が不可欠でない限り、著者は断定的な値を使用すべきでない

特性:
特性
ロールで使用される: 基本マークアップのすべての要素
値: トークン
値:
説明
assertive 領域への更新が最高の優先順位を持ち、すぐにユーザーに提示されるべきであることを示す。
off(デフォルト) ユーザーが現在のその領域にフォーカスしない限り、領域への更新はユーザーに提示されるべきでないことを示す。
polite 現在の文章を話す終了時またはユーザーが入力を一時停止する時のように、領域への更新は、次の素直な機会に提示されるべきであることを示す。

aria-modalプロパティ

表示されるときに要素がモーダルであるかどうかを示す

aria-modal属性は、"modal"要素の存在がページ上の他のコンテンツの利用を排除することを示すために使用される。たとえば、モーダルダイアログが表示される際に、モーダルダイアログがフォーカスを失うまたはもはや表示されないまで、ユーザーの相互作用は、ダイアログのコンテンツに限定されることが期待される。

モーダル要素が表示される際に、フォーカスが明示的に別の場所に設定されない限り、支援技術は要素にナビゲートすべきである。一部の支援技術では、モーダル要素のコンテンツへのナビゲーションが制限されている。フォーカスがモーダル要素の外側の要素に移動する場合、支援技術は、モーダル要素へのナビゲーションを制限すべきでない

モーダル要素が表示される場合、著者は、インターフェイスがモーダル要素の子孫のみを用いて制御できることを保証しなければならない。言い換えると、モーダルダイアログが閉じるボタンを持つ場合、ボタンはダイアログの子孫となるべきである。モーダル要素が表示される際に、ホスト言語にそのようにする能力が存在する場合、著者は、(HTMLにおける"不活性サブツリー"など)不活性として他のすべてのコンテンツをマークすべきである

特性:
特性
ロールで使用される:
ロールに継承する:
値: true/false
値:
説明
false(デフォルト) 要素はモーダルでない。
true 要素はモーダルである。

aria-multilineプロパティ

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

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

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

aria-multiselectableプロパティ

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

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

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

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

aria-orientationデフォルト

要素の向きが水平、垂直または未知/不明瞭であるかどうかを示す

ARIA 1.1において、aria-orientationに対するデフォルトはhorizontalからundefinedに変更された。暗黙のロールは、一部のロールで定義される(たとえば、sliderはhorizontalがデフォルトであり、scrollbarはverticalがデフォルトである)が、予期されるデフォルトの向きが曖昧である(radiogroupなど)場所でのロールは未定義のままである。

特性:
特性
ロールで使用される:
ロールに継承する:
値: トークン
値:
説明
horizontal 要素は、水平に方向を合わせる。
undefined(デフォルト) 要素の方向は未知/不明瞭である。
vertical 要素は、垂直に方向を合わせる。

aria-ownsプロパティ

DOM階層が関係を表すために使用できない場合に、DOM要素間の、視覚、機能、または文脈親/子関係を定義するために、要素識別する。関連するaria-controlsを参照のこと。

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

要素がaria-ownsDOMの子の両方を持ち、親子関係に対して子要素の順序が最初のDOMの子である場合、要素はaria-ownsで参照される。著者がDOMの子が最初でないことを意図する場合、望ましい順序でaria-ownsにおいてDOMの子を一覧表示する。著者は、DOM階層の代替としてaria-ownsを使用すべきでない。関係がDOMで表現される場合、aria-ownsを使用してはならない。

著者は、要素のIDがいつでも複数の他の要素のaria-owns属性で指定されないことを保証しなければならない。言い換えれば、要素は、1つの明示的な所有者のみを持つことができる。著者は、aria-ownsで循環参照を作成してはならないaria-ownsでオーサリングエラーが発生した場合、コンテンツの一貫したモデルを構築するために、ユーザーエージェントは一部のaria-owns要素参照を無視してもよい

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

aria-placeholderプロパティ

コントロールが値を持たない場合にユーザーにデータ入力を支援することを意図される短いヒント(単語または短い語句)を定義する。ヒントは、サンプル値または予想される形式の簡単な説明であるかもしれない。

その目的が異なるために著者は、ラベルの代わりにaria-placeholderを使用すべきでない。ラベルは、情報の種類が予想されるかを示す。プレースホルダーテキストは、期待値についてのヒントである。関連するaria-labelledbyおよびaria-labelを参照のこと。

著者は、コントロールのが空文字列である任意の時刻でヒントテキストを表示することにより、ユーザーにこのヒントを提示すべきである。これは、コントロールが最初にフォーカスを受け取る場合、およびユーザーが以前に入力した値を削除する場合が含まれる。

関連するHTMLplaceholder属性の場合と同様に、表示されるラベルの代わりとしてプレースホルダーテキストの使用は、高齢ユーザーおよび、認知、運動、洗練された運動技能または視覚障害のあるユーザーを含むさまざまなユーザーに対するコントロールのアクセシビリティおよびユーザービリティを低下させることになる。コントロールのラベルで与えられるヒントは常に示される一方で、プレースホルダー属性で指定される短いヒントは、ユーザーが値を入力する前にのみ表示される。さらに、プレースホルダーテキストは、予め埋められた値に間違われるかもしれず、一般に実装されるプレースホルダーテキストのデフォルト色は不十分なコントラストを提供し、かつ個別の可視ラベルの不足がコントロール上のフォーカスを設定するために利用可能なヒット領域のサイズを減らす。

次の例では、HTML要素をcontenteditableでラベル付けするために使用できないため、HTML label要素を使用していない。

次の例は、ユーザーが値を入力しているsearchboxを示す:

<span id="label">Birthday:</span>
<div contenteditable role="searchbox" aria-labelledby="label" aria-placeholder="MM-DD-YYYY">03-14-1879</div>

次の例は、ユーザーがまだ値を入力していないまたは以前に入力した値を削除していたのと同じsearchboxを示す:

<span id="label">Birthday:</span>
<div contenteditable role="searchbox" aria-labelledby="label" aria-placeholder="MM-DD-YYYY">MM-DD-YYYY</div>
特性:
特性
関連する概念:
ロールで使用される:
ロールに継承する:
値: 文字列

aria-posinsetプロパティ

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

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

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

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

aria-posinsetを指定する場合、著者は1以上の整数であり、かつそのサイズがわかっている場合はセットのサイズ以下の値を指定しなければならない。著者がaria-posinsetを指定する場合、作成者はaria-setsizeの値も指定しなければならない

menuitemmenuitemcheckbox、またはmenuitemradioaria-posinsetを指定する場合、著者は、任意のセパレーターを除いて、menu内の項目の合計数に対するaria-posinsetの値を設定すべきである

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

aria-pressedステート

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

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

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

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

aria-readonlyプロパティ

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

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

例は次を含む:

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

aria-relevantプロパティ

ライブリージョン内のアクセシビリティツリーが変更されるときにユーザーエージェントがどの通知をトリガーするかを示す。関連するaria-atomicを参照のこと。

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

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

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

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

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

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

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

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

aria-requiredプロパティ

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

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

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

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

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

aria-roledescriptionプロパティ

要素ロールに対する人間可読な、著者局在の説明を定義する

スクリーンリーダーなどの一部の支援技術は、ユーザーエクスペリエンスの一部として要素のロールを提示する。そのような支援技術は一般に、ロールの名前をローカライズし、それをカスタマイズするかもしれない。この支援技術のユーザーは、ウィジェットである場合、要素の目的を理解するために、どのように相互作用するかを、"region"、"button"、または"slider"のように、ロール名のプレゼンテーションに依存する。

aria-roledescriptionプロパティは、どのように支援技術がロールの名前をローカライズして表現するかを上書きするための能力を著者に与える。このように、不適切にaria-roledescriptionを使用することは、要素を理解するまたは要素と対話するためのユーザーの能力を阻害するかもしれない。著者は、groupまたはregionのような非対話型のコンテナーロールの目的を明確にするため、またはwidgetより具体的な説明を提供するために、aria-roledescriptionの使用を制限すべきである

aria-roledescriptionを使用する場合、著者は次のことを保証すべきである

  1. aria-roledescriptionが適用される要素は、妥当なWAI-ARIAロールを持つ、または暗黙のWAI-ARIAロールセマンティックを持つ。
  2. aria-roledescriptionの値は、空でないまたは空白文字のみを含まない。

支援技術、ユーザーの冗長な設定、またはその他の要因によっては、特定の要素のロールの説明が伝達されないことがある。そのような要素にaria-roledescriptionを指定する場合、カスタムロールの説明もこれらの支援技術によって伝達されないかもしれない。

さらに、著者は、aria-roledescription禁止される明示的または暗黙的なWAI-ARIAロールを持つ要素にaria-roledescriptionを指定してはならない

次のいずれかの条件が存在する場合、ユーザーエージェントはaria-roledescriptionプロパティを公開してはならない

  1. aria-roledescriptionが適用される要素には、aria-roledescription禁止される、明示的または暗黙的なWAI-ARIAロールを持つ。
  2. aria-roledescriptionの値が未定義または空の文字列である。

支援技術は、要素のロールを提示する際にaria-roledescriptionの値を使用すべきであるが、aria-roledescriptionの値を持つ要素のロールに基づいて他の機能を変更すべきでない。たとえば、次のregionまたはbuttonにナビゲートするための機能を提供する支援技術は、この機能がaria-roledescriptionを持つ領域およびボタンにナビゲートできるようにすべきである

次の2つの例は、非対話型コンテナーがウェブベースのプレゼンテーションアプリケーションにおける"スライド"であることを示すためにaria-roledescriptionの使用を示す。

<div role="article" aria-roledescription="slide" id="slide" aria-labelledby="slideheading">
<h1 id="slideheading">Quarterly Report</h1>
<!-- remaining slide contents -->
</div>
<article aria-roledescription="slide" id="slide" aria-labelledby="slideheading">
<h1 id="slideheading">Quarterly Report</h1>
<!-- remaining slide contents -->
</article>

前の例において、スクリーンリーダーのユーザーは、より曖昧な"Quarterly Report, article"または"Quarterly Report, group."よりもむしろ、"Quarterly Report, slide"と聞こえるかもしれない。

特性:
特性
ロールで使用される: 次のロールを除く、基本マークアップのすべての要素:generic
値: 文字列

aria-rowcountプロパティ

テーブル、tablegridまたはtreegrid内の行の合計数を定義する。関連するaria-rowindexを参照のこと。

行のすべてがDOMに存在する場合、ユーザーエージェントは行の合計数を自動的に計算できるため、この属性を設定する必要はない。しかし、行の一部のみが与えられた瞬間にDOMに存在する場合、この属性は完全なテーブルで行の数の明示的な指示を提供するために必要とされる。

著者は、完全なテーブルで行の数に等しい整数にaria-rowcountの値を設定しなければならない。行の合計数が不明である場合、著者は、値がユーザーエージェントによって計算されるべきでないことを示すためにaria-rowcountの値を-1に設定しなければならない

次の例は、最初の行と行100から102がユーザーに表示される、2000行をもつグリッドを示す。

<div role="grid" aria-rowcount="2000">
  <div role="rowgroup">
    <div role="row" aria-rowindex="1">
      <span role="columnheader">First Name</span>
      <span role="columnheader">Last Name</span>
      <span role="columnheader">Company</span>
      <span role="columnheader">Phone</span>
    </div>
  </div>
  <div role="rowgroup">
    <div role="row" aria-rowindex="100">
      <span role="gridcell">Fred</span>
      <span role="gridcell">Jackson</span>
      <span role="gridcell">Acme, Inc.</span>
      <span role="gridcell">555-1234</span>
    </div>
    <div role="row" aria-rowindex="101">
      <span role="gridcell">Sara</span>
      <span role="gridcell">James</span>
      <span role="gridcell">Acme, Inc.</span>
      <span role="gridcell">555-1235</span>
    </div>
    <div role="row" aria-rowindex="102">
      <span role="gridcell">Taylor</span>
      <span role="gridcell">Johnson</span>
      <span role="gridcell">Acme, Inc.</span>
      <span role="gridcell">555-1236</span>
    </div>
  </div>
</div>
特性:
特性
ロールで使用される:
ロールに継承する:
値: 整数

aria-rowindexプロパティ

tablegridまたはtreegrid内の行の合計数に対して、要素の行インデックスまたは位置を定義する。関連するaria-rowindextextaria-rowcountおよびaria-rowspanを参照のこと。

行のすべてがDOMに存在する場合、ユーザーエージェントは各行のインデックスを自動的に計算できるため、この属性を設定する必要はない。しかし、行の一部のみが与えられた瞬間にDOMに存在する場合、この属性は完全なテーブルに対して各行の位置の明示的な指示を提供するために必要とされる。

著者は、aria-rowindexに対するを1以上の整数に、任意の以前の行のaria-rowindex値よりも大きく、かつ完全なテーブルの行の数以下に設定しなければならない。複数の行にまたがるセルまたはグリッドセルに対して、著者はスパンの先頭にaria-rowindexの値を設定しなければならない

著者は、各行にaria-rowindexを配置すべきである。著者はまた、各行のすべてのアクセシビリティの子aria-rowindexを配置してもよい

次の例は、最初の行と行100から102がユーザーに表示される、2000行をもつグリッドを示す。

<div role="grid" aria-rowcount="2000">
  <div role="rowgroup">
    <div role="row" aria-rowindex="1">
      <span role="columnheader">First Name</span>
      <span role="columnheader">Last Name</span>
      <span role="columnheader">Company</span>
      <span role="columnheader">Phone</span>
    </div>
  </div>
  <div role="rowgroup">
    <div role="row" aria-rowindex="100">
      <span role="gridcell">Fred</span>
      <span role="gridcell">Jackson</span>
      <span role="gridcell">Acme, Inc.</span>
      <span role="gridcell">555-1234</span>
    </div>
    <div role="row" aria-rowindex="101">
      <span role="gridcell">Sara</span>
      <span role="gridcell">James</span>
      <span role="gridcell">Acme, Inc.</span>
      <span role="gridcell">555-1235</span>
    </div>
    <div role="row" aria-rowindex="102">
      <span role="gridcell">Taylor</span>
      <span role="gridcell">Johnson</span>
      <span role="gridcell">Acme, Inc.</span>
      <span role="gridcell">555-1236</span>
    </div>
  </div>
</div>

次の例は、各列のすべてのアクセシビリティの子に配置されるaria-rowindexをもつ前の例からグリッドを示す。

<div role="grid" aria-rowcount="2000">
  <div role="rowgroup">
    <div role="row" aria-rowindex="1">
      <span role="columnheader" aria-rowindex="1">First Name</span>
      <span role="columnheader" aria-rowindex="1">Last Name</span>
      <span role="columnheader" aria-rowindex="1">Company</span>
      <span role="columnheader" aria-rowindex="1">Phone</span>
    </div>
  </div>
  <div role="rowgroup">
    <div role="row" aria-rowindex="100">
      <span role="gridcell" aria-rowindex="100">Fred</span>
      <span role="gridcell" aria-rowindex="100">Jackson</span>
      <span role="gridcell" aria-rowindex="100">Acme, Inc.</span>
      <span role="gridcell" aria-rowindex="100">555-1234</span>
    </div>
    <div role="row" aria-rowindex="101">
      <span role="gridcell" aria-rowindex="101">Sara</span>
      <span role="gridcell" aria-rowindex="101">James</span>
      <span role="gridcell" aria-rowindex="101">Acme, Inc.</span>
      <span role="gridcell" aria-rowindex="101">555-1235</span>
    </div>
    <div role="row" aria-rowindex="102">
      <span role="gridcell" aria-rowindex="102">Taylor</span>
      <span role="gridcell" aria-rowindex="102">Johnson</span>
      <span role="gridcell" aria-rowindex="102">Acme, Inc.</span>
      <span role="gridcell" aria-rowindex="102">555-1236</span>
    </div>
  </div>
</div>
特性:
特性
ロールで使用される:
ロールに継承する:
値: 整数

aria-rowindextextプロパティ

aria-rowindexの人間可読なテキストによる代替を定義する。関連するaria-colindextextを参照のこと。

著者は、ゲームのバトルシップで見られるように、aria-rowindexの提供されるまたは計算される値が意味を持たないまたは表示されたインデックスを反映しない場合、aria-rowindextextのみを使用すべきである

支援技術の中には、ユーザーの位置を追跡するまたは代替のテーブルナビゲーションを提供する目的で数値行インデックスに依存しているため、著者はaria-rowindexの代わりにaria-rowindextextを使用すべきでない

著者は、各行にaria-rowindextextを配置すべきである。著者はまた、各行のすべてのアクセシビリティの子aria-rowindextextを配置してもよい

特性:
特性
ロールで使用される:
ロールに継承する:
値: 文字列

aria-rowspanプロパティ

tablegridまたはtreegrid内のセルまたはグリッドセルがまたがる行の数を定義する。関連するaria-rowindexおよびaria-colspanを参照のこと。

この属性は、ネイティヴテーブルに含まれないセルおよびグリッドセルを対象にする。ネイティヴテーブルにおけるセルまたはグリッドの行スパンを定義する場合、著者は、aria-rowspanの代わりにホスト言語の属性を使用すべきである。ホスト言語が同等の属性を提供するための要素でaria-rowspanが使用される場合、ユーザーエージェントaria-rowspanの値を無視し、かつ代わりに支援技術にホスト言語の属性の値を公開しなければならない

著者は、aria-rowspanを0以上の整数で、セルまたはグリッドセルが同じ行の次のセルまたはグリッドセルに重なるような値未満の聖数に設定しなければならない。値を0に設定することは、セルまたはグリッドセルが行グループ内のすべての残りの行にまたがることを示す。

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

aria-selectedステート

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

この属性は、単一選択および複数選択のcompositeのどの要素が選択されているかを示すために使用される。

optiontab、およびtreeitemロールは、指定された条件が満たされたとき、aria-selectedへ暗黙の値の提供をユーザーエージェントに許可する。ユーザーエージェントは、他の状況でaria-selectedに暗黙の値を提供してはならない

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

aria-setsizeプロパティ

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

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

セット内の現在の項目までのすべての項目が文書構造に存在する場合、ユーザーエージェントはこれらの項目の位置を自動的に計算できるため、この属性を設定する必要はない。しかし、セット内の以前のすべての項目が特定の時点で文書構造に存在しない場合、著者は要素の位置を明示的に示すためにこの属性を設定しなければならない

aria-setsizeを指定する場合、著者は値をセット内のアイテムの数に等しい整数に設定しなければならない。項目の合計数が不明である場合、著者はaria-colcountの値を-1に設定すべきである

menuitemmenuitemcheckbox、またはmenuitemradioaria-setsizeを指定する場合、著者はすべてのセパレーターを除く、menu内の項目の合計数に基づいてaria-setsizeの値を設定すべきである

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

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

次の例は、合計サイズが不明であるセットで5から8の項目を示す。

<h2 id="label_fruit"> Available Fruit </h2>
<ul role="listbox" aria-labelledby="label_fruit">
  <li role="option" aria-setsize="-1" aria-posinset="5"> apples </li>
  <li role="option" aria-setsize="-1" aria-posinset="6"> bananas </li>
  <li role="option" aria-setsize="-1" aria-posinset="7"> cantaloupes </li>
  <li role="option" aria-setsize="-1" aria-posinset="8"> dates </li>
</ul>
特性:
特性
ロールで使用される:
ロールに継承する:
値: 整数

aria-sortプロパティ

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

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

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

aria-valuemaxプロパティ

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

著者は、aria-valuemaxの値がaria-valueminの値以上であることを保証しなければならないaria-valuenowが既知の最大値および最小値を持つ場合、著者はaria-valuemaxおよびaria-valueminに対してプロパティを提供すべきである

指定される値で開始する範囲ウィジェット。これは、このプロパティによって定義された、最大値に到達するまで増加させることができる。最小および最大のを宣言することは、支援技術にユーザーの範囲サイズを伝えることを可能にする。

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

aria-valueminプロパティ

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

著者は、aria-valueminの値がaria-valuemaxの値以下であることを保証しなければならないaria-valuenowが既知の最大値および最小値を持つ場合、著者はaria-valuemaxおよびaria-valueminに対してプロパティを提供すべきである

指定される値で開始する範囲ウィジェット。これは、このプロパティによって定義された、最小値に到達するまで減少させることができる。最小および最大のを宣言することは、支援技術にユーザーの範囲サイズを伝えることを可能にする。

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

aria-valuenowプロパティ

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

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

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

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

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

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

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

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

aria-valuetextプロパティ

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

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

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

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

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

特性:
特性
ロールで使用される:
ロールに継承する:
値: 文字列

7. アクセシビリティツリー

アクセシビリティツリーDOMツリーは並列構造である。アクセシビリティツリーは、ユーザーエージェントのユーザーインターフェイスオブジェクトと文書のオブジェクトを含む。アクセシビリティイベントが発火するかもしれないため、または、公開する必要があるプロパティ関係、もしくは機能を持つかのいずれかのため、支援技術に公開すべきであるDOM要素ごとに、アクセシビリティオブジェクトはアクセシビリティツリーに作成される。

7.1 アクセシビリティツリーから要素を除外する

次の要素は、アクセシビリティAPIを通して公開されておらず、ユーザーエージェントは、それらの要素をアクセシビリティツリーに含めてはならない

上記の規則によってアクセシビリティツリーからまだ除外されていない場合、ユーザーエージェントはアクセシビリティツリーに次の要素を含めるべきではない

7.2 アクセシビリティツリーに要素を含める

上記のアクセシビリティツリーの要素の除外の規則によってアクセシビリティツリーから除外されていない場合、ユーザーエージェントは、次の基準のいずれかを満たすDOM要素に対してアクセシビリティツリーアクセシブルオブジェクトを提供しなければならない

7.3 アクセシビリティツリーの関係

次の用語は、DOM要素間の関係を記述するために使用される。

DOM要素のアクセシビリティの子は、アクセシビリティツリー内のその要素に対応するアクセシブルなオブジェクトのすべての子である。DOMに関しては、次のものが含まれる(除外事項は下記に記載)。

そして次のものは除外される:

次の例において、list要素は4つのアクセシビリティの子を持つ:

<div role="list" aria-owns="child3 child4">
  <div role="listitem">Accessibility Child 1</div>
  <div>
    <div role="listitem">Accessibility Child 2</div>
  </div>
</div>
<div id="child3" role="listitem">Accessibility Child 3</div>
<div id="child4">
  <div role="listitem">Accessibility Child 4</div>
</div>

次の例では、最初のlist要素はアクセシビリティの子を持たないが、2番目のlist要素はアクセシビリティの子を1つ持つ。具体的には、ID値が"reparented"のlistitemである。

<div role="list">
  <div role="listitem" aria-hidden="true">Excluded element</div>
  <div role="listitem" id="reparented">Reparented element</div>
</div>
<div role="list" aria-owns="reparented"></div>

DOM要素のアクセシビリティの子孫は、アクセシビリティツリー内の対応するアクセシブルなオブジェクトの子孫に対応するすべてのDOM要素である。

DOM要素のアクセシビリティの親は、アクセシビリティツリー内の対応するアクセシブルなオブジェクトの親である。DOMに関して、アクセシビリティの親は次のいずれかである:

次の4つの例はすべて、ロールlistのアクセシビリティの親をもつlistitem要素を含んでいる:

<div role="list">
  <div role="listitem">The "list" is my accessibility parent.</div>
</div>
<div role="list">
  <div>
    <div role="listitem">The "list" is my accessibility parent.</div>
  </div>
</div>
<div role="list" aria-owns="child"></div>
<div id="child" role="listitem">The "list" is my accessibility parent.</div>
<div role="list" aria-owns="child"></div>
<div id="child">
  <div role="listitem">The "list" is my accessibility parent.</div>
</div>

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

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

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

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

8.1 ロール属性

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

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

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

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

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

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

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

8.3 フォーカスナビゲーション

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

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

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

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

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

暗黙のWAI-ARIAセマンティックスは、次のセクションにおける、ホスト言語のセマンティックスと競合する、衝突解決手続きに影響を与える。したがって、暗黙のWAI-ARIAセマンティックスは、ホスト言語仕様またはCore Accessibility API Mappingsなどの規範的仕様で定義する必要がある。

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

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

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

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

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

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

ネイティヴ機能のWAI-ARIA上書きに例外を作成するためのホスト言語の機会は、ホスト言語機能の固有の処理をもつ潜在的な著者のエラーまたは問題を回避することを意味する。1つの機能を変更するが他の機能がアクセシビリティAPIにどのような影響を与えるか明確ではないかもしれない、ホスト言語とWAI-ARIAは類似だが同一の機能でない機能を提供する際、著者エラーが発生するかもしれない。固有の処理は、ARIA機能に応じて合理的に変更できず、ARIAが許可された予測できない結果につながる、はるかに単純なレンダリングとアクセシビリティAPIへ公開する、機能が処理される方法を参照する。このような状況で、ホスト言語がWAI-ARIAの範囲を限定するための十分な理由がある。しかし、この規定は、機能ごとに文書化することにより、使用できないという、WAI-ARIAの使用をホスト言語に禁止するための包括的許可を与えるものではない。ホスト言語は、コンテンツを効果的に処理するために重要である場合にのみ、ARIAの使用に制限を作成すべきである。

特定のARIA機能は、アクセシビリティAPIで完全なモデルを構築するために重要である。そのような機能は、ネイティヴホスト言語のセマンティックスと競合することは予想されない(補完することはできるが)。したがって、ホスト言語は次のARIA機能の使用を防ぐ強いネイティヴセマンティックスを宣言してはならない

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

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

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

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

WAI-ARIAロールは、"サポートされる"または"必須の"として修飾されるステートおよびプロパティが関連付けられている。comboboxロールでサポートされるプロパティの例は、aria-autocompleteである。プロパティは、指定されたcomboboxが自動補完機能を実装するかもしれないし、しないかもしれないために、この場合"サポートされる"に指定される。対照的に、comboboxロールは、ロールが拡張可能であることを示すためにaria-expandedステートを要求する。コンボボックスは、listboxのような、開いているか閉じているかのいずれかである成業されるポップアップ要素を持つ。listboxが開いている場合、comboboxはその展開された状態である。そうでなければ折りたたまれる。

WAI-ARIAロールが使用される場合、DOMに存在しないサポートされるステートおよびプロパティは、デフォルト値に従って処理される。comboboxの例を踏まえ、欠損するaria-autocomplete属性は、自動補完を提供しないcomboboxを意味し、aria-autocomplete="none"と同等である。

しかし、不在である必須のステートおよびプロパティは、著者の誤りである。欠損している必要なステートおよびプロパティは、著者エラーの処理で詳しく説明されているように処理される。

暗黙WAI-ARIAセマンティックスを持つ要素は、対応するロールでサポートされるWAI-ARIAステートおよびプロパティの完全なセットをサポートする。したがって、ステートおよびプロパティを設定する際に、著者はロールを省略してもよい。ロールは、要素の暗黙WAI-ARIAロールを変更する必要がある場合にのみ必要とされる。

ステートおよびプロパティは、DOMに存在するが、その値として0長さの文字列("")を持つこともある。著者は、サポートされている(しかし必須ではない)ステートまたはプロパティにゼロ長さ文字列("")を指定してもよい。ユーザーエージェントは、ステートおよびプロパティが不在の属性を扱うのと同じ""の値を持つ属性としてそのステートおよびプロパティを扱うべきである。サポートされるステートおよびプロパティの場合、これはデフォルト値に対応するが、必須属性である場合、著者エラーの処理で詳しく説明されているように、著者エラーを通知して処理される。

8.6.1 ID参照エラー処理

ユーザーエージェントは、同じ文書内の他の要素のIDと一致しないID参照を無視すべきである

IDが一意であることを保証するのはウェブ著者の責任である。複数の要素が同じIDを持つ場合、ユーザーエージェントは与えられたIDで見つかった最初の要素を使用すべきである。挙動はgetElementByIdと同じになる。

単一のWAI-ARIAリレーションで同じ要素が複数回指定される場合、ユーザーエージェントは同じ要素への複数のポインターを返すべきである

aria-activedescendantは、単一のID参照のみを参照するように定義されている。既存のID参照と完全には一致しないaria-activedescendant値は著者エラーであり、DOM内のどの要素とも一致しない。

8.7 CSSセレクター

この節は将来のバージョンで削除されるかもしれない。

属性セレクターのサポートは、WAI-ARIA属性を含まなければならない。たとえば、.fooMenuItem[aria-haspopup="true"]は、クラスfooMenuItemをもつすべての要素および、trueの値をもつWAI-ARIAプロパティaria-haspopupを選択する。プレゼンテーションはWAI-ARIA属性への動的な変更のために更新されなければならない。これにより、著者はスタイルをWAI-ARIAセマンティックスと一致させることを可能にする。

9. 著者エラーを処理する

9.1 ロール

ユーザーエージェントはWAI-ARIAロールの検証を実行することが期待される。

ロールの定義の節で述べたように、コンテンツで抽象ロールを使用することはオーサリングエラーと見なされる。ユーザーエージェントは、アクセシビリティAPIの標準的なロールメカニズムを介して抽象ロールをマッピングしてはならない

role属性が非抽象WAI-ARIAロールの名前に一致するトークンを含まない場合、ユーザーエージェントはあたかもロールが提供されなかったかのように要素を扱わなければならない。たとえば、<table role="foo"><table>と同じ方法で、<input type="text" role="structure"><input type="text">と同じ方法で公開すべきである。

特定のランドマークロールには、著者由来の名前を必要とする。著者がこれらのランドマークの名前を指定していない場合、オーサリングエラーと見なされる。ユーザーエージェントは、そのような要素をあたかもロールが提供されていないかのように扱わなければならない。有効なフォールバックロールが指定されている場合、または要素が暗黙のARIAロールを持つ場合、ユーザーエージェントは代わりにそのロールを公開し続ける。そのようなロールのインスタンスは次のとおりである:

9.2 ステートおよびプロパティ

一般に、ユーザーエージェントWAI-ARIAプロパティの検証をあまり行わない。ユーザーエージェントは、要求に応じていくつかのマイナーな検証を行い、aria-setsizeが1以内となるaria-posinsetなどを強制してもよい。ユーザーエージェントは、次のような論理的な検証には責任を負わない:

  1. 2つの要素が互いに所有していることを指定するなどの、関係によって作成された循環参照。
  2. 要素が他の複数の要素によって所有されているなど、DOMツリー構造に関する正しい使用法。
  3. WAI-ARIAロールをもつ要素は、指定されたロールの挙動を正しく実装する。たとえば、ユーザーエージェントは、checkboxのロールをもつ要素が実際にチェックボックスのように振る舞うことを検証しない。
  4. 必須の子と親のロールの関係を正しく遵守しない要素、または必須の親以外の場所にある要素。
  5. aria-activedescendantが実際にコンテナーウィジェットのアクセシビリティ子孫要素を指しているかどうかを決定する。
  6. aria-setsizeおよびaria-posinsetの暗黙的な値を、セットのすべての要素ではなく一部の要素で指定されているときに指定する。

著者が10進数または整数値型に非数値を指定した場合、ユーザーエージェントは次を実行すべきである:

WAI-ARIAプロパティが未知または許可されていない値を含む場合、ユーザーエージェントは次のようにプラットフォームアクセシビリティAPIに公開すべきである

UIAにおいて、ユーザーエージェントは対応するプロパティを"unsupported"に設定したままにするかもしれない。

ユーザーエージェントは、未解決のIDを参照するWAI-ARIA属性を公開してはならない。たとえば:

与えられたロールに必須のWAI-ARIA属性が欠落している場合、ユーザーエージェントは、あたかも次の表に与えられた値が提供されていたかのようにその属性を処理すべきである

欠落している必須属性のフォールバック値
WAI-ARIAロール 必須の属性 フォールバック値
checkbox aria-checked false
combobox aria-controls マッピングなし
combobox aria-expanded false
heading aria-level 2
menuitemcheckbox aria-checked false
menuitemradio aria-checked false
radio aria-checked false
scrollbar aria-controls マッピングなし
scrollbar aria-valuenow 欠落しているまたは数値でない場合、(aria-valuemax - aria-valuemin) / 2。存在するがaria-valuemin未満の場合、aria-valueminの値。存在するがaria-valuemaxより大きい場合、aria-valuemaxの値。
separator(フォーカス可能な場合) aria-valuenow 欠落しているまたは数値でない場合、(aria-valuemax - aria-valuemin) / 2。存在するがaria-valuemin未満の場合、aria-valueminの値。存在するがaria-valuemaxより大きい場合、aria-valuemaxの値。
slider aria-valuenow 欠落しているまたは数値でない場合、(aria-valuemax - aria-valuemin) / 2。存在するがaria-valuemin未満の場合、aria-valueminの値。存在するがaria-valuemaxより大きい場合、aria-valuemaxの値。
switch aria-checked false
meter aria-valuenow 暗黙的または明示的に設定されたaria-valueminに一致する値。

必須でないステートおよびプロパティの暗黙の値は、各ロールの特性テーブルに表示される。この値はフォールバック値とはみなされないため、ここには含まれていない。

9.3 プレゼンテーショナルロールの競合の解決

プレゼンテーショナルロールの競合を解決するためのさまざまな方法がある。

ユーザーエージェントは、次の例外を除いて、アクセシビリティツリーで明示的または継承されたプレゼンテーショナルロールを持つ要素を公開してはならない

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

<!-- 1. [role="none"] is ignored due to the global aria-describedby property. -->
<h1 role="none" aria-describedby="comment-1"> Sample Content </h1>
<!-- 2. [role="none"] negates both the implicit 'heading' and the non-global aria-level. -->
<h1 role="none" aria-level="2"> Sample Content </h1>

10. IDLインターフェイス

適合ユーザーエージェントは、次のIDLインターフェイスを実装しなければならない

10.1 インターフェイスミックスインARIAMixin

WebIDLinterface mixin ARIAMixin {
	[CEReactions] attribute DOMString? role;
	[CEReactions] attribute Element? ariaActiveDescendantElement;
	[CEReactions] attribute DOMString? ariaAtomic;
	[CEReactions] attribute DOMString? ariaAutoComplete;
	[CEReactions] attribute DOMString? ariaBusy;
	[CEReactions] attribute DOMString? ariaChecked;
	[CEReactions] attribute DOMString? ariaColCount;
	[CEReactions] attribute DOMString? ariaColIndex;
	[CEReactions] attribute DOMString? ariaColIndexText;
	[CEReactions] attribute DOMString? ariaColSpan;
	[CEReactions] attribute FrozenArray<Element>? ariaControlsElements;
	[CEReactions] attribute DOMString? ariaCurrent;
	[CEReactions] attribute FrozenArray<Element>? ariaDescribedByElements;
	[CEReactions] attribute DOMString? ariaDescription;
	[CEReactions] attribute FrozenArray<Element>? ariaDetailsElements;
	[CEReactions] attribute DOMString? ariaDisabled;
	[CEReactions] attribute FrozenArray<Element>? ariaErrorMessageElements;
	[CEReactions] attribute DOMString? ariaExpanded;
	[CEReactions] attribute FrozenArray<Element>? ariaFlowToElements;
	[CEReactions] attribute DOMString? ariaHasPopup;
	[CEReactions] attribute DOMString? ariaHidden;
	[CEReactions] attribute DOMString? ariaInvalid;
	[CEReactions] attribute DOMString? ariaKeyShortcuts;
	[CEReactions] attribute DOMString? ariaLabel;
	[CEReactions] attribute FrozenArray<Element>? ariaLabelledByElements;
	[CEReactions] attribute DOMString? ariaLevel;
	[CEReactions] attribute DOMString? ariaLive;
	[CEReactions] attribute DOMString? ariaModal;
	[CEReactions] attribute DOMString? ariaMultiLine;
	[CEReactions] attribute DOMString? ariaMultiSelectable;
	[CEReactions] attribute DOMString? ariaOrientation;
	[CEReactions] attribute FrozenArray<Element>? ariaOwnsElements;
	[CEReactions] attribute DOMString? ariaPlaceholder;
	[CEReactions] attribute DOMString? ariaPosInSet;
	[CEReactions] attribute DOMString? ariaPressed;
	[CEReactions] attribute DOMString? ariaReadOnly;
	
	[CEReactions] attribute DOMString? ariaRequired;
	[CEReactions] attribute DOMString? ariaRoleDescription;
	[CEReactions] attribute DOMString? ariaRowCount;
	[CEReactions] attribute DOMString? ariaRowIndex;
	[CEReactions] attribute DOMString? ariaRowIndexText;
	[CEReactions] attribute DOMString? ariaRowSpan;
	[CEReactions] attribute DOMString? ariaSelected;
	[CEReactions] attribute DOMString? ariaSetSize;
	[CEReactions] attribute DOMString? ariaSort;
	[CEReactions] attribute DOMString? ariaValueMax;
	[CEReactions] attribute DOMString? ariaValueMin;
	[CEReactions] attribute DOMString? ariaValueNow;
	[CEReactions] attribute DOMString? ariaValueText;
};

ARIAMixinを含むインターフェイスは、次のアルゴリズムを提供しなければならない:

ARIAMixinで定義されているすべてのIDL属性idlAttributeについて、取得時に次の手順を実行しなければならない:

  1. contentAttributeを、ARIA属性対応テーブルでidlAttributeを検索して決定されたARIAコンテンツ属性とする。

  2. this、idlAttribute、およびcontentAttributeを指定して、ARIAMixinゲッターステップを実行した結果を返す。

同様に、設定時に、次の手順を実行しなければならない:

  1. contentAttributeを、ARIA属性対応テーブルでidlAttributeを検索して決定されたARIAコンテンツ属性とする。

  2. this、idlAttributecontentAttribute、および指定された値を指定して、ARIAMixinセッターステップを実行する。

この非常に一般的なフレームワークは、ElementElementInternalsなどの異なるホストインターフェイスで、これらのIDL属性にさまざまな動作を提供したいという要望によって動機づけられる。代替案は、各ホストインターフェイスにIDL属性を個別に複製してすることを要求し、独立した動作を指定できるようにすることであるが、これは同期が取れなくなるリスクが高くなる。

10.2 ARIA属性対応

次の表は、ARIAMixinで使用するためのIDL属性名とコンテンツ属性名の対応を示している。

IDL属性反映されるARIAコンテンツ
rolerole
ariaActiveDescendantElementaria-activedescendant
ariaAtomicaria-atomic
ariaAutoCompletearia-autocomplete
ariaBusyaria-busy
ariaCheckedaria-checked
ariaColCountaria-colcount
ariaColIndexaria-colindex
ariaColIndexTextaria-colindextext
ariaColSpanaria-colspan
ariaControlsElementsaria-controls
ariaCurrentaria-current
ariaDescribedByElementsaria-describedby
ariaDescriptionaria-description
ariaDetailsElementsaria-details
ariaDisabledaria-disabled
ariaErrorMessageElementsaria-errormessage
ariaExpandedaria-expanded
ariaFlowToElementsaria-flowto
ariaHasPopuparia-haspopup
ariaHiddenaria-hidden
ariaInvalidaria-invalid
ariaKeyShortcutsaria-keyshortcuts
ariaLabelaria-label
ariaLabelledByElementsaria-labelledby
ariaLevelaria-level
ariaLivearia-live
ariaModalaria-modal
ariaMultiLinearia-multiline
ariaMultiSelectablearia-multiselectable
ariaOrientationaria-orientation
ariaOwnsElementsaria-owns
ariaPlaceholderaria-placeholder
ariaPosInSetaria-posinset
ariaPressedaria-pressed
ariaReadOnlyaria-readonly
ariaRequiredaria-required
ariaRoleDescriptionaria-roledescription
ariaRowCountaria-rowcount
ariaRowIndexaria-rowindex
ariaRowIndexTextaria-rowindextext
ariaRowSpanaria-rowspan
ariaSelectedaria-selected
ariaSetSizearia-setsize
ariaSortaria-sort
ariaValueMaxaria-valuemax
ariaValueMinaria-valuemin
ariaValueNowaria-valuenow
ariaValueTextaria-valuetext

注:属性aria-dropeffectおよびaria-grabbedはARIA 1.1で非推奨とされ、対応するIDL属性はない。

10.2.1 曖昧性除去パターン

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

仕様書の著者はこのパターンに例外を設けることができるが、上記のIDL属性の名前と大文字と小文字を区別するために、次の規則が使用された。

  • 2つ以上の単語の組み合わせである概念を参照する属性名("value text"など)は、各単語境界を大文字にしたキャメルケースのIDL属性になる。たとえば、aria-valuetextは、VとTの両方を大文字にしたariaValueTextとなる。
  • 同様に、ハイフネーション可能な概念を参照する属性名("multi-selectable"など)は、各ハイフネーション境界を大文字にしたキャメルケースのIDL属性になる。たとえば、"multi-selectable"の唯一の妥当なスペルはハイフネーションされているため、aria-multiselectableはMとSの両方を大文字にしたariaMultiSelectableになる。
  • 信頼できる辞書ソースがハイフネーションまたは非ハイフネーションの両方のスペルを列挙する場合(たとえば、"multi-line"および"multiline"は両方とも妥当なスペルである)、ハイフネーションされたバージョンを使用し、上記のハイフネーションルールを適用する。たとえば、aria-multilineは、MとLの両方を大文字にしたariaMultiLineになる。
  • すべての信頼できる辞書ソースが、スペースまたはハイフンなしの複合語の単一のスペルを列挙する場合、用語の最初の文字のみが大文字になる。たとえば、“place-holder”と“place holder”のどちらも、用語“placeholder,”の妥当な綴りと見なされないため、aria-placeholderは、Pのみを大文字にしたariaPlaceholderになる。
  • 頭字語ベースのARIA属性は現在存在しないが、将来の属性に頭字語の使用法が含まれている場合、既存のDOM規則に一致するように試みる(IDはIdになる)。

10.2.2 IDL属性名のノートまたは例外

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

特定の属性名のノートまたは例外は、ここに列挙される。

  • ariaPosInSetaria-posinset属性は、コレクションの先頭からのアイテムの「挿入」ではなく、セット内のアイテムの位置(2つの単語:"in set")を指す。したがって、IDLの属性名は、P、I、および2番目のSが大文字になるariaPosInSetではなくariaPosInsetである。

10.3 ARIAMixinElementに混合する

ユーザーエージェントは、ElementARIAMixinを含まなければならない

WebIDLElement includes ARIAMixin;

Elementに対して:

実際には、これは、例えば、Element上のrole IDLはroleコンテンツ属性を反映し、ariaValueMin IDL属性はaria-valueminコンテンツ属性を反映することを意味する。

10.4 IDL属性の使用例

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

ARIA IDL属性の反映の主な目的は、JavaScriptベースの値の操作を容易にすることである。次の例は、その使用方法を示す。

11. セキュリティに関する考慮事項

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

この仕様では、新たなセキュリティ上の考慮事項は導入されない。

12. プライバシーに関する考慮事項

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

Web Platform Design Principlesに従って、この仕様は、情報が支援技術によって使用されているかどうかを判断するためのプログラム的なインターフェイスを提供しない。しかし、この仕様により、著者は、支援技術を使用しないユーザーが利用できる情報とは異なる情報を支援技術のユーザーに提示できる。これは、ウェブテクノロジースタックの他の多くの部分を使用して可能であるのと同様に、ARIA仕様の多くの機能を使用して可能である。このコンテンツの不一致は、支援技術のユーザーのactive fingerprintingを実行するために悪用される可能性がある。

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

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

表のHTMLの列は助言である。HTMLにおけるWAI-ARIAのステートおよびプロパティの使用に関するガイダンスは、HTMLでARIA属性を使用するための文書適合性要件([HTML-ARIA])に記載されている。

HTMLでtrue/false値の推奨されるマッピングは、HTML真偽値型を使用する代わりに、trueおよびfalseの許容値をもつキーワードおよび列挙属性を使用する。

次の表は、HTML StandardおよびW3C XML Schema Definition Language (XSD) 1.1 Part 2: DatatypesWAI-ARIAステートおよびプロパティ型と、属性型との間の推奨マッピングを示している。

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

WAI-ARIA type HTML XML Schema
true/false "true"および"false"の許容値をもつキーワードおよび列挙属性 boolean
true/false/undefined truefalseおよびundefinedの許容値をもつキーワードおよび列挙属性 truefalse、およびundefinedの値を許可する列挙制約付きのNMTOKEN
tristate "true"、"false"、および"mixed"の許可された値をもつキーワードおよび列挙属性 "true"、"false"および"mixed"の値を許可する列挙制約付きのNMTOKEN
浮動小数点数 decimal
整数 非負整数 整数
トークン キーワードおよび列挙属性 ステートまたはプロパティの定義にリストされた値を許可する列挙制約付きのNMTOKEN
トークンリスト 空白区切りトークン ステートまたはプロパティの定義にリストされた値を許可する列挙制約付きのNMTOKENS
ID参照 別の要素上の定義されたid属性の値 IDREF
ID参照リスト 空白区切りトークンとして表される、他の要素上の1つ以上の定義されたid属性の値 IDREFS
文字列 値の制約なし 文字列

B. 変更ログ

B.1 このリリースの主要な機能

B.2 ARIA 1.2以降の実質的な変更

C. 謝辞

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

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

C.1 発行時点のARIA WGでアクティブな参加者

C.2 資金提供者の権利

この出版物は、当初は契約番号ED-OSE-10-C-0067、その後契約番号HHSP23301500054C、現在はHHS75P00120P00168のもとで米国教育省・障害者自立生活リハビリテーション研究所(NIDILRR)の米国連邦基金によって一部賄われている。この出版物の内容は、必ずしも米国教育省の見解または政策を反映するものではなく、また商品名、商用製品、組織の言及は米国政府による支持を意味するものではない。

D. 参考文献

D.1 規範規格

[ACCNAME-1.2]
Accessible Name and Description Computation 1.2. Bryan Garaventa; Joanmarie Diggs; Michael Cooper. W3C. 11 July 2019. W3C Working Draft. URL: https://www.w3.org/TR/accname-1.2/
[CORE-AAM]
Core Accessibility API Mappings 1.1. Joanmarie Diggs; Joseph Scheuhammer; Richard Schwerdtfeger; Michael Cooper; Andi Snow-Weaver; Aaron Leventhal. W3C. 14 December 2017. W3C Recommendation. URL: https://www.w3.org/TR/core-aam-1.1/
[CORE-AAM-1.2]
Core Accessibility API Mappings 1.2. Valerie Young; Alexander Surkov; Michael Cooper. W3C. 2 November 2023. W3C Candidate Recommendation. URL: https://www.w3.org/TR/core-aam-1.2/
[CSS3-SELECTORS]
Selectors Level 3. Tantek Çelik; Elika Etemad; Daniel Glazman; Ian Hickson; Peter Linss; John Williams. W3C. 6 November 2018. W3C Recommendation. URL: https://www.w3.org/TR/selectors-3/
[DOM]
DOM Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://dom.spec.whatwg.org/
[DPUB-ARIA-1.0]
Digital Publishing WAI-ARIA Module 1.0. Matt Garrish; Tzviya Siegman; Markus Gylling; Shane McCarron. W3C. 14 December 2017. W3C Recommendation. URL: https://www.w3.org/TR/dpub-aria-1.0/
[HTML]
HTML Standard. Anne van Kesteren; Domenic Denicola; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
[infra]
Infra Standard. Anne van Kesteren; Domenic Denicola. WHATWG. Living Standard. URL: https://infra.spec.whatwg.org/
[MathML3]
Mathematical Markup Language (MathML) Version 3.0 2nd Edition. David Carlisle; Patrick D F Ion; Robert R Miner. W3C. 10 April 2014. W3C Recommendation. URL: https://www.w3.org/TR/MathML3/
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc2119
[ROLE-ATTRIBUTE]
Role Attribute 1.0. Shane McCarron et al. W3C. 28 March 2013. W3C Recommendation. URL: https://www.w3.org/TR/role-attribute/
[SVG2]
Scalable Vector Graphics (SVG) 2. Amelia Bellamy-Royds; Bogdan Brinza; Chris Lilley; Dirk Schulze; David Storey; Eric Willigers. W3C. 4 October 2018. W3C Candidate Recommendation. URL: https://www.w3.org/TR/SVG2/
[uievents-key]
UI Events KeyboardEvent key Values. Travis Leithead; Gary Kacmarcik. W3C. 30 May 2023. W3C Candidate Recommendation. URL: https://www.w3.org/TR/uievents-key/
[WEBIDL]
Web IDL Standard. Edgar Chen; Timothy Gu. WHATWG. Living Standard. URL: https://webidl.spec.whatwg.org/
[XML-NAMES]
Namespaces in XML 1.0 (Third Edition). Tim Bray; Dave Hollander; Andrew Layman; Richard Tobin; Henry Thompson et al. W3C. 8 December 2009. W3C Recommendation. URL: https://www.w3.org/TR/xml-names/

D.2 参考文献

[AT-SPI]
Assistive Technology Service Provider Interface. The GNOME Project. URL: https://developer-old.gnome.org/libatspi/stable/
[ATK]
ATK - Accessibility Toolkit. The GNOME Project. URL: https://developer.gnome.org/atk/stable/
[AXAPI]
The NSAccessibility Protocol for macOS. Apple, Inc. URL: https://developer.apple.com/documentation/appkit/nsaccessibility
[design-principles]
Web Platform Design Principles. Sangwhan Moon. W3C. 7 September 2023. W3C Working Group Note. URL: https://www.w3.org/TR/design-principles/
[fingerprinting-guidance]
Mitigating Browser Fingerprinting in Web Specifications. Nick Doty. W3C. 28 March 2019. W3C Working Group Note. URL: https://www.w3.org/TR/fingerprinting-guidance/
[HTML-ARIA]
ARIA in HTML. Scott O'Hara; Patrick Lauke. W3C. 21 December 2023. W3C Recommendation. URL: https://www.w3.org/TR/html-aria/
[IAccessible2]
IAccessible2. Linux Foundation. URL: https://wiki.linuxfoundation.org/accessibility/iaccessible2/
[MSAA]
Microsoft Active Accessibility (MSAA). Microsoft Corporation. URL: https://docs.microsoft.com/en-us/windows/win32/winauto/microsoft-active-accessibility
[UI-AUTOMATION]
UI Automation. Microsoft Corporation. URL: https://docs.microsoft.com/en-us/windows/win32/winauto/ui-automation-specification
[UIA-EXPRESS]
The IAccessibleEx Interface. Microsoft Corporation. URL: https://docs.microsoft.com/en-us/windows/win32/winauto/iaccessibleex
[wai-aria-1.1]
Accessible Rich Internet Applications (WAI-ARIA) 1.1. Joanmarie Diggs; Shane McCarron; Michael Cooper; Richard Schwerdtfeger; James Craig. W3C. 14 December 2017. W3C Recommendation. URL: https://www.w3.org/TR/wai-aria-1.1/
[WAI-ARIA-PRACTICES-1.2]
WAI-ARIA Authoring Practices 1.2. Matthew King; JaEun Jemma Ku; James Nurthen; Zoë Bijl; Michael Cooper. W3C. 19 May 2022. W3C Working Group Note. URL: https://www.w3.org/TR/wai-aria-practices-1.2/
[WCAG21]
Web Content Accessibility Guidelines (WCAG) 2.1. Michael Cooper; Andrew Kirkpatrick; Joshue O'Connor; Alastair Campbell. W3C. 21 September 2023. W3C Recommendation. URL: https://www.w3.org/TR/WCAG21/
[XMLSCHEMA11-2]
W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes. David Peterson; Sandy Gao; Ashok Malhotra; Michael Sperberg-McQueen; Henry Thompson; Paul V. Biron et al. W3C. 5 April 2012. W3C Recommendation. URL: https://www.w3.org/TR/xmlschema11-2/