HTML における ARIA

W3C 勧告

この文書の詳細情報
このバージョン:
https://www.w3.org/TR/2026/REC-html-aria-20260811/
最新の公開バージョン:
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-aria@w3.org に件名を [html-aria] … メッセージのトピック … として送信してください (アーカイブ)
正誤表:
正誤表があります

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


概要

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

この文書の位置付け

この節では、公開時点におけるこの 文書の位置付けについて説明します。現在の W3C 公開文書の一覧およびこの技術報告書の最新版は、 W3C の標準および草案 索引で確認できます。

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

この仕様が2021年12月09日に W3C 勧告となって以降、 次の実質的な変更が行われました:

この仕様に加えられた変更(参考情報および編集上の更新を含む)の完全な一覧については、 GitHub でクローズされたすべてのプルリクエストを 参照してください。

この文書は、アクセシブルなリッチ・インターネット アプリケーション・ワーキンググループによって、 勧告 トラックを用いた勧告として公開されました。

W3C は、この仕様をウェブの標準として 広く展開することを推奨します。

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

この文書は、 W3C 特許 方針の下で活動するグループによって作成されました。 W3C は、このグループの 成果物に関連して行われた 特許開示の公開一覧を管理しています。 そのページには、特許を開示するための 手順も記載されています。必須クレームを 含むと本人が考える特許について実際の 知識を有する個人は、 W3C 特許方針の第6節に従って、その情報を開示しなければなりません。

この文書には、 2025年8月18日付 W3C プロセス文書が適用されます。

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

著者は、WAI-ARIA で定義された要件に従って、 ARIA role および aria-* 属性を使用し、HTML 要素が公開する意味(セマンティクス)を 変更してもよいものとします。ただし、ARIA の機能が、特定の HTML 要素の 強いネイティブセマンティクス と競合する場合、または 暗黙の ARIA セマンティクス と等しい場合を除きます。HTML の 機能に関する暗黙の ARIA セマンティクスは、 HTML アクセシビリティ API マッピング 仕様によって定義されます。

本仕様で定義される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 の冗長なロール
<!-- このようにしないでください! -->
<button role="button">...</button>

同様に、以下では fieldset 要素に role=group を使用し、 main 要素に role=main を使用しています。 fieldset 要素は暗黙的に role=group として公開され、同様に main 要素も 暗黙的に role=main として公開されるため、これは不要です。

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という用語が含まれる場合、 その要素では任意の role 値を使用してもよいことを示します。ただし、 著者がこれらの要素に、その要素の暗黙のロール、 generic ロール、または ARIA により非推奨とされたロールを指定することは推奨されません。 第3列のセルに role なしという用語が含まれる場合、 著者は、暗黙の ARIA セマンティクスまたは HTML 要素のネイティブセマンティクスを 上書きしてはなりません

WAI-ARIA は、 禁止された状態およびプロパティを持つ ロールを特定しています。 これらのロールでは、著者が特定の WAI-ARIA 属性を指定することはできません。 これらの暗黙の WAI-ARIA ロールを公開する HTML 要素でも、著者が これらの WAI-ARIA 属性を指定することは禁止されます。

命名禁止とされる要素は、著者が aria-label または aria-labelledby 属性を指定してはならない 要素です。ただし、著者による命名を許容する明示的な WAI-ARIA ロールによって、 その要素の暗黙のロールを上書きできる場合を除きます。詳細については、4.1 要素の命名に ARIA 属性を使用するための要件を参照してください。

注記

暗黙の ARIA セマンティクスと一致する ARIA role および/または aria-* 属性を設定することは推奨されませんが、 状況によっては、これらの属性を明示的に設定すると役立つ場合があります。たとえば、 特定の要素について暗黙の ARIA セマンティクスを公開しないユーザーエージェントの場合です。

注記

次の表に示すように、デジタル出版 WAI-ARIA モジュール 1.1role 値を使用することは適合していますが、これらのロールは ウェブサイトへの実装を意図したものではありません。デジタル出版 業界の範囲を超える目的でこれらのロールを使用する場合、意図した体験が利用者に提供されることを 確実にするため、追加の手動テストが必要になります。

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

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

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

ロール: button, checkbox, menuitem, menuitemcheckbox, menuitemradio, option, radio, switch, tab または treeitem。 (link も許可されるが、推奨されない。)

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

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

href 属性を持つ a 要素で aria-disabled="true" を使用することは、推奨されない

注記
リンクをプログラムによって「無効」と伝える必要がある場合は、 href 属性を削除する
ahref がない場合 role=generic

任意の role。ただし、 generic使用すべきではない

命名禁止

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

abbr 対応するロールなし

任意の role

命名禁止

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

address role=group

任意の role。ただし、group推奨されない

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

areahref がある場合 role=link

role なし 。ただし link は例外であり、推奨されない

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

areahref がない場合 role=generic

ロール: button または link。 (generic も許可されるが、使用すべきではない。)

命名禁止

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

article role=article

ロール: application, document, feed, main, none, presentation または region。 (article も許可されるが、推奨されない。)

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

aside role=complementary

ロール: feed, none, note, presentation, region または search。 (complementary も許可されるが、推奨されない。)

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。ただし、 generic使用すべきではない

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

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

b role=generic

任意の role。ただし、 generic使用すべきではない

命名禁止

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

base 対応するロールなし

role なし、または aria-* 属性なし

bdi role=generic

任意の role。ただし、 generic使用すべきではない

命名禁止

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

bdo role=generic

任意の role。ただし、 generic使用すべきではない

命名禁止

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

blockquote role=blockquote

任意の role。ただし、 blockquote推奨されない

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

body role=generic

role なし 。ただし generic は例外であり、使用すべきではない

命名禁止

それ以外の場合、グローバル aria-* 属性 のうち generic ロールで許可されるもの。ただし、作者は body 要素に aria-hidden=true を指定してはならない

br 対応するロールなし

ロール: none または presentation

作者は br 要素に aria-hidden 属性を指定してもよい。 それ以外の aria-* 属性は許可されない。

button

role=button

buttonselect 要素の最初の子である場合、その要素は inert となる。

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

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


buttonselect 要素の最初の子である場合: role なし、または aria-* 属性なし

canvas 対応するロールなし

任意の role

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

caption role=caption

role なし 。ただし caption は例外であり、推奨されない

命名禁止

それ以外の場合、グローバル aria-* 属性

cite 対応するロールなし

任意の role

命名禁止

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

code role=code

任意の role。ただし、 code推奨 されない

命名禁止

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

col 対応するロールなし

role なし、または aria-* 属性なし

colgroup 対応するロールなし

role なし、または aria-* 属性なし

data role=generic

任意の role。ただし、 generic使用すべきではない

命名禁止

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

datalist role=listbox

role なし 。ただし listbox は例外であり、推奨されない

aria-* 属性なし

dd 対応するロールなし

role なし

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

del role=deletion

任意の role。ただし、 deletion推奨されない

命名禁止

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

details role=group

role なし 。ただし group は例外であり、推奨されない

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

dfn role=term

任意の role。ただし、 term推奨 されない

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

dialog role=dialog

ロール: alertdialog。 (dialog も許可されるが、推奨されない。)

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

div role=generic

dl 要素の直接の子である場合、 presentation または none のみ。それ以外の場合、 任意の role。ただし、 generic使用すべきではない

命名禁止

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

dl 対応するロールなし

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

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

dt 対応するロールなし

ロール: listitem

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

em role=emphasis

任意の role。ただし、 emphasis推奨されない

命名禁止

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

embed 対応するロールなし

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

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

fieldset role=group

ロール: none, presentation または radiogroup。 (group も許可されるが、推奨されない。)

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

figcaption 対応するロールなし

ロール: group, none または presentation

命名禁止

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

figure role=figure

figure に有効な figcaption 子孫がある場合:
role なし 。ただし figure は例外であり、 推奨されない

DPub ロール: doc-example

それ以外の場合、figurefigcaption 子孫がない場合:
任意の role。ただし、 figure推奨 されない

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

footer

articleasidemainnav または section 要素、あるいは role=articlecomplementarymainnavigation または region を持つ要素の子孫でない場合、 role=contentinfo

それ以外の場合、role=generic

ロール: group, presentation または none。 (articleasidemainnav または section 要素、あるいは role=articlecomplementarymainnavigation または region を持つ要素の子孫でない場合、 role=contentinfo も許可されるが、推奨されない。 それ以外の場合、role=generic も許可されるが、使用すべきではない。)

DPub ロール: doc-footnote

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

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

form

role=form

ロール: none, presentation または search。 (form も許可されるが、推奨されない。)

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

注記

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

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

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

それ以外の場合 role=generic

ElementInternals によってロールが定義されている場合、 role なし

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

generic ロールとして公開される場合は、 命名禁止

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

h1 から h6 role=heading, aria-level = 要素のタグ名に含まれる数字

ロール: none, presentation または tab。 (heading も許可されるが、推奨されない。)

DPub ロール: doc-subtitle

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

head 対応するロールなし

role なし、または aria-* 属性なし

header

articleasidemainnav または section 要素、あるいは role=articlecomplementarymainnavigation または region を持つ要素の子孫でない場合、 role=banner

それ以外の場合、role=generic

ロール: group, none または presentation。 (articleasidemainnav または section 要素、あるいは role=articlecomplementarymainnavigation または region を持つ要素の子孫でない場合、 role=banner も許可されるが、推奨されない。 それ以外の場合、role=generic も許可されるが、使用すべきではない。)

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

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

hgroup role=group

任意の role。ただし、group推奨 されない

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

hr role=separator

ロール: none または presentation。 (separator も許可されるが、推奨されない。)

DPub ロール: doc-pagebreak

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

html role=generic

role なし 。ただし document または generic は例外であり、いずれも推奨 されない

aria-* 属性なし

i role=generic

任意の role。ただし、 generic使用すべきではない

命名禁止

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

iframe 対応するロールなし

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

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

img img が空でない alt (alt="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 も許可されるが、推奨されない。)

DPub ロール: doc-cover

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

imgalt 属性またはアクセシブル名がない場合: role なし 。ただし role=none または presentation ロールは例外。 (role=img or image も許可されるが、推奨されない。)

imgalt が空で、アクセシブル名がない場合

img が空の alt (alt="") を持ち、他の img 命名方法を持たない場合:
role=none, role=presentation

role なし 。ただし role=none または presentation ロールは例外であり、これらは推奨されない

aria-* 属性なし 。ただし aria-hidden="true" は例外。

input type=button role=button

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

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

input type=checkbox role=checkbox

ロール: menuitemcheckbox, option または switch; aria-pressed と共に使用する場合は button。 (checkbox も許可されるが、推奨されない。)

作者は input type=checkbox 要素で aria-checked 属性を使用してはならない

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

注記

HTML の checked 属性は、type=checkbox で使用する場合、 menuitemcheckboxoption または switch ロールについて 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 は例外であり、推奨されない

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

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

role なし

グローバル aria-* 属性aria-disabledaria-invalid および aria-required 属性。

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

role なし、または aria-* 属性なし

input type=image role=button

次のロールは許可されるが、推奨されない: button, checkbox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab または treeitem

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

可能であれば、作者は指定されたロールを許可する別の HTML 要素、 例えば button 要素の使用を検討すべきである。

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

role なし

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

input type=number role=spinbutton

role なし 。ただし spinbutton は例外であり、推奨されない

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

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

role なし

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

input type=radio role=radio

ロール: menuitemradio。 (radio も許可されるが、推奨されない。)

作者は input type=radio 要素で aria-checked 属性を使用してはならない

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

注記

HTML の checked 属性は、type=radio で使用する場合、 menuitemradio ロールについて aria-checked 属性の代わりに使用できる。

input type=range role=slider

role なし 。ただし slider は例外であり、推奨されない

作者は input type=rangearia-valuemax または aria-valuemin 属性を使用すべきではない

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

input type=reset role=button

次のロールは許可されるが、推奨されない: button, checkbox, combobox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab または treeitem

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

可能であれば、作者は指定されたロールを許可する別の HTML 要素、 例えば button 要素の使用を検討すべきである。

input type=search, に list 属性がない場合 role=searchbox

role なし 。ただし searchbox は例外であり、推奨されない

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

input type=submit role=button

次のロールは許可されるが、推奨されない: button, checkbox, combobox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab または treeitem

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

可能であれば、作者は指定されたロールを許可する別の HTML 要素、 例えば button 要素の使用を検討すべきである。

input type=tel, に list 属性がない場合 role=textbox

role なし 。ただし textbox は例外であり、推奨されない

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

input type=text または type が欠落もしくは無効で、 list 属性がない場合 role=textbox

ロール: combobox, searchbox または spinbutton。 (textbox も許可されるが、推奨されない。)

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

input type=text, search, tel, url, email, または type が欠落もしくは無効で、 list 属性がある場合 role=combobox

role なし 。ただし combobox は例外であり、推奨されない

作者は、list 属性を持つ上記の inputaria-haspopup 属性を使用すべきではない

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

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

role なし

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

input type=urllist 属性がない場合 role=textbox

role なし 。ただし textbox は例外であり、推奨されない

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

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

role なし

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

ins role=insertion

任意の role。ただし、 insertion推奨されない

命名禁止

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

kbd 対応するロールなし

任意の role

命名禁止

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

label 対応するロールなし

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

それ以外の場合、label が要素と関連付けられていなければ、任意の role。 ただし generic使用 すべきではない

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

それ以外の場合、グローバル aria-* 属性

legend 対応するロールなし

role なし

命名禁止

それ以外の場合、グローバル aria-* 属性

li

lirole=list として公開される要素の子である場合 (例: ulolmenu): role=listitem

それ以外の場合、 role=generic

親のリスト要素が暗黙的または明示的な list ロールを持つ場合、 role なし。ただし listitem は例外であり、推奨 されない

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

注記

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

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

作者は次の非推奨の DPub ロールを使用すべきではない: doc-biblioentry, doc-endnote

link 対応するロールなし

role なし、または aria-* 属性なし

main role=main

role なし 。ただし main は例外であり、推奨されない

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

map 対応するロールなし

role なし、または aria-* 属性なし

mark 対応するロールなし

任意の role

命名禁止

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

math role=math

role なし 。ただし math は例外であり、推奨されない

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

menu role=list

ロール: group, listbox, menu, menubar, none, presentation, radiogroup, tablist, toolbar または tree。 (list も許可されるが、推奨されない。)

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

作者は非推奨directory ロールを使用すべきではない

meta 対応するロールなし

role なし、または aria-* 属性なし

meter role=meter

role なし 。ただし meter は例外であり、推奨されない

作者は meter 要素で aria-valuemax または aria-valuemin 属性を使用すべきではない

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

nav role=navigation

ロール: menu, menubar, none, presentation または tablist。 (navigation も許可されるが、推奨されない。)

DPub ロール: doc-index, doc-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 も許可されるが、推奨されない。)

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

作者は非推奨directory ロールを使用すべきではない

optgroup role=group

role なし 。ただし group は例外であり、推奨されない

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

option 要素で、オプションの リスト内にあるもの、または datalist 内の候補を表すもの role=option

role なし 。ただし option は例外であり、推奨されない

作者は option 要素で aria-selected 属性を使用すべきではない

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

output role=status

任意の role。ただし、 status推奨 されない

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

p role=paragraph

任意の role。ただし、 paragraph推奨されない

命名禁止

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

param 対応するロールなし

role なし、または aria-* 属性なし

picture 対応するロールなし

role なし

作者は picture 要素に aria-hidden 属性を指定してもよい。 それ以外の aria-* 属性は許可されない。

pre role=generic

任意の role。ただし、 generic使用すべきではない

命名禁止

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

progress role=progressbar

role なし 。ただし progressbar は例外であり、推奨されない

作者は progress 要素で aria-valuemax 属性を 使用すべきではない

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

q role=generic

任意の role。ただし、 generic使用すべきではない

命名禁止

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

rp 対応するロールなし

任意の role

命名禁止

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

rt 対応するロールなし

任意の role

命名禁止

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

ruby 対応するロールなし

任意の role

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

s role=deletion

任意の role。ただし、 deletion推奨されない

命名禁止

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

samp role=generic

任意の role。ただし、 generic使用すべきではない

命名禁止

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

script 対応するロールなし

role なし、または aria-* 属性なし

search

role=search

ロール: form, group, none, presentation または region。 (search も許可されるが、推奨されない。)

グローバル 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 も許可されるが、 推奨されないrole=generic使用 すべきではない。)

DPub ロール: doc-abstract, doc-acknowledgments, doc-afterword, doc-appendix, doc-bibliography, doc-chapter, doc-colophon, doc-conclusion, doc-credit, doc-credits, doc-dedication, doc-endnotes, doc-epigraph, doc-epilogue, doc-errata, doc-example, doc-foreword, doc-glossary, doc-index, doc-introduction, doc-notice, doc-pagelist, doc-part, doc-preface, doc-prologue, doc-pullquote, doc-qna, doc-toc

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

select (ドロップダウン ボックスとしてレンダリングされる) role=combobox

ロール: menu。 (combobox も許可されるが、推奨されない。)

作者は select 要素で aria-multiselectable 属性を使用すべきではない

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

select (リスト ボックスとしてレンダリングされる) role=listbox

role なし 。ただし listbox は例外であり、推奨されない

作者は select 要素で aria-multiselectable 属性を使用すべきではない

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

selectedcontent role=generic

select 要素の有効な子孫として使用される場合: role なし、または aria-* 属性なし

それ以外の場合、要素がカスタマイズ可能な select 要素の button 部分の子という本来のコンテキスト外で使用される場合、 任意の role。 ただし generic推奨 されない

命名禁止

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

slot 対応するロールなし

role なし、または aria-* 属性なし

small role=generic

任意の role。ただし、 generic使用すべきではない

命名禁止

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

source 対応するロールなし

role なし、または aria-* 属性なし

span role=generic

任意の role。ただし、 generic使用すべきではない

命名禁止

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

strong role=strong

任意の role。ただし、 strong推奨 されない

命名禁止

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

style 対応するロールなし

role なし、または aria-* 属性なし

sub role=subscript

任意の role。ただし、 subscript推奨されない

命名禁止

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

summary

対応するロールなし

注記
summary 要素が公開するロールは、ユーザーエージェント および支援技術によって異なる場合がある。

summary 要素が 親 details の summary 要素である場合、 role なし

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

それ以外の場合、summary 要素が 親 details の summary 要素でない場合、作者は 任意の role、および任意の グローバル aria-* 属性 と、許可されたロールに適用可能な任意の aria-* 属性を指定してもよい

sup role=superscript

任意の role。ただし、 superscript推奨 されない

命名禁止

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

SVG SVG AAM で定義される role=graphics-document

任意の role。ただし、 graphics-document推奨されない

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

table role=table

任意の role。ただし、 table推奨 されない

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

tbody role=rowgroup

任意の role。ただし、 rowgroup推奨 されない

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

td

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

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

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

祖先の table 要素が role=tablegrid、 または treegrid を持つ場合、 role なし 。ただし次の場合を除く:

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

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

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

template 対応するロールなし

role なし、または aria-* 属性なし

textarea role=textbox

role なし 。ただし textbox は例外であり、推奨されない

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

tfoot role=rowgroup

任意の role。ただし、 rowgroup推奨 されない

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

th

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

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

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

祖先の table 要素が role=tablegrid、 または treegrid を持つ場合、 role なし 。ただし次の場合を除く:

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

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

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

thead role=rowgroup

任意の role。ただし、 rowgroup推奨 されない

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

time role=time

任意の role。ただし、 time推奨 されない

命名禁止

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

title 対応するロールなし

role なし、または aria-* 属性なし

tr role=row

祖先の table 要素が role=tablegrid、 または treegrid を持つ場合、 role なし 。ただし row は例外であり、推奨 されない; それ以外の場合、 任意の role。ただし、 row推奨されない

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

track 対応するロールなし

role なし、または aria-* 属性なし

u role=generic

任意の role。ただし、 generic使用すべきではない

命名禁止

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

ul role=list

ロール: group, listbox, menu, menubar, none, presentation, radiogroup, tablist, toolbar または tree。 (list も許可されるが、推奨されない。)

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

作者は非推奨directory ロールを使用すべきではない

var 対応するロールなし

任意の role

命名禁止

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

video 対応するロールなし

ロール: application

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

wbr 対応するロールなし

ロール: none または presentation

作者は wbr 要素に aria-hidden 属性を指定してもよい。 それ以外の aria-* 属性は許可されない。

表の第2列で 対応するロールなし と記された要素には、 暗黙の ARIA セマンティクスはないが、意味は 持っており、この意味は ARIA によって提供されないロール、状態、プロパティによって表現され、 アクセシビリティ API を介して支援技術のユーザーに公開される場合がある。 したがって、作者には、列挙された要素のセマンティクスを上書きするのではなく、 divspan のような意味的に中立な要素に role 属性を追加することが推奨される。

注記

ここで提供される内容を超えて HTML で ARIA を使用する際の ガイダンスとして、作者には次の文書を活用することが推奨される:

  • ARIA の 使用 - Accessible Rich Internet Applications 仕様を使用して HTML 要素にアクセシビリティ情報を 追加する方法についての、作者向けの実践的なガイド。
  • ARIA オーサリング・プラクティス・ガイド - Accessible Rich Internet Applications を理解し実装するための 作者向けガイド。

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

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

作者は、名前を付けることのできない暗黙の WAI-ARIA ロールを持つ要素に aria-label または aria-labelledby を指定してはならない。暗黙の 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-* 属性を 使用してもよい。たとえば、作者は button 要素に aria-disabled=true を指定し、 disabled 属性を使用する代わりに、button を機能的に 無効化するために必要なスクリプトも実装してもよい

WAI-ARIA のホスト言語 セマンティクスとの競合に記載されているように、 HTML 要素が aria-* 属性と、そのホスト言語 (HTML) の 同等属性の両方を使用している場合、ユーザーエージェントは WAI-ARIA 属性を 無視しなければならない。同じ 暗黙の ARIA セマンティクスを持つ ネイティブ HTML 属性が優先される。このため、作者はネイティブ HTML 属性と同等の aria-* 属性の両方を要素に指定すべきではない。 作者固有の追加要件については、各属性を確認すること。

次の表は、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 要素の「混合」状態を示すこと。

作者は、要素の チェック状態、 または要素の不定チェック値が aria-checked 属性の現在値と 矛盾する可能性がある任意の要素で、aria-checked 属性を使用してはならない

作者は、この属性を許可する WAI-ARIA ロールを持つその他の任意の要素で aria-checked 属性を使用してもよい

disabled 属性が許可される任意の要素。これには option disabled および optgroup disabled が含まれる aria-disabled="true"

HTML で disabled 属性が許可される任意の要素では、 disabled 属性を使用すること。

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

作者は、disabled 属性も持つ任意の要素で aria-disabled="true" を使用すべきではない

作者は、disabled 属性も持つ任意の要素で aria-disabled="false" を使用してはならない

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

作者は、フォーカス可能な要素および body 要素を除き、 グローバル aria-* 属性の指定を許可する任意の HTML 要素で、aria-hidden 属性を使用してもよい

一般に、作者が hidden 属性も指定されている任意の要素で aria-hidden="true" を使用することは推奨されない。 ただし作者は、発見されるまで非表示 状態で hidden 属性も指定されている任意の要素で aria-hidden="true" を使用してはならない

注記
フォーカス可能な要素とは、キーボードまたはポインティングデバイスを使用して フォーカスできる任意の要素である。フォーカス可能な要素は、必ずしも キーボードでタブ移動できる要素ではない。たとえば、 tabindex="-1" を持つ要素はフォーカス可能だが、タブ移動可能な要素ではない。
注記
hidden 属性を持つ要素で aria-hidden="true" を使用することは、 良くても不必要な重複にすぎない。最悪の場合、hidden 属性のデフォルト UA スタイルである display: none が作者またはユーザーのスタイルシートによって 意図的に上書きされていると、コンテンツへのアクセスを妨げる可能性がある。 最後に、hidden 属性が「発見されるまで非表示」状態の場合、 aria-hidden=true を使用すると、ブラウザーのページ内検索機能によって コンテンツが発見され、ユーザーに視覚的にレンダリングされたときでも、 支援技術のユーザーがそのコンテンツを発見できなくなる。
placeholder 属性が許可される任意の要素 aria-placeholder="..."

HTML で placeholder 属性が許可される任意の要素では、 placeholder 属性を使用すること。

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

作者は、placeholder 属性も持つ任意の要素で aria-placeholder 属性を使用してはならない

max 属性が許可される任意の要素: meter max, progress max, および input max aria-valuemax="..."

HTML で max 属性が許可される任意の要素では、 max 属性を使用すること。

作者は、aria-valuemax 属性を許可する WAI-ARIA ロールを持つ その他の任意の要素で、aria-valuemax 属性を使用してもよい

作者は、max 属性を許可する任意の要素で aria-valuemax を使用すべきではない。 代わりに max 属性を使用すること。

作者は、max 属性も持つ任意の要素で aria-valuemax を使用してはならない

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

HTML で min 属性が許可される任意の要素では、 min 属性を使用すること。

作者は、aria-valuemin 属性を許可する WAI-ARIA ロールを持つ その他の任意の要素で、aria-valuemin 属性を使用してもよい

作者は、min 属性を許可する任意の要素で aria-valuemin を使用すべきではない。 代わりに min 属性を使用すること。

作者は、min 属性も持つ任意の要素で aria-valuemin を使用してはならない

readonly 属性を許可する任意の要素: input readonly, textarea readonly および readonly を許可する フォーム関連 カスタム要素 aria-readonly="true"

HTML で readonly 属性が許可される任意の要素では、 readonly 属性を使用すること。

作者は、この属性を許可する WAI-ARIA ロールを持つ任意の要素で、aria-readonly 属性を使用してもよい

作者は、readonly 属性も持つ任意の要素で aria-readonly="true" を使用すべきではない

作者は、readonly 属性も持つ任意の要素で aria-readonly="false" を使用してはならない

contenteditable=true を持つ要素、または contenteditable 属性を持たず、 contenteditable 属性を持つ最も近い祖先が contenteditable="true" である要素。

注記

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

aria-readonly="false" 作者は isContentEditable="true" を持つ要素に aria-readonly="true" を設定してはならない
required 属性が許可される任意の要素: input required, textarea required, および select required aria-required="true"

HTML で required 属性が許可される任意の要素では、 required 属性を使用すること。

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

作者は、required 属性も持つ任意の要素で aria-required="true" を使用すべきではない

作者は、required 属性も持つ任意の要素で aria-required="false" を使用してはならない

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

HTML で colspan 属性が許可される任意の要素では、 colspan 属性を使用すること。

作者は、colspan 属性も持つ任意の要素で aria-colspan 属性を使用すべきではない

作者は、colspan 属性も持ち、各属性の値が一致しない任意の要素で aria-colspan を使用してはならない

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

HTML で rowspan 属性が許可される任意の要素では、 rowspan 属性を使用すること。

作者は、rowspan 属性も持つ任意の要素で aria-rowspan 属性を使用すべきではない

作者は、rowspan 属性も持ち、各属性の値が一致しない任意の要素で aria-rowspan を使用してはならない

4.3 非推奨の ARIA ロール、状態、プロパティ属性に関する要件

ARIA 仕様の 非推奨に関する 要件の節では、ARIA 機能が非推奨と記されている場合、作者には 新しいコンテンツでその機能を使用しないことが推奨されると示している。

次のロールおよび属性は、ARIA および DPub ARIA の非推奨機能である。適合性チェッカーは これらの機能が非推奨であることを作者に警告しなければならない。 可能な場合は常に、作者には非推奨機能の代替を使用することが推奨される。

4.3.1 非推奨の ARIA ロール

注記

directory ロールは WAI-ARIA 1.2 で非推奨予定として記されている。実際には、directory ロールは、 暗黙または明示的に宣言された list ロールを持つ要素と比較して機能上の 違いがなかった。作者には、代わりに HTML のネイティブなリスト要素のいずれか、 または ARIA の list ロールを使用することが推奨される。

4.3.2 非推奨の DPub ARIA ロール

注記

doc-biblioentry および doc-endnote ロールは、 暗黙または明示的な list ロールを持つ要素の有効な子ではないため、 Digital Publishing WAI-ARIA Module 1.1 で非推奨予定として記されている。作者は、これらのロールを必要とせずに 標準のリストおよび子 li 要素を使用できる。

4.3.3 非推奨の ARIA 属性

注記

aria-dropeffect および aria-grabbed 属性は、 WAI-ARIA 1.1 で非推奨となった。現在、これらが意図していた 機能を置き換える ARIA の機能は存在しない。

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

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

注記

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

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

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

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

次の表は、[HTML] 仕様で定義される コンテンツの種類および許可される 子孫の情報を、同等の role を持つ要素に対応付け (および拡張し) ている。

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

たとえば、 button 要素には暗黙の role=button がある。 HTML では button 要素は子孫として 句内容を許可するが、 インタラクティブコンテンツ または tabindex 属性を持つ子孫は許可しない。したがって、 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列 (子孫の許容範囲) で、それらの特定のロールについて 「『必須の所有要素』を参照」と示すことによって識別されている。

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 または 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.1] または [HTML] の機能を定義するものではない。むしろ、 HTML における ARIA のチェックをサポートすると主張する適合性 チェッカー向けの規則とガイダンス、および作者向けのガイダンスを提供する。

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

A. 参考文献

A.1 規範的参考文献

[accname-1.2]
アクセシブルな名前および説明の計算 1.2. Bryan Garaventa; Melanie Sumner. W3C. 2026年5月29日. W3C 作業草案. URL: https://www.w3.org/TR/accname-1.2/
[dpub-aria-1.1]
デジタル出版 WAI-ARIA モジュール 1.1. Matt Garrish; Tzviya Siegman. W3C. 2025年6月12日. W3C 勧告. URL: https://www.w3.org/TR/dpub-aria-1.1/
[html]
HTML 標準. Anne van Kesteren; Domenic Denicola; Dominic Farolino; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. 現行 標準. URL: https://html.spec.whatwg.org/multipage/
[html-aam-1.0]
HTML アクセシビリティ API マッピング 1.0. Scott O'Hara; Rahim Abdi. W3C. 2026年7月29日. W3C 作業草案. URL: https://www.w3.org/TR/html-aam-1.0/
[infra]
Infra 標準. Anne van Kesteren; Domenic Denicola. WHATWG. 現行標準. URL: https://infra.spec.whatwg.org/
[RFC2119]
要求レベルを示すために RFC で使用する キーワード. S. Bradner. IETF. 1997年3月. 現行のベストプラクティス. URL: https://www.rfc-editor.org/info/rfc2119/
[RFC8174]
RFC 2119 のキーワードにおける大文字と 小文字の曖昧さ. B. Leiba. IETF. 2017年5月. 現行のベストプラクティス. URL: https://www.rfc-editor.org/info/rfc8174/
[svg-aam-1.0]
SVG アクセシビリティ API マッピング. Cynthia Shelly; Mark Rogers. W3C. 2026年7月27日. W3C 作業草案. URL: https://www.w3.org/TR/svg-aam-1.0/
[wai-aria-1.1]
アクセシブルなリッチ・インターネット・アプリケーション (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]
アクセシブルなリッチ・インターネット・アプリケーション (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。2026年2月24日。W3C作業草案。URL: https://www.w3.org/TR/using-aria/