HTML における ARIA

W3C 勧告

この文書の詳細
このバージョン:
https://www.w3.org/TR/2025/REC-html-aria-20250805/
最新の公開バージョン:
https://www.w3.org/TR/html-aria/
最新の編集者ドラフト:
https://w3c.github.io/html-aria/
履歴:
https://www.w3.org/standards/history/html-aria/
コミット履歴
実装レポート:
https://w3c.github.io/html-aria/results/implementation-results.html
編集者:
Scott O'Hara (Microsoft)
Patrick H. Lauke (TetraLogical)
元編集者:
Steve Faulkner (TPGi) -
フィードバック:
GitHub w3c/html-aria (プルリクエスト, 新しい課題, オープンな課題)
public-webapps@w3.org 件名 [html-aria] … メッセージのトピック … (アーカイブ)
正誤表:
正誤表あり

また、 翻訳 もご覧ください。


概要

この仕様は、Accessible Rich Internet Applications (WAI-ARIA) 1.2 および Digital Publishing WAI-ARIA Module 1.0 属性を [HTML] 要素で使用するための著者ルール(著者適合要件)を定義します。 この仕様の主な目的は、著者(ウェブ開発者)が利用する適合性チェックツールとともに使用するための要件を定義することです。これらの要件は、ARIA を活用してホスト言語 [HTML] の機能を補完または拡張するカスタムインターフェースやウィジェットを含むウェブコンテンツの開発において、著者の支援となります。

この文書のステータス

このセクションは、公開時点でのこの文書のステータスについて説明します。現在の W3C の出版物およびこの技術レポートの最新改訂版は W3C 標準と草案のインデックス でご覧いただけます。

ARIA in HTML は [HTML] 仕様モジュールです。この仕様モジュールが参照するが明示的に定義しない HTML の機能、適合要件、用語は HTML Standard で定義されています。

この仕様が 2021年12月9日に W3C 勧告となって以来、以下の重要な追加や修正が提案されています:

文書のレビュー担当者は、文書内で候補追加や修正を識別できます:

候補修正は文書内でマークされています。

候補追加は文書内でマークされています。

この文書は Web Applications Working Group によって 勧告トラックに従い勧告として公開されました。公開以降、 候補の修正 が含まれており、前回の勧告以降に重要な変更や新機能が導入されています。

W3C は、この仕様の Web 標準としての広範な展開を推奨します。

W3C 勧告は、広範な合意形成の後、W3C とそのメンバーにより承認され、 ワーキンググループメンバーが ロイヤリティフリーライセンス で実装することを約束しています。 今後のこの勧告の更新には、 新機能 が組み込まれる可能性があります。

候補追加は文書内でマークされています。

候補修正は文書内でマークされています。

この文書は W3C 特許 ポリシー のもとで運営されているグループにより作成されました。 W3C は、 グループの成果物に関連する公開特許開示リスト を管理しています。そこでは、特許の開示方法の案内も掲載されています。個人が特許に関する実際の知識を持ち、その特許が 必要なクレーム を含んでいると信じる場合は、 W3C 特許ポリシー第6節 に従い情報開示する必要があります。

この文書は 2023年11月3日 W3C プロセス文書 に従って管理されています。

1. HTMLでARIAを使用するための著者要件

著者は、MAY、ARIAのroleおよびaria-*属性を利用して、セマンティクス(公開される意味)をHTML要素について変更することができます。ただし、これはWAI-ARIAで定義された要件に従い、ARIAの機能が強いネイティブセマンティクスと衝突する場合や、当該HTML要素の暗黙のARIAセマンティクスと等しい場合を除きます。HTMLの機能に対する暗黙のARIAセマンティクスは、HTML Accessibility API Mappings仕様により定義されています。

本仕様で定義されるHTMLでのARIA機能の使用に関する制約は、支援技術製品が実際のUIを表さない意味不明なユーザーインターフェース情報を報告しないよう、著者が誤った情報を伝えてしまうことを防止することを目的としています。

著者は、MUST NOT、ARIAのroleおよびaria-*属性を、4. HTMLでARIA属性を使用するための文書適合要件および4.2 等価なHTML属性の代わりにARIA属性を使用するための要件の表で示されているセマンティクスと矛盾する形で使用してはなりません。また、ARIAのrolearia-*属性を、どちらの表で定義されている暗黙のARIAセマンティクスと一致する値に設定することはNOT RECOMMENDEDです。これは不要であり、予期しない結果を招く可能性があります。

2. HTMLを拡張・逸脱するARIAセマンティクス

このセクションは規定ではありません(参考情報)

ARIAを利用することで、著者はネイティブHTMLの現在の機能を超えるセマンティクスを指定できます。これは、HTMLだけでは不可能なウィジェットの作成や、ネイティブHTML機能に特定のアクセシブル状態やプロパティを公開する機会を著者に与え、有用です。

例えば、button要素には「押された」状態を公開するネイティブHTML機能がありません。ARIAは、aria-pressed属性を指定することで、要素のセマンティクスを拡張し、コントロールの視覚的な表現と一致する聴覚UIを実現できます。

下記の例では、button要素がウェブアプリケーション内の設定の状態をユーザーが切り替えられるようにしています。aria-pressed属性がbutton要素に付与され、「押された」状態を支援技術のユーザーにも伝えることができます。

1: ARIAでボタンの押下状態を伝える
<button aria-pressed=true>...</button>

また、特定のroleを持つ要素に対してはaria-*属性が許可されているものの、等価なネイティブ属性は現時点のHTMLでは有効でない場合もあります。

例えば、HTMLにはdisabled状態のハイパーリンク(a href要素)という直接的な概念がありません。<a href="..." disabled> ... </a>のような構文は有効ではなく、支援技術にも伝達されません。

ARIAはこの点でHTMLと異なり、role=linkを明示した要素にはaria-disabled属性の指定を許可します。著者がHTMLのハイパーリンクにaria-disabled=trueを指定しても、ユーザーエージェントは機能的にはハイパーリンクを変化させません(クリック可能なまま)が、支援技術にはdisabled状態として伝達されます。

同様に、ネイティブHTMLのselectの子孫であるoption要素はselectedのみ設定できますが、明示的なrole=optionを持つ要素ではaria-selectedだけでなくaria-checked属性も許可され、ネイティブのselect要素よりも拡張されたウィジェットや構成が可能です。

残念ながら、このようにARIAとHTMLが機能的には同等でも許容範囲が異なる場合、サポートの不一致、さらにはユーザー体験の不整合を生むことがあります。HTMLでサポートされない機能をARIAが許可する場合、著者やユーザーのためには完全なカスタムARIAウィジェットとして実装するほうが望ましい場合があります。

下記の例では、ハイパーリンクをdisabled状態として伝える必要があります。HTMLではハイパーリンクにdisabled属性を使えませんが、aria-disabled=trueを使うことで支援技術にはdisabledとして伝達されます。ただし、要素自体は実際には無効化されません。ハイパーリンクを本当に無効にする最も効果的な方法は、a要素からhrefを削除してプレースホルダー化し、ARIAでリンクの意図する役割や状態を伝えることです。

3. ARIAの誤用を避けるための著者ガイダンス

このセクションは規定ではありません(参考情報)

3.1 インタラクティブな要素に非インタラクティブなロールを上書きしない

ARIAは、異なるロールをユーザーに公開する必要がある場合に要素のロールを修正・訂正するのに有用ですが、例えばbuttonなどのインタラクティブ要素に、非インタラクティブ要素が持つロール(例:見出し)をARIAで上書きするのは、著者やユーザーの利益にならないことがほとんどです。

例として、下記はbutton要素にrole=headingを使用しています。これは許可されません。button要素にはデフォルトの機能があり、見出しロールのユーザー期待と衝突します。

3: 不適切なロール
<button role="heading">search</button>

著者は、buttonのデフォルト機能と表示を削除する追加の手順が必要となりますが、それでも、ユーザーがウェブページの利用方法によっては要素の暗黙的な機能を完全に抑制できない場合があります(例:Windowsのハイコントラストテーマやブラウザのリーダーモードで閲覧する場合など)。

3.2 冗長なロール指定を避ける

下記の例では、button要素に明示的にrole=buttonを指定しています。これは不要です。なぜなら「button」要素はすでに暗黙的にbuttonロールとして公開されるからです。実際、この冗長指定は予期しない副作用はほぼありませんが、マークアップが冗長になり、他の著者に誤った有用性を示すことになります。不要なロール指定が問題となる例については3.3 副作用に注意するセクションを参照してください。

4: ボタンへの冗長なロール指定
<!-- このような指定は避けてください! -->
<button role="button">...</button>

同様に、下記はfieldset要素にrole=groupmain要素にrole=Mainを指定しています。これも不要です。fieldsetは暗黙的にrole=groupとして、mainも暗黙的にrole=mainとして公開されます。これらは、ASCII小文字で宣言されている限り、支援技術ユーザーに副作用は基本的にありません。詳細は4.4 ARIAロール・状態・プロパティ属性の大文字小文字の要件を参照してください。

5: fieldsetとmainへの冗長なロール指定
<!-- このような指定は避けてください! -->
<fieldset role="group">...</fieldset>
<!-- またはこのような指定も避けてください! -->
<main role="Main">...</main>

下記は、ul要素にrole=listを指定しています。ul要素は暗黙的にlistロールを持つため、明示的な指定は一般的に冗長です。しかし、一部のユーザーエージェントではリストマーカーが視覚的に除去された場合、リストの暗黙的ARIAセマンティクスを抑制することがあります。このような特定状況や、ロールの公開が必要な場合は、明示的な指定が許容されます。

6: リストへの冗長なロール指定
<!-- 基本的にはこのような指定は避けてください! -->
<ul role="list">...</ul>

3.3 副作用に注意する

下記は、summary要素にrole=buttonを指定しています。これは不要であり、プラットフォーム間の問題を引き起こす可能性があります。例えば、要素の状態が正しく公開されなくなったり、buttonロールが強制されることで、本来公開されるはずのプラットフォームやブラウザ固有のロールが失われることがあります。

7: 意図しない結果
<details>
  <!-- このような指定は避けてください! -->
  <summary role="button">more information</summary>
  ...
</details>

3.4 ARIAのルールに従う

Accessible Rich Internet Applications (WAI-ARIA) 1.2 では、著者による使用が想定されていない多くのロールが定義されています。その多くは抽象ロールとして分類され、著者による利用は明示的に禁止されています。下記は、著者が本来comboboxロールを使うべきところで抽象的なselectロールを誤用した例です。

8: 抽象ロールは著者向けではありません
<!-- このような指定はしないでください! -->
<div role="select" ...>...</div>

ARIAには、より特定のARIAセマンティクスを持たないHTML要素と機能的に等価なgenericロールも定義されています。例えばHTMLのdivspanなどです。ARIAではgenericロールの使用は、ユーザーエージェントの実装者向けであり、著者の利用は推奨されません。

下記の例では、genericロールの代わりにdiv要素をarticle要素の代替として使用することが推奨されます。HTML要素の変更が不可能な場合は、暗黙のロールを除去するためにpresentationnoneロールを指定してもかまいません。

9: 要素をgenericに指定しない
<!-- このような指定は避けてください! -->
<article role="generic" ...>...</article>

さらにARIAでは、ホスト言語セマンティクスとの衝突において、著者が状態やプロパティを公開するためにHTMLのネイティブ機能とARIA属性の両方を使用した場合、ホスト言語の機能が優先されると明記しています。

例えば、下記の例では著者がHTMLのinput type=checkboxaria-checked=trueを指定しています。しかし、ユーザーエージェントはaria-checked属性を無視し、フォームコントロールのネイティブ機能に基づいて状態を公開します。

10: 暗黙のchecked状態がARIA属性より優先される
<!-- このような指定はしないでください! -->
<input type="checkbox" checked aria-checked="false">

3.5 HTMLのルールに従う

ARIAによってHTMLの機能が支援技術ユーザーにどのように公開されるかを変更できますが、これらの修正はHTMLのパースや許可されるコンテンツモデル自体には影響しません。例えば、div要素は任意のロール指定が可能ですが、HTMLの定義したルールと異なる使い方ができるわけではありません。

下記の例では、著者がdiv要素にlinkロールを指定しています。HTMLではハイパーリンク(role=link)はp要素の子孫として許可されていますが、HTMLパーサではdiv要素をp要素の子孫にすることは許可されていません。

11: 無効なHTMLネストによるARIAセマンティクスの修正
<!-- このような指定はしないでください! -->
<p>
  ... <div role=link tabindex=0>...</div> ... 
</p>

HTMLパーサは上記のマークアップを以下のように修正して出力します:

12: 望ましくないレンダリングと有効な代替例
<!-- 上記のマークアップは以下のようにレンダリングされます -->
<p>...</p>
<div role=link tabindex=0>...</div> 
... 
<p></p>

<!-- divの代わりにspanを使いましょう。spanはp要素の子孫として許可されています! -->
<p>
  ... <span role=link tabindex=0>...</span> ...
</p>

本仕様は各HTML要素に指定可能なARIA属性を示しますが、たとえロールの指定が許可されていても、使用する文脈によってはレンダリングやアクセシビリティ上の問題になる場合があることを示しています。

4. HTMLでARIA属性を使用するための文書適合要件

次の表は、HTML文書内でARIAマークアップを使用する際の各要素ごとの規定適合要件を示します。加えて、暗黙のARIAセマンティクスが適用されるHTML要素も特定しています。これらの要素の暗黙のARIAセマンティクスは、HTML AAMで定義されています。

1列目のセルに記載された各言語機能(要素)は、同じ行の2列目のARIAセマンティクス(ロール、状態、プロパティ)を暗示します。各行の3列目は、著者が要素に指定できるARIA role値やaria-*属性を定義します。3列目に任意のroleという用語が含まれる場合、その要素には任意のroleMAY指定可能です。ただし、暗黙のロールやgenericロール、ARIAで非推奨のロールはNOT RECOMMENDEDです。 3列目にロール指定不可という用語が含まれる場合、その要素の暗黙のARIAセマンティクスやHTMLのネイティブセマンティクスを著者が上書きすることはMUST NOTです。

WAI-ARIAでは、禁止されている状態やプロパティがあるロールが定義されています。これらのロールには特定のWAI-ARIA属性を著者が指定できません。暗黙のWAI-ARIAロールを持つHTML要素も、同様にこれらの属性の指定を禁止します。

命名禁止と識別される要素は、著者がMUST NOTaria-labelaria-labelledby属性を指定してはいけません。ただし、要素の暗黙のロールが、著者による命名を許可する明示的なWAI-ARIAロールで上書きできる場合は除きます。詳細は4.1 ARIA属性による要素命名要件を参照してください。

ARIA rolearia-*属性を、暗黙のARIAセマンティクスと一致する値で設定することはNOT RECOMMENDEDですが、状況によっては明示的な設定が有用となる場合があります(例:一部のユーザーエージェントが特定の要素に暗黙のARIAセマンティクスを公開しない場合)。

Digital Publishing WAI-ARIA Module 1.0role値は下表の通り使用しても適合しますが、これらのロールはウェブサイト実装用途ではありません。デジタル出版業界以外の目的でこれらのロールを使う場合、意図した体験をユーザーに提供できるか追加のテストが必要です。

HTML要素ごとのARIA属性使用ルール
HTML要素

暗黙のARIAセマンティクス (これらをマークアップで明示的に指定することは NOT RECOMMENDED

ARIAロール・状態・プロパティの許容
ahref がある場合 role=link

ロール: button, checkbox, menuitem, menuitemcheckbox, menuitemradio, option, radio, switch, tab または treeitem。 (linkも許可されていますが、NOT RECOMMENDED。)

DPubロール: doc-backlink, doc-biblioref, doc-glossref または doc-noteref

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

href属性を持つa要素にaria-disabled="true"を使用することは NOT RECOMMENDEDです。

リンクをプログラム的に「無効」と伝える必要がある場合は、 href属性を削除してください
ahref がない場合 role=generic

任意のrole(ただし genericSHOULD NOT

命名禁止

それ以外は、グローバル aria-*属性および許可されるロールに適用可能なあらゆるaria-*属性。

abbr 対応するロールなし

任意のrole

命名禁止

それ以外は、グローバル aria-*属性と許可されるロールに適用可能なあらゆるaria-*属性。

address role=group

任意のrole(ただし groupNOT RECOMMENDED

それ以外は、グローバル aria-*属性および許可されるロールに適用可能なあらゆるaria-*属性。

areahref がある場合 role=link

他のrole不可linkは許可されますが、NOT RECOMMENDED

グローバルaria-*属性と、 linkロールに適用可能なあらゆるaria-*属性。

areahref がない場合 role=generic

ロール: button または link。 (genericも許可されますが、SHOULD NOT

命名禁止

それ以外は、グローバル aria-*属性と許可されるロールに適用可能なあらゆるaria-*属性。

article role=article

ロール: application, document, feed, main, none, presentation または region。 (articleも許可されていますが、NOT RECOMMENDED。)

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

aside role=complementary

ロール: feed, none, note, presentation, region または search。 (complementaryも許可されていますが、NOT RECOMMENDED。)

DPubロール: doc-dedication, doc-example, doc-footnote, doc-glossary, doc-pullquote または doc-tip

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

audio 対応するロールなし

ロール: application

グローバルaria-*属性と、 applicationロールに適用可能なあらゆるaria-*属性。

自律型カスタム要素

著者が定義した ElementInternals から公開されるロール

それ以外は role=generic

ElementInternalsでロールが定義されている場合は、 role指定不可

それ以外は、任意のrole(ただし genericSHOULD NOT

命名禁止genericとして公開される場合、または命名を禁止する他のロールとして公開される場合)

それ以外は、グローバル aria-*属性と許可されるロールに適用可能なあらゆるaria-*属性。

b role=generic

任意のrole(ただし genericSHOULD NOT

命名禁止

それ以外は、グローバル aria-*属性と許可されるロールに適用可能なあらゆるaria-*属性。

base 対応するロールなし

rolearia-*属性の指定不可

bdi role=generic

任意のrole(ただし genericSHOULD NOT

命名禁止

それ以外は、グローバル aria-*属性と許可されるロールに適用可能なあらゆるaria-*属性。

bdo role=generic

任意のrole(ただし genericSHOULD NOT

命名禁止

それ以外は、グローバル aria-*属性と許可されるロールに適用可能なあらゆるaria-*属性。

blockquote role=blockquote

任意のrole(ただし blockquoteNOT RECOMMENDED

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

body role=generic

他のrole不可genericSHOULD NOT

命名禁止

それ以外は、グローバル aria-*属性 genericロールで許可されるもの)。ただし、著者はbody要素にaria-hidden=trueを指定してはMUST NOT

br 対応するロールなし

ロール: none または presentation

著者はMAYbr要素にaria-hidden属性を指定できます。 それ以外のaria-*属性は許可されません。

button

role=button

buttonselect要素の最初の子である場合、その要素はinertになります。

ロール: checkbox, combobox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab, または treeitem。 (buttonも許可されていますが、NOT RECOMMENDED。)

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。


buttonselect要素の最初の子である場合: rolearia-*属性の指定不可

canvas 対応するロールなし

任意のrole

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

caption role=caption

他のrole不可captionは許可されますが、NOT RECOMMENDED

命名禁止

それ以外は、グローバル aria-*属性

cite 対応するロールなし

任意のrole

命名禁止

それ以外は、グローバル aria-*属性と許可されるロールに適用可能なあらゆるaria-*属性。

code role=code

任意のrole(ただし codeNOT RECOMMENDED

命名禁止

それ以外は、グローバル aria-*属性と許可されるロールに適用可能なあらゆるaria-*属性。

col 対応するロールなし

rolearia-*属性の指定不可

colgroup 対応するロールなし

rolearia-*属性の指定不可

data role=generic

任意のrole(ただし genericSHOULD NOT

命名禁止

それ以外は、グローバル aria-*属性と許可されるロールに適用可能なあらゆるaria-*属性。

datalist role=listbox

他の role不可listboxは許可されますが、NOT RECOMMENDED

aria-*属性は不可

dd 対応するロールなし

他のrole不可

グローバルaria-*属性と、 definitionロールに適用可能なあらゆるaria-*属性。

del role=deletion

任意のrole(ただし deletionNOT RECOMMENDED

命名禁止

それ以外は、グローバル aria-*属性と許可されるロールに適用可能なあらゆるaria-*属性。

details role=group

他のrole不可groupは許可されますが、NOT RECOMMENDED

グローバルaria-*属性と、 groupロールに適用可能なあらゆるaria-*属性。

dfn role=term

任意のrole(ただし termNOT RECOMMENDED

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

dialog role=dialog

ロール: alertdialog。 (dialogも許可されていますが、NOT RECOMMENDED。)

グローバルaria-*属性と、 dialogロールに適用可能なあらゆるaria-*属性。

div role=generic

直接の親が dl 要素である場合は、 presentation または none のみ。そうでなければ、 任意のrole(ただし genericSHOULD NOT

命名禁止

それ以外は、グローバル aria-*属性と許可されるロールに適用可能なあらゆるaria-*属性。

dl 対応するロールなし

ロール: group, list, none または presentation

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

dt 対応するロールなし

ロール: listitem

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

em role=emphasis

任意のrole(ただし emphasisNOT RECOMMENDED

命名禁止

それ以外は、グローバル aria-*属性と許可されるロールに適用可能なあらゆるaria-*属性。

embed 対応するロールなし

ロール: application, document, img, image, none または presentation

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

fieldset role=group

ロール: none, presentation または radiogroup。 (groupも許可されていますが、NOT RECOMMENDED。)

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

figcaption 対応するロールなし

ロール: group, none または presentation

命名禁止

それ以外は、グローバル aria-*属性と許可されるロールに適用可能なあらゆるaria-*属性。

figure role=figure

figureに有効なfigcaption子孫がある場合:
他のrole不可figureは許可されますが、NOT RECOMMENDED

DPubロール: doc-example

それ以外で、figurefigcaption子孫がない場合:
任意のrole(ただし figureNOT RECOMMENDED

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

footer

先祖にarticleasidemainnavsection要素、またはrole=articlecomplementarymainnavigationregionを持つ要素が ない場合は role=contentinfo

それ以外の場合は role=generic

ロール: group, presentation または none。 (先祖がarticleasidemainnavsection要素や、role=articlecomplementarymainnavigationregionの要素でない場合は role=contentinfoも許可されますが、NOT RECOMMENDED。 それ以外の場合、role=genericも許可されますが、SHOULD NOT。)

DPubロール: doc-footnote

命名禁止genericとして公開される場合)

それ以外は、グローバル aria-*属性と許可されるロールに適用可能なあらゆるaria-*属性。

form

role=form

ロール: none, presentation または search。 (formも許可されていますが、NOT RECOMMENDED。)

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

formは、アクセシブル名が与えられない限り、 ランドマーク領域として公開されません。

フォーム関連カスタム要素

著者が定義した ElementInternals から公開されるロール

それ以外は role=generic

ElementInternalsでロールが定義されている場合は、 role指定不可

それ以外の場合のフォーム関連ロール: button, checkbox, combobox, listbox, progressbar, group, radio, radiogroup, searchbox, slider, spinbutton, switch または textbox。 (genericも許可されていますが、SHOULD NOT。)

命名禁止genericとして公開される場合)

それ以外は、グローバル aria-*属性と許可されるロールに適用可能なあらゆるaria-*属性。

h1 ~ h6 role=headingaria-level = 要素のタグ名の数字

ロール: none, presentation または tab。 (headingも許可されていますが、NOT RECOMMENDED。)

DPubロール: doc-subtitle

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

head 対応するロールなし

rolearia-*属性の指定不可

header

先祖にarticleasidemainnavsection要素、 またはrole=articlecomplementarymainnavigationregionのいずれかを持つ要素が ない場合は role=banner

それ以外の場合は role=generic

ロール: group, none または presentation。 (先祖にarticleasidemainnavsection要素や、role=articlecomplementarymainnavigationregionの要素がない場合は role=bannerも許可されますが、NOT RECOMMENDED。 それ以外の場合、role=genericも許可されますが、SHOULD NOT。)

命名禁止genericとして公開される場合)

それ以外は、グローバル aria-*属性と許可されるロールに適用可能なあらゆるaria-*属性。

hgroup role=group

任意のrole(ただし groupNOT RECOMMENDED

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

hr role=separator

ロール: none または presentation。 (separatorも許可されていますが、NOT RECOMMENDED。)

DPubロール: doc-pagebreak

グローバルaria-*属性と、 separatorロールに適用可能なあらゆるaria-*属性。

html role=generic

他のrole不可documentまたは genericは許可されますが、NOT RECOMMENDED

aria-*属性は不可

i role=generic

任意のrole(ただし genericSHOULD NOT

命名禁止

それ以外は、グローバル aria-*属性と許可されるロールに適用可能なあらゆるaria-*属性。

iframe 対応するロールなし

ロール: application, document, img, image, none または presentation

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

img
imgに空でない altalt="some text")がある、または他の imgの命名手段 によりアクセシブル名が付与されている場合、あるいはimgaltがなく名前も与えられていない場合:
role=img or image

ロール: button, checkbox, link, math, menuitem, menuitemcheckbox, menuitemradio, meter, option, progressbar, radio, scrollbar, separator, slider, switch, tab または treeitem。 (img or imageも許可されていますが、NOT RECOMMENDED。)

DPubロール: doc-cover

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

img (アクセシブル名なし)

imgに空のaltalt="") があり、他の imgの命名手段がない場合:
role=nonerole=presentation

imgalt属性がなく、 他のimgの命名手段もない場合:
role=img or image

imgalt属性もアクセシブル名もない場合: 以下以外の role不可role=none または presentation。 (role=img or imageも許可されていますが、NOT RECOMMENDED。)

imgに空のalt=""があり、アクセシブル名を与える aria-labelまたはaria-labelledbyがない場合: 以下以外の role不可role=none または presentation(いずれもNOT RECOMMENDED)。

aria-*属性は不可aria-hidden="true"を除く)。

それ以外で、imgに著者定義のアクセシブル名がある場合は、 アクセシブル名のあるimgを参照してください。

input type=button role=button

ロール: checkbox, combobox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab, または treeitem。 (buttonも許可されていますが、NOT RECOMMENDED。)

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

input type=checkbox role=checkbox

ロール: menuitemcheckbox, option または switchbuttonaria-pressedと併用する場合)。 (checkboxも許可されていますが、NOT RECOMMENDED。)

著者はMUST NOT input type=checkbox要素に aria-checked属性を使用してはいけません。

それ以外は、あらゆるグローバル aria-*属性および許可されるロールに適用可能なあらゆるaria-*属性。

HTMLの checked 属性は、type=checkbox上でmenuitemcheckboxoptionswitchロールに対して aria-checked属性の代わりに使用できます。

input type=color 対応するロールなし

他のrole不可

グローバルaria-*属性aria-disabled属性。

input type=date 対応するロールなし

他のrole不可

グローバルaria-*属性と、 textboxロールに適用可能なあらゆるaria-*属性。

input type=datetime-local 対応するロールなし

他のrole不可

グローバルaria-*属性と、 textboxロールに適用可能なあらゆるaria-*属性。

input type=emaillist 属性なし role=textbox

他のrole不可textboxは許可されますが、NOT RECOMMENDED

グローバルaria-*属性と、 textboxロールに適用可能なあらゆるaria-*属性。

input type=file 対応するロールなし

他のrole不可

グローバルaria-*属性aria-disabledaria-invalidaria-required属性。

input type=hidden 対応するロールなし

rolearia-*属性の指定不可

input type=image role=button

次のロールは許可されますが、NOT RECOMMENDEDです: button, checkbox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab または treeitem

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

可能であれば、指定したロールを許可する別のHTML要素(例:button要素)を使用することを 著者はSHOULD検討すべきです。

input type=month 対応するロールなし

他のrole不可

グローバルaria-*属性と、 textboxロールに適用可能なあらゆるaria-*属性。

input type=number role=spinbutton

他のrole不可spinbuttonは許可されますが、NOT RECOMMENDED

グローバルaria-*属性と、 spinbuttonロールに適用可能なあらゆるaria-*属性。

input type=password 対応するロールなし

他のrole不可

グローバルaria-*属性と、 textboxロールに適用可能なあらゆるaria-*属性。

input type=radio role=radio

ロール: menuitemradio。 (radioも許可されていますが、NOT RECOMMENDED。)

著者はMUST NOT input type=radio要素にaria-checked属性を使用してはいけません。

それ以外は、あらゆるグローバル aria-*属性および許可されるロールに適用可能なあらゆるaria-*属性。

HTMLの checked 属性は、type=radio上のmenuitemradioロールに対して aria-checkedの代替として使用できます。

input type=range role=slider

他のrole不可sliderは許可されますが、NOT RECOMMENDED

著者はSHOULD NOTinput type=rangearia-valuemax または aria-valuemin属性を使用すべきではありません。

それ以外は、あらゆる グローバルaria-*属性 およびsliderロールに適用可能なその他のaria-*属性。

input type=reset role=button

次のロールは許可されますが、NOT RECOMMENDEDです: button, checkbox, combobox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab または treeitem

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

可能であれば、指定したロールを許可する別のHTML要素(例:button要素)を使用することを 著者はSHOULD検討すべきです。

input type=search、 かつ list 属性なし role=searchbox

他のrole不可searchboxは許可されますが、NOT RECOMMENDED

グローバルaria-*属性と、 searchboxロールに適用可能なあらゆるaria-*属性。

input type=submit role=button

次のロールは許可されますが、NOT RECOMMENDEDです: button, checkbox, combobox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab または treeitem

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

可能であれば、指定したロールを許可する別のHTML要素(例:button要素)を使用することを 著者はSHOULD検討すべきです。

input type=tel、 かつ list 属性なし role=textbox

他のrole不可textboxは許可されますが、NOT RECOMMENDED

グローバルaria-*属性と、 textboxロールに適用可能なあらゆるaria-*属性。

input type=text またはtypeが欠落・無効で、 list 属性なし role=textbox

ロール: combobox, searchbox または spinbutton。 (textboxも許可されていますが、NOT RECOMMENDED。)

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

input type=textsearchtelurlemail、 またはtypeが欠落・無効で、 list 属性あり role=combobox

他のrole不可comboboxは許可されますが、NOT RECOMMENDED

指定のinputlist属性がある場合、著者はSHOULD NOT aria-haspopup属性を使用すべきではありません。

それ以外は、あらゆる グローバルaria-*属性 およびcomboboxロールに適用可能なその他のaria-*属性。

input type=time 対応するロールなし

他のrole不可

グローバルaria-*属性と、 textboxロールに適用可能なあらゆるaria-*属性。

input type=urllist 属性なし role=textbox

他のrole不可textboxは許可されますが、NOT RECOMMENDED

グローバルaria-*属性と、 textboxロールに適用可能なあらゆるaria-*属性。

input type=week 対応するロールなし

他のrole不可

グローバルaria-*属性と、 textboxロールに適用可能なあらゆるaria-*属性。

ins role=insertion

任意のrole(ただし insertionNOT RECOMMENDED

命名禁止

それ以外は、グローバル aria-*属性と許可されるロールに適用可能なあらゆるaria-*属性。

kbd 対応するロールなし

任意のrole

命名禁止

グローバルaria-*属性と、 許可されるロールに適用可能なあらゆるaria-*属性。

label 対応するロールなし

label要素が暗黙または明示的に ラベル付け可能な要素に関連付けられている場合、 role指定不可

それ以外で、labelが要素に関連付けられていない場合は 任意のrole(ただし genericSHOULD NOT

命名禁止genericとして公開される場合、 または命名を禁止する他のロールとして公開される場合)

それ以外は、グローバル aria-*属性

legend 対応するロールなし

role指定不可

命名禁止

それ以外は、グローバル aria-*属性

li

liがリスト要素 (ul, ol, menu) の子である場合は、role=listitem

それ以外で、liがリスト要素の子でない場合は、 role=genericとして公開されます。

他の role不可listitemを除く。これは NOT RECOMMENDED)、 親のリスト要素が暗黙または明示的にlistロールを持つ場合。

それ以外で、親のリスト要素が暗黙または明示的なlistロールを公開しない場合は、 任意のrole

リスト要素に許可されるロールは、ulol、または menuを参照してください。

グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性。

著者は次の非推奨のDPubロールを使用してはSHOULD NOTdoc-biblioentrydoc-endnote

link 対応するロールなし

roleまたはaria-*属性の指定不可

main role=main

他のrole不可mainは許可されますが、 NOT RECOMMENDED)。

グローバル aria-* 属性 およびmainロールに適用可能な任意のaria-*属性。

map 対応するロールなし

roleまたはaria-*属性の指定不可

mark 対応するロールなし

任意のrole

命名禁止

それ以外は、グローバル aria-*属性 および許可されるロールに適用可能な任意のaria-*属性。

math role=math

他のrole不可mathは許可されますが、 NOT RECOMMENDED)。

グローバル aria-* 属性 およびmathロールに適用可能な任意のaria-*属性。

menu role=list

ロール: group, listbox, menu, menubar, none, presentation, radiogroup, tablist, toolbar または tree。 (listも許可されますが、 NOT RECOMMENDED。)

グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性。

著者は非推奨directoryロールを使用してはSHOULD NOT

meta 対応するロールなし

roleまたはaria-*属性の指定不可

meter role=meter

他のrole不可meterは許可されますが、 NOT RECOMMENDED)。

著者はSHOULD NOTmeter要素でaria-valuemaxaria-valuemin属性を使用すべきではありません。

それ以外は、任意の グローバル aria-* 属性 およびmeterロールに適用可能なその他のaria-*属性。

nav role=navigation

ロール: menu, menubar, none, presentation または tablist。 (navigationも許可されますが、 NOT RECOMMENDED。)

DPubロール: doc-indexdoc-pagelist または doc-toc

グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性。

noscript 対応するロールなし

roleまたはaria-*属性の指定不可

object 対応するロールなし

ロール: application, document, img または image

グローバル aria-* 属性および 許可されるロールに適用可能な任意のaria-*属性。

ol role=list

ロール: group, listbox, menu, menubar, none, presentation, radiogroup, tablist, toolbar または tree。 (listも許可されますが、 NOT RECOMMENDED。)

グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性。

著者は非推奨directoryロールを使用してはSHOULD NOT

optgroup role=group

他のrole不可groupは許可されますが、 NOT RECOMMENDED)。

グローバル aria-* 属性 およびgroupロールに適用可能な任意のaria-*属性。

option 要素がlist of options に含まれている、または datalist の候補を表している場合 role=option

他のrole不可optionは許可されますが、 NOT RECOMMENDED)。

著者はSHOULD NOToption要素に aria-selected属性を使用すべきではありません。

グローバル aria-* 属性および optionロールに適用可能なその他のaria-*属性。

output role=status

任意のrole(ただし statusNOT RECOMMENDED)。

グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性。

p role=paragraph

任意のrole(ただし paragraphNOT RECOMMENDED)。

命名禁止

それ以外は、グローバル aria-*属性 および許可されるロールに適用可能な任意のaria-*属性。

param 対応するロールなし

roleまたはaria-*属性の指定不可

picture 対応するロールなし

role指定不可

著者はMAYpicture要素にaria-hidden 属性を指定できます。 それ以外のaria-*属性は許可されません。

pre role=generic

任意のrole(ただし genericSHOULD NOT 使用すべきではありません)。

命名禁止

それ以外は、グローバル aria-*属性 および許可されるロールに適用可能な任意のaria-*属性。

progress role=progressbar

他のrole不可progressbarは許可されますが、 NOT RECOMMENDED)。

著者はSHOULD NOTprogress要素でaria-valuemax属性を使用すべきではありません。

それ以外は、 任意のグローバル aria-* 属性 およびprogressbarロールに適用可能なその他のaria-*属性。

q role=generic

任意のrole(ただし genericSHOULD NOT 使用すべきではありません)。

命名禁止

それ以外は、グローバル aria-*属性 および許可されるロールに適用可能な任意のaria-*属性。

rp 対応するロールなし

任意のrole

命名禁止

グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性。

rt 対応するロールなし

任意のrole

命名禁止

それ以外は、グローバル aria-*属性 および許可されるロールに適用可能な任意のaria-*属性。

ruby 対応するロールなし

任意のrole

グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性。

s role=deletion

任意のrole(ただし deletionNOT RECOMMENDED)。

命名禁止

それ以外は、グローバル aria-*属性 および許可されるロールに適用可能な任意のaria-*属性。

samp role=generic

任意のrole(ただし genericSHOULD NOT 使用すべきではありません)。

命名禁止

それ以外は、グローバル aria-*属性 および許可されるロールに適用可能な任意のaria-*属性。

script 対応するロールなし

roleまたはaria-*属性の指定不可

search

role=search

ロール: form, group, none, presentation または region。 (searchも許可されますが、 NOT RECOMMENDED。)

グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性。

section

section 要素に アクセシブル名がある場合は role=region

それ以外は、role=generic

ロール: alert, alertdialog, application, banner, complementary, contentinfo, dialog, document, feed, group, log, main, marquee, navigation, none, note, presentation, search, status または tabpanel。 (role=regionも許可されますが、 NOT RECOMMENDEDrole=genericSHOULD NOT使用すべきではありません。)

DPubロール: doc-abstractdoc-acknowledgmentsdoc-afterworddoc-appendixdoc-bibliographydoc-chapterdoc-colophondoc-conclusiondoc-creditdoc-creditsdoc-dedicationdoc-endnotesdoc-epigraphdoc-epiloguedoc-erratadoc-exampledoc-foreworddoc-glossarydoc-indexdoc-introductiondoc-noticedoc-pagelistdoc-partdoc-prefacedoc-prologuedoc-pullquotedoc-qnadoc-toc

グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性。

selectmultiple属性がなく、size 属性の値が1より大きくない場合) role=combobox

ロール:menu。 (comboboxも許可されますが、 NOT RECOMMENDED。)

著者はSHOULD NOTselect要素で aria-multiselectable属性を使用すべきではありません。

それ以外は、 任意のグローバル aria-* 属性 およびcomboboxまたはmenuロールに適用可能なその他のaria-*属性。

selectmultiple属性がある、またはsize属性の値が 1より大きい場合) role=listbox

他のrole不可listboxは許可されますが、 NOT RECOMMENDED)。

著者はSHOULD NOTselect要素で aria-multiselectable属性を使用すべきではありません。

それ以外は、 任意のグローバル aria-* 属性 およびlistboxロールに適用可能なその他のaria-*属性。

selectedcontent role=generic

select要素の有効な子孫として使用される場合:rolearia-*属性は不可

それ以外で、その要素がカスタマイズ可能なselect要素の button部分の子として本来の文脈外で使用される場合は、任意のrole。 ただしgenericNOT RECOMMENDED

命名禁止

それ以外は、グローバル aria-*属性 および許可されるロールに適用可能な任意のaria-*属性。

slot 対応するロールなし

roleまたはaria-*属性の指定不可

small role=generic

任意のrole(ただし genericSHOULD NOT 使用すべきではありません)。

命名禁止

それ以外は、グローバル aria-*属性 および許可されるロールに適用可能な任意のaria-*属性。

source 対応するロールなし

roleまたはaria-*属性の指定不可

span role=generic

任意のrole(ただし genericSHOULD NOT 使用すべきではありません)。

命名禁止

それ以外は、グローバル aria-*属性 および許可されるロールに適用可能な任意のaria-*属性。

strong role=strong

任意のrole(ただし strongNOT RECOMMENDED)。

命名禁止

それ以外は、グローバル aria-*属性 および許可されるロールに適用可能な任意のaria-*属性。

style 対応するロールなし

roleまたはaria-*属性の指定不可

sub role=subscript

任意のrole(ただし subscriptNOT RECOMMENDED)。

命名禁止

それ以外は、グローバル aria-*属性 および許可されるロールに適用可能な任意のaria-*属性。

summary

対応するロールなし

多くの(ただしすべてではない)ユーザーエージェントは、summary要素を暗黙の ARIA role=buttonとして公開します。

role指定不可summary要素が 親のdetailsのsummary である場合)。

グローバル aria-* 属性aria-disabled、およびaria-haspopup属性。

それ以外では、著者はMAY任意の roleを指定でき、さらに グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性を使用できます。

sup role=superscript

任意のrole(ただし superscriptNOT RECOMMENDED)。

命名禁止

それ以外は、グローバル aria-*属性 および許可されるロールに適用可能な任意のaria-*属性。

SVG role=graphics-documentSVG AAMで定義)

任意のrole(ただし graphics-documentNOT RECOMMENDED)。

グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性。

table role=table

任意のrole(ただし tableNOT RECOMMENDED)。

グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性。

tbody role=rowgroup

任意のrole(ただし rowgroupNOT RECOMMENDED)。

グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性。

td

先祖のtable要素がrole=tableとして公開される場合は role=cell

先祖のtable要素がrole=gridまたはtreegridとして公開される場合は role=gridcell

先祖のtable要素がrole=tablegridtreegridとして公開されない場合は 対応するロールなし

先祖のtable要素がrole=tablegrid、またはtreegridを持つ場合、 次のもの以外はrole指定不可

  • 先祖のtable要素がrole=tableとして公開される場合は、 cell が許可されますが、NOT RECOMMENDED
  • 先祖のtable要素がrole=gridまたは treegridとして公開される場合は、 gridcell が許可されますが、NOT RECOMMENDED

それ以外で、先祖のtable要素がrole=tablegridtreegridとして公開されない場合は、 任意のrole

グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性。

template 対応するロールなし

roleまたはaria-*属性の指定不可

textarea role=textbox

他のrole不可textboxは許可されますが、 NOT RECOMMENDED)。

グローバル aria-* 属性 およびtextboxロールに適用可能な任意のaria-*属性。

tfoot role=rowgroup

任意のrole(ただし rowgroupNOT RECOMMENDED)。

グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性。

th

先祖のtable要素がrole=tableとして公開される場合は role=columnheaderrowheader または cell

先祖のtable要素がrole=gridまたはtreegridとして公開される場合は role=columnheaderrowheader または gridcell

先祖のtable要素がrole=tablegridtreegridとして公開されない場合は 対応するロールなし

先祖のtable要素がrole=tablegrid、またはtreegridを持つ場合、 次のもの以外はrole指定不可

  • 先祖のtable要素がrole=tableとして公開される場合は、 columnheaderrowheader および cell が許可されますが、NOT RECOMMENDED
  • 先祖のtable要素がrole=gridまたは treegridとして公開される場合は、 columnheaderrowheader または gridcell が許可されますが、NOT RECOMMENDED

それ以外で、先祖のtable要素がrole=tablegridtreegridとして公開されない場合は、 任意のrole

グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性。

thead role=rowgroup

任意のrole(ただし rowgroupNOT RECOMMENDED)。

グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性。

time role=time

任意のrole(ただし timeNOT RECOMMENDED)。

命名禁止

それ以外は、グローバル aria-*属性 および許可されるロールに適用可能な任意のaria-*属性。

title 対応するロールなし

roleまたはaria-*属性の指定不可

tr role=row

先祖のtable要素がrole=tablegrid、またはtreegridを持つ場合は、 他のrole不可rowNOT RECOMMENDED); それ以外の場合は 任意のrole(ただし rowNOT RECOMMENDED)。

グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性。

track 対応するロールなし

roleまたはaria-*属性の指定不可

u role=generic

任意のrole(ただし genericSHOULD NOT 使用すべきではありません)。

命名禁止

それ以外は、グローバル aria-*属性 および許可されるロールに適用可能な任意のaria-*属性。

ul role=list

ロール: group, listbox, menu, menubar, none, presentation, radiogroup, tablist, toolbar または tree。 (listも許可されますが、 NOT RECOMMENDED。)

グローバル aria-* 属性 および許可されるロールに適用可能な任意のaria-*属性。

著者は非推奨directoryロールを使用してはSHOULD NOT

var 対応するロールなし

任意のrole

命名禁止

それ以外は、グローバル aria-*属性 および許可されるロールに適用可能な任意のaria-*属性。

video 対応するロールなし

ロール:application

グローバル aria-* 属性 およびapplicationロールに適用可能な任意のaria-*属性。

wbr 対応するロールなし

ロール: none または presentation

著者はMAYwbr要素にaria-hidden 属性を指定できます。 それ以外のaria-*属性は許可されません。

表の第2列で 対応するロールなし とマークされた要素は、 暗黙の ARIA セマンティクスは持ちませんが、 意味自体はあり、その意味は ARIA が提供しないロール・状態・プロパティで表現されうるほか、 アクセシビリティ API を通じて支援技術の利用者に公開される場合があります。 そのため、著者は列挙された要素のセマンティクスを上書きするのではなく、 role 属性を divspan のようなセマンティクス的に中立な要素に追加することが推奨されます。

本書で提供している内容を超えて、HTML で ARIA を使用する際の指針として、 次の文書を参照することを推奨します。

  • Using ARIA - Accessible Rich Internet Applications 仕様を用いて HTML 要素にアクセシビリティ情報を追加する方法に関する、著者向けの実践ガイド。
  • WAI-ARIA Authoring Practices 1.2 - Accessible Rich Internet Applications を理解し、 実装するための著者向けガイド。

4.1 要素に名前を付けるための ARIA 属性の使用要件

著者は、暗黙または明示的に、著者による命名が許可される ARIA ロールを持つ要素に対して、 aria-label および aria-labelledby 属性を用いてアクセシブル名を指定しても MAY です。Accessible Rich Internet Applications (WAI-ARIA) 1.2 は、著者による命名が許可されるロールと、 著者による命名が禁止されるロールを定義しています。

著者は、暗黙の WAI-ARIA ロールが命名不可である要素に対して aria-labelaria-labelledby を指定しては MUST NOT です。暗黙の WAI-ARIA ロールが著者による命名を禁止する HTML 要素は、 4. HTML における ARIA 属性使用の文書適合要件で示されています。

次のマークアップ例は、著者による命名が禁止されている暗黙の ARIA ロールを持つ HTML 要素の例を示します。

14: 著者による命名が禁止されている暗黙の ARIA ロールを持つ要素
<!-- 次のようにしてはなりません! -->
<p aria-label="...">...</p>

<span aria-label="...">...<span>

<code aria-label="...">...<code>

<div aria-labelledby="...">...</div>

次のマークアップ例は、著者による命名が許可される明示的な WAI-ARIA ロールを持つ要素を示します。 これらの要素には明示的なロールが指定されているため、aria-label および aria-labelledby 属性が許可されます。

15: 著者による命名が許可される明示的な ARIA ロールを持つ要素
<p role="link" tabindex="0" aria-label="...">...</p>

<span role="button" tabindex="0" aria-label="...">...<span>

<div role="article" aria-labelledby="...">...</div>

4.2 同等の HTML 属性の代わりに ARIA 属性を使用する際の要件

特に断りがない限り、著者は aria-* 属性のセマンティクスが想定される HTML 要素において、 HTML の同等属性の代わりに aria-* 属性を使用しても MAY です。 例えば、著者は button 要素に aria-disabled=true を指定し、機能的に button を無効化するために必要なスクリプトを実装することができます。 これは disabled 属性を用いる代わりの方法です。

WAI-ARIA のホスト言語セマンティクスとの競合で述べられているように、 HTML 要素が aria-* 属性とホスト言語(HTML)の同等属性を両方使用する場合、 ユーザーエージェントは MUST WAI-ARIA 属性を無視し、 同じ暗黙の ARIA セマンティクスを持つ ネイティブ HTML 属性を優先します。このため、著者は要素にネイティブの HTML 属性と同等の aria-* 属性の両方を指定すべきでは SHOULD NOT ありません。 それぞれの属性について、著者向けの追加要件がないか確認してください。

次の表は、aria-* 属性に同等性を持つ HTML 要素とその属性を示します。

第1列の各セル(言語機能:要素と属性)は、同じ行の第2列に示す ARIA のセマンティクス(状態・プロパティ)を暗黙に意味します。 各行の第3列は、ネイティブの HTML 機能の使い方と、同じ 暗黙の ARIA セマンティクス を提供する aria-* 属性の使用要件を定義します。

HTML 機能ごとの ARIA 属性使用ルール
HTML 機能

暗黙の ARIA セマンティクス

HTML 機能と aria-* 属性の作成ガイダンス
checked 属性が許可されている任意の要素 aria-checked="true"

HTML で checked 属性が許可されている任意の要素には、 checked 属性を使用してください。 indeterminate IDL 属性を用いて、input type=checkbox 要素の「混合(mixed)」状態を示してください。

著者は、要素の checkedness や未確定のチェック状態が aria-checked の現在値と矛盾しうる任意の要素に対して、 aria-checked 属性を使用しては MUST NOT です。

著者は、当該属性を許可する WAI-ARIA ロールを持つその他の要素に対しては、 aria-checked 属性を使用しても MAY です。

disabled 属性が許可されている任意の要素( optiondisabled および optgroupdisabled を含む) aria-disabled="true"

HTML で disabled 属性が許可されている任意の要素には、 disabled 属性を使用してください。

著者は、HTML で disabled 属性が許可されている任意の要素、 または aria-disabled 属性を許可する WAI-ARIA ロールを持つ任意の要素に対して、 aria-disabled 属性を使用しても MAY です。

著者は、disabled 属性も併せて持つ要素に対して aria-disabled="true" を使用すべきでは SHOULD NOT ありません。

著者は、disabled 属性も併せて持つ要素に対して aria-disabled="false" を使用しては MUST NOT です。

hidden 属性を持つ任意の要素 aria-hidden="true"

著者は、グローバル aria-* 属性の指定が許可される任意の HTML 要素に対して aria-hidden 属性を使用しても MAY です。ただし、フォーカス可能な要素と body 要素は例外です。

一般に、hidden 属性も指定されている要素に aria-hidden="true" を使用することは NOT RECOMMENDED です。 ただし、hidden 属性が until-found 状態で指定されている要素に aria-hidden="true" を使用しては MUST NOT です。

フォーカス可能要素とは、キーボードやポインティングデバイスでフォーカスできる任意の要素です。 フォーカス可能要素は、必ずしもキーボードの Tab で移動できる要素とは限りません。 例えば、tabindex="-1" を持つ要素はフォーカス可能ですが、タブ移動可能ではありません。
hidden 属性を持つ要素に aria-hidden="true" を指定するのは、 よくても冗長にすぎません。悪い場合には、著者またはユーザースタイルシートによって hidden 属性の既定の UA スタイル display: none が意図的に上書きされていると、 コンテンツへのアクセスを妨げる可能性があります。 さらに、hidden 属性の値が until-found の場合、 aria-hidden=true を使用すると、ブラウザのページ内検索で見つかって視覚的に表示されたとしても、 支援技術の利用者にはこのコンテンツが見つけられなくなります。
placeholder 属性が許可されている任意の要素 aria-placeholder="..."

HTML で placeholder 属性が許可されている任意の要素には、 placeholder 属性を使用してください。

著者は、HTML で placeholder 属性が許可されている任意の要素、 または aria-placeholder 属性を許可する WAI-ARIA ロールを持つ任意の要素に対して、 aria-placeholder 属性を使用しても MAY です。

著者は、placeholder 属性も併せて持つ要素に対して aria-placeholder 属性を使用しては MUST NOT です。

max 属性が許可されている任意の要素: metermaxprogressmax、 そして inputmax aria-valuemax="..."

HTML で max 属性が許可されている任意の要素には、 max 属性を使用してください。

著者は、aria-valuemax 属性を許可する WAI-ARIA ロールを持つその他の要素に対して、 aria-valuemax を使用しても MAY です。

著者は、max 属性が許可される要素に対して aria-valuemax を使用すべきでは SHOULD NOT ありません。 代わりに max 属性を使用してください。

著者は、max 属性も併せて持つ要素に対して aria-valuemax を使用しては MUST NOT です。

min 属性が許可されている任意の要素: metermin および inputmin aria-valuemin="..."

HTML で min 属性が許可されている任意の要素には、 min 属性を使用してください。

著者は、aria-valuemin 属性を許可する WAI-ARIA ロールを持つその他の要素に対して、 aria-valuemin を使用しても MAY です。

著者は、min 属性が許可される要素に対して aria-valuemin を使用すべきでは SHOULD NOT ありません。 代わりに min 属性を使用してください。

著者は、min 属性も併せて持つ要素に対して aria-valuemin を使用しては MUST NOT です。

readonly 属性が許可されている任意の要素: inputreadonlytextareareadonly および フォーム関連 カスタム要素readonly を許可するもの aria-readonly="true"

HTML で readonly 属性が許可されている任意の要素には、 readonly 属性を使用してください。

著者は、当該属性を許可する WAI-ARIA ロールを持つ任意の要素に対して、 aria-readonly 属性を使用しても MAY です。

著者は、readonly 属性も併せて持つ任意の要素に対して aria-readonly="true" を使用すべきでは SHOULD NOT ありません。

著者は、readonly 属性も併せて持つ任意の要素に対して aria-readonly="false" を使用しては MUST NOT です。

contenteditable=true を持つ要素、または contenteditable 属性を持たないが、 もっとも近い先祖に contenteditable="true" を持つ要素。

これは isContentEditable IDL 属性と同等です。

aria-readonly="false" 著者は、isContentEditable="true" を持つ要素に aria-readonly="true" を設定しては MUST NOT です。
required 属性が許可されている任意の要素: inputrequiredtextarearequired、 および selectrequired aria-required="true"

HTML で required 属性が許可されている任意の要素には、 required 属性を使用してください。

著者は、HTML で required 属性が許可されている任意の要素、 または aria-required 属性を許可する WAI-ARIA ロールを持つ任意の要素に対して、 aria-required 属性を使用しても MAY です。

著者は、required 属性も併せて持つ任意の要素に対して aria-required="true" を使用すべきでは SHOULD NOT ありません。

著者は、required 属性も併せて持つ任意の要素に対して aria-required="false" を使用しては MUST NOT です。

colspan 属性が許可されている任意の要素:td および th aria-colspan="..."

HTML で colspan 属性が許可されている任意の要素には、 colspan 属性を使用してください。

著者は、colspan 属性も併せて持つ任意の要素に対して aria-colspan 属性を使用すべきでは SHOULD NOT ありません。

著者は、colspan 属性も併せて持つ任意の要素に対して、 両属性の値が一致しない状態で aria-colspan を使用しては MUST NOT です。

rowspan 属性が許可されている任意の要素: td および th aria-rowspan="..."

HTML で rowspan 属性が許可されている任意の要素には、 rowspan 属性を使用してください。

著者は、rowspan 属性も併せて持つ任意の要素に対して aria-rowspan 属性を使用すべきでは SHOULD NOT ありません。

著者は、rowspan 属性も併せて持つ任意の要素に対して、 両属性の値が一致しない状態で aria-rowspan を使用しては MUST NOT です。

4.3 廃止予定の ARIA のロール、状態、プロパティおよび属性に関する要件

ARIA 仕様の Deprecated Requirements 節では、ARIA 機能が廃止予定としてマークされている場合、新しいコンテンツでは当該機能を使用しないよう著者に助言しています。

次に示すロールおよび属性は、ARIA と DPub ARIA における廃止予定の機能です。適合性チェッカーはこれらの機能が廃止予定であることについて著者に対して警告しなければ MUST ありません。可能な限り、著者は廃止予定機能の代替手段を使用することが推奨されます。

4.3.1 廃止予定の ARIA ロール

directory ロールは WAI-ARIA 1.2 において廃止予定としてマークされています。実際には、directory ロールは、暗黙または明示的に list ロールを持つ要素と機能的な違いがありません。著者は HTML のネイティブなリスト要素、または ARIA の list のいずれかを使用することが推奨されます。

4.3.2 廃止予定の DPub ARIA ロール

doc-biblioentrydoc-endnote のロールは、Digital Publishing WAI-ARIA Module 1.1 において廃止予定としてマークされています。これは、暗黙または明示的に list ロールを持つ要素にとって有効な子ではないためです。著者は、これらのロールを用いなくても、標準的なリストおよび子の li 要素を使用できます。

4.3.3 廃止予定の ARIA 属性

aria-dropeffectaria-grabbed 属性は WAI-ARIA 1.1 において廃止されました。現時点では、提案されていた機能を置き換える ARIA の機能は存在しません。

4.4 ARIA のロール、状態およびプロパティ属性の大文字小文字に関する要件

著者は、すべての role のトークン値および、その値が トークンとして定義されている任意の状態またはプロパティ属性(aria-*)について、 ASCII 小文字を使用すべきである SHOULD

現代のブラウザーは rolearia-* の属性値を ASCII の大文字小文字を区別しない ものとして扱いますが、すべての支援技術がこれらの値を正しく解析するとは限りません。

相互運用性の問題を減らすために、aria-* および role の属性値には ASCII 小文字を使用することを強く推奨します。 さらに、著者は異なるブラウザーと支援技術の組み合わせで厳密にテストし、コンテンツが利用者に正しく公開されることを確認することが望まれます。

5. ARIAロールの許可される子孫

本節は参考(規範的でない)です。

次の表は、Kinds of content(コンテンツの種類)と 許可される子孫に関する情報( [HTML] 仕様で定義)を、等価な role を持つ要素へと対応付け(必要に応じて拡張)したものです。

第1列は、各 ARIA の role についての規範的な定義(Accessible Rich Internet Applications (WAI-ARIA) 1.2)へのリンクです。 第2列は、HTML 要素上で role が使用された場合に、その Kinds of content のどのカテゴリに属するかを示します。 第3列は、明示的な role が指定された要素に、どの種類の HTML 要素を子孫として含められるかを示し、しばしば同じ暗黙のロールを持つ HTML 要素と一致します。

例えば、 button 要素には暗黙の role=button があります。 HTML において button 要素は子孫として Phrasing content を許容し、 Interactive contenttabindex 属性を持つ子孫は許容しません。したがって、role=button が指定された任意の要素も 同じ子孫制限に従い、インタラクティブコンテンツの子孫や、tabindex が指定された要素、さらに(第3列で示される) インタラクティブコンテンツカテゴリに属するロール値を持つ要素を子孫として許容しません。

非適合な子孫の例
<!-- 適合性チェッカーはエラーを報告します -->
<button>
  <div role="button">...</div>
</button>

<div role="button">
  <button>...</button>
</div>

<div role="link">
  <textarea>...</textarea>
</div>

さらに、一部のロールについては、Accessible Rich Internet Applications (WAI-ARIA) 1.2 により許可される子孫に関する特定の要件が定義されています。これらは第3列(子孫の許容)において、 当該ロールについて「“Required Owned Elements” を参照」と明記して識別しています。

ARIAロールの許可される子孫
ロール コンテンツの種類 子孫の許容
alert Flow content Flow content ただし main 要素の子孫は不可。
alertdialog Flow content Flow content
application Flow content Flow content
article Flow content ただし main 要素の子孫は不可。
banner Flow content ただし mainheader、 および footer 要素の子孫は不可。
blockquote Flow content ただし main 要素の子孫は不可。
button Phrasing content ただし interactive content の子孫および tabindex 属性を持つ子孫は不可。
caption N/A Flow content ただし main および table 要素の子孫は不可。
cell N/A Flow content ただし main 要素の子孫は不可。
checkbox Phrasing content ただし interactive content の子孫および tabindex 属性を持つ子孫は不可。
code Phrasing content
columnheader N/A Flow content ただし headerfooter、 および main 要素の子孫は不可。
combobox Flow content ただし main 要素の子孫は不可。
complementary Flow content ただし main 要素の子孫は不可。
contentinfo Flow content ただし headerfooter、 および main 要素の子孫は不可。
definition Phrasing content
deletion Phrasing content
dialog Flow content Flow content
directory Flow content Flow content ただし main 要素の子孫は不可。
document Flow content Flow content
emphasis Phrasing content
feed Flow content Flow content ただし main 要素の子孫は不可。
figure Flow content ただし main 要素の子孫は不可。
form Flow content ただし 子孫に form 要素を含めないこと。
generic Flow content
grid ARIA の grid ロールに定義される 「Required Owned Elements」を参照。
gridcell Interactive content Flow content ただし main 要素の子孫は不可。
group Flow content
heading Phrasing content
img or image Phrasing content ただし interactive content の子孫は不可。
insertion Phrasing content
link Flow content ただし interactive content の子孫および tabindex 属性を持つ子孫は不可。
list Flow content ARIA の list ロールに定義される 「Required Owned Elements」を参照。
listbox ARIA の listbox ロールに定義される 「Required Owned Elements」を参照。
listitem N/A Flow content ただし main 要素の子孫は不可。
log Flow content Flow content ただし main 要素の子孫は不可。
main Flow content Flow content ただし main 要素の子孫は不可。
marquee Flow content Flow content ただし main 要素の子孫は不可。
math Flow content Flow content
menu ARIA の menu ロールに定義される 「Required Owned Elements」を参照。
menubar ARIA の menubar ロールに定義される 「Required Owned Elements」を参照。
menuitem Interactive content Phrasing content ただし interactive content の子孫および tabindex 属性を持つ子孫は不可。
menuitemcheckbox Interactive content Phrasing content ただし interactive content の子孫および tabindex 属性を持つ子孫は不可。
menuitemradio Interactive content Phrasing content ただし interactive content の子孫および tabindex 属性を持つ子孫は不可。
meter Phrasing content ただし meter 要素の子孫は不可。
navigation Flow content ただし main 要素の子孫は不可。
none N/A Transparent
note Flow content Flow content ただし main 要素の子孫は不可。
option Interactive content Phrasing content ただし interactive content の子孫および tabindex 属性を持つ子孫は不可。
paragraph Phrasing content
presentation N/A Transparent
progressbar Phrasing content ただし progress 要素の子孫は不可。
radio Phrasing content ただし interactive content の子孫および tabindex 属性を持つ子孫は不可。
radiogroup Flow content
region Flow content ただし main 要素の子孫は不可。
row N/A ARIA の row ロールに定義される 「Required Owned Elements」を参照。
rowgroup N/A ARIA の rowgroup ロールに定義される 「Required Owned Elements」を参照。
rowheader N/A Flow content ただし main 要素の子孫は不可。
scrollbar Interactive content(フォーカス可能な場合) Phrasing content
search Flow content ただし main 要素の子孫は不可。
searchbox Flow content ただし main 要素の子孫は不可。
separator Interactive content(フォーカス可能な場合) Phrasing content
slider Phrasing content
spinbutton Flow content ただし main 要素の子孫は不可。
status Flow content Flow content ただし main 要素の子孫は不可。
strong Phrasing content
subscript Phrasing content
superscript Phrasing content
switch Phrasing content ただし interactive content の子孫および tabindex 属性を持つ子孫は不可。
tab Interactive content Phrasing content ただし interactive content の子孫および tabindex 属性を持つ子孫は不可。
table ARIA の table ロールに定義される 「Required Owned Elements」を参照。
tablist ARIA の tablist ロールに定義される 「Required Owned Elements」を参照。
tabpanel Flow content Flow content
term Phrasing content Phrasing content
textbox Interactive content Flow content ただし main 要素の子孫は不可。
time Phrasing content
timer Flow content Flow content ただし main 要素の子孫は不可。
toolbar Flow content Flow content ただし main 要素の子孫は不可。
tooltip Flow content Phrasing content
tree Flow content ARIA の tree ロールに定義される 「Required Owned Elements」を参照。
treegrid Flow content ARIA の treegrid ロールに定義される 「Required Owned Elements」を参照。
treeitem Interactive content Phrasing content

6. 適合性

非規範的と明記されたセクションだけでなく、本仕様書中のすべての著作ガイドライン、図、例、および注記も非規範的です。それ以外のすべては規範的です。

本書における MAYMUSTMUST NOTNOT RECOMMENDEDSHOULD、および SHOULD NOT というキーワードは、 BCP 14 [RFC2119] [RFC8174] に記載された通りに解釈されます。 ただし、本書のようにすべて大文字で現れる場合のみです。

6.1 適合性チェック要件

HTMLドキュメント内のARIAのチェックに対応していることを謳う適合性チェッカーは、 MUST 本仕様で定義される通りに role および aria-* 属性の適合要件のチェックを実装しなければなりません。 対象はHTML要素です。

適合するドキュメントは、著者定義の role または aria-* 属性に関して、本仕様に従い各 HTML要素ごとに 著者が MAY とされた値以外を含んでは MUST NOT です。 適合性チェッカーは、著者が 暗黙のARIAセマンティクスと一致する role を明示的に付与している場合を エラーとしてフラグ付けすべきです SHOULD。 これは、これらロールを明示的に指定することは NOT RECOMMENDED だからです。

適合性チェッカーは、ドキュメントが本仕様に適合しない場合に、その独自の用語や重大度レベルを定義しても MAY です。

7. プライバシーとセキュリティに関する考慮事項

本節は非規範的です。

本仕様では [wai-aria-1.2]、 [dpub-aria-1.0]、 [HTML] の機能自体は定義しません。 代わりに、HTMLにおけるARIAのチェックに対応する適合性チェッカーのためのルールや指針、また著者へのガイドラインを提供します。

よって、本仕様は新たな機能を定義しないため、潜在的な懸念を導入するプライバシーやセキュリティへの影響は知られていません。

A. 参考文献

A.1 規範的参考文献

[accname-1.2]
Accessible Name and Description Computation 1.2. Bryan Garaventa; Melanie Sumner. W3C. 2025年6月17日. W3Cワーキングドラフト. URL: https://www.w3.org/TR/accname-1.2/
[dpub-aria-1.0]
Digital Publishing WAI-ARIA Module 1.0. Matt Garrish; Tzviya Siegman; Markus Gylling; Shane McCarron. W3C. 2017年12月14日. W3C勧告. URL: https://www.w3.org/TR/dpub-aria-1.0/
[dpub-aria-1.1]
Digital Publishing WAI-ARIA Module 1.1. Matt Garrish; Tzviya Siegman. W3C. 2025年6月12日. W3C勧告. URL: https://www.w3.org/TR/dpub-aria-1.1/
[html]
HTML Standard. Anne van Kesteren; Domenic Denicola; Dominic Farolino; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
[html-aam-1.0]
HTML Accessibility API Mappings 1.0. Scott O'Hara; Rahim Abdi. W3C. 2025年7月30日. W3Cワーキングドラフト. URL: https://www.w3.org/TR/html-aam-1.0/
[infra]
Infra Standard. Anne van Kesteren; Domenic Denicola. WHATWG. Living Standard. URL: https://infra.spec.whatwg.org/
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. 1997年3月. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc2119
[RFC8174]
Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. 2017年5月. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc8174
[svg-aam-1.0]
SVG Accessibility API Mappings. Amelia Bellamy-Royds; Ian Pouncey. W3C. 2018年5月10日. W3Cワーキングドラフト. URL: https://www.w3.org/TR/svg-aam-1.0/
[wai-aria-1.1]
Accessible Rich Internet Applications (WAI-ARIA) 1.1. Joanmarie Diggs; Shane McCarron; Michael Cooper; Richard Schwerdtfeger; James Craig. W3C. 2017年12月14日. W3C勧告. URL: https://www.w3.org/TR/wai-aria-1.1/
[wai-aria-1.2]
Accessible Rich Internet Applications (WAI-ARIA) 1.2. Joanmarie Diggs; James Nurthen; Michael Cooper; Carolyn MacLeod. W3C. 2023年6月6日. W3C勧告. URL: https://www.w3.org/TR/wai-aria-1.2/

A.2 参考情報

[using-aria]
Using ARIA. Steve Faulkner; David MacDonald. W3C. 2018年9月27日. W3Cワーキングドラフト. URL: https://www.w3.org/TR/using-aria/
[wai-aria-practices-1.2]
WAI-ARIA Authoring Practices 1.2. Matthew King; JaEun Jemma Ku; James Nurthen; Zoë Bijl; Michael Cooper. W3C. 2022年5月19日. W3Cワーキンググループノート. URL: https://www.w3.org/TR/wai-aria-practices-1.2/