HTML における ARIA

W3C 勧告

この文書の詳細
このバージョン:
https://www.w3.org/TR/2026/REC-html-aria-20260415/
最新の公開バージョン:
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.1 の属性を、[HTML] 要素で使用する際の作成規則(著者の遵守要件)を定義します。 本仕様書の主な目的は、著者(すなわちウェブ開発者)が使用する適合性チェックツールとともに利用するための要件を定めることです。これらの要件は、 ARIA を活用してホスト言語 [HTML] の機能を補完または拡張するカスタムインターフェイスやウィジェットを含む ウェブコンテンツの開発において、著者を支援します。

この文書のステータス

このセクションでは、この 文書が発行された時点でのステータスを説明します。現在のW3C の発行物の一覧や、この技術レポートの最新版は、 W3C標準および草案索引に掲載されています。

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

この仕様は2021年12月9日にW3C勧告となって以来、次のような本質的な追加や/または修正が提案されています:

本書のレビュー担当者は、文書中の独特なスタイルによって候補となる追加や修正を識別できます。

候補となる修正は文書中でマークされています。

候補となる追加は文書中でマークされています。

本書はAccessible Rich Internet Applications ワーキンググループによって、 勧告トラックを用いて 勧告として発行されました。これには、 候補となる修正が含まれており、 前回の勧告以降の実質的な変更や新機能が導入されています。

W3Cは本仕様のウェブ標準としての広範な展開を推奨します。

W3Cの勧告は、十分な合意形成ののち W3Cおよびそのメンバーによって承認され、 ワーキンググループのメンバーは実装について ロイヤリティフリーライセンス を約束しています。 今後の改訂では新機能が盛り込まれることがあります。

候補となる追加は文書中でマークされています。

候補となる修正は文書中でマークされています。

本書は W3C 特許ポリシー に基づいて活動するグループにより作成されました。 W3Cは 当該グループの成果物について 特許開示の公開リスト を運営しています。そのページには特許開示の方法も記載されています。 もし、何らかの特許に関して 必須特許請求 が含まれていると個人が認識した場合は、 W3C特許ポリシー第6節に従って情報を開示する必要があります。

本書は 2025年8月18日版 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セマンティクス (role, states, properties)を暗に持つことを示します。 各行の3列目のセルには、著者がその要素に指定してもよいARIA role値および aria-* 属性が記載されています。 3列目のセルに任意の role という語が含まれている場合は、その要素に任意のrole指定できます。ただし、 要素の暗黙のroleやgeneric role、あるいは ARIAで非推奨となったroleを これらの要素に指定することは推奨されません 3列目のセルにNo roleとあれば、 著者はHTML要素の暗黙のARIAセマンティクスやネイティブのセマンティクスを上書きしてはなりません

WAI-ARIAは、 禁止されたstateやpropertyを持つroleを定義しています。 これらのroleでは著者による特定のWAI-ARIA属性の指定が許可されません。 これらの暗黙のWAI-ARIA roleを持つHTML要素も、著者によるこれらのWAI-ARIA属性の指定を禁止します。

命名禁止と特定されている要素は、 その要素が著者による命名を許可する明示的なWAI-ARIA roleで暗黙のroleを上書きできない限り、 著者はaria-labelやaria-labelledbyを指定してはなりません。 詳細は4.1 要素名称付与用ARIA属性の使用要件をご覧ください。

暗黙のARIAセマンティクスに一致するARIA rolearia-*属性を設定することは 推奨されませんが、 状況によっては、こうした属性を明示的に設定することが有益となる場合もあります(たとえば、 特定の要素の暗黙のARIAセマンティクスを公開しないユーザーエージェント向け等)。

以下の表に記載のDigital Publishing WAI-ARIA Module 1.1role値使用は適合ですが、これらのroleはウェブサイト実装向けではありません。デジタル出版分野以外に用いる場合は、 意図したユーザー体験を担保するための追加の手動テストが必要となります。

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 属性を削除してください。
a href属性なし href role=generic

任意の role、ただし generic使用すべきではありません

命名禁止

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

abbr 対応するroleなし

任意の role

命名禁止

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

address role=group

任意の role、ただし group推奨されません

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

area href属性あり href role=link

role不可 ただしlinkは除く(これは推奨されません)。

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

area href属性なし href role=generic

Role: button または link。 (generic も許可されるが推奨されません。)

命名禁止

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

article role=article

Role: application, document, feed, main, none, presentation または region。 (article も許可されますが、推奨されません。)

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

aside role=complementary

Role: feed, none, note, presentation, region または search。 (complementary も許可されますが、推奨されません。)

DPub Role: doc-dedication, doc-example, doc-footnote, doc-glossary, doc-pullquote または doc-tip

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

audio 対応するroleなし

Role: application

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

自律カスタム要素

著者定義のElementInternals から公開されたrole

それ以外の場合 role=generic

ElementInternalsで定義されていれば role不可

それ以外の場合は、任意の role、 ただしgeneric使用すべきではありません

命名禁止generic roleまたは命名禁止の他のroleとして公開される場合。

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

b role=generic

任意の role、ただし generic使用すべきではありません

命名禁止

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

base 対応するroleなし

role不可aria-*属性不可

bdi role=generic

任意の role、ただし generic使用すべきではありません

命名禁止

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

bdo role=generic

任意の role、ただし generic使用すべきではありません

命名禁止

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

blockquote role=blockquote

任意の role、ただし blockquote推奨されません

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

body role=generic

role不可 (ただしgenericは除く、これは使用すべきではありません。)

命名禁止

それ以外の場合、グローバル aria-*属性 generic roleで許可。ただし、body 要素に aria-hidden=true指定してはなりません

br 対応するroleなし

Role: none または presentation

著者はaria-hidden属性をbr要素に指定してよい。それ以外に許可されるaria-*属性はありません。

button

role=button

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

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

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


buttonselect要素の最初の子の場合: role不可aria-*属性不可

canvas 対応するroleなし

任意の role

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

caption role=caption

role不可 ただしcaptionは除く(これは推奨されません)。

命名禁止

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

cite 対応するroleなし

任意の role

命名禁止

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

code role=code

任意の role、ただし code推奨されません

命名禁止

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

col 対応するroleなし

No roleまたはaria-*属性

colgroup 対応するroleなし

No roleまたはaria-*属性

data role=generic

任意の role、ただし generic使用すべきではありません

命名禁止

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

datalist role=listbox

No role other than listbox, which is 推奨されません

No aria-*属性

dd 対応するroleなし

No role

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

del role=deletion

任意の role、ただし deletion推奨されません

命名禁止

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

details role=group

No role other than group, which is 推奨されません

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

dfn role=term

任意の role、ただし term推奨されません

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

dialog role=dialog

Role: alertdialog。 (dialog も許可されますが、推奨されません。)

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

div role=generic

もし dl 要素の直接の子である場合、 presentation または none のみ。そうでなければ、 任意の role、ただし generic使用すべきではありません

命名禁止

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

dl 対応するroleなし

Role: group, list, none または presentation

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

dt 対応するroleなし

Role: listitem

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

em role=emphasis

任意の role、ただし emphasis推奨されません

命名禁止

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

embed 対応するroleなし

Role: application, document, img, image, none または presentation

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

fieldset role=group

Role: none, presentation または radiogroup。 (group も許可されますが、推奨されません。)

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

figcaption 対応するroleなし

Role: group, none または presentation

命名禁止

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

figure role=figure

figure が有効な figcaption 子孫を持つ場合:
No role ただし figure は除く、これは 推奨されません

DPub Role: doc-example

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

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

footer

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

それ以外ではrole=generic

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

DPub Role: doc-footnote

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

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

form

role=form

Roles: none, presentation or search。 (form も許可されますが、推奨されません。)

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

Note

form は、accessible name が 与えられていない限り、ランドマーク領域として公開されません。

form-associated custom element

Role exposed from author defined ElementInternals

Otherwise role=generic

If role defined by ElementInternals, no role

Otherwise, form-related roles: button, checkbox, combobox, listbox, progressbar, group, radio, radiogroup, searchbox, slider, spinbutton, switch or textbox. (generic is also allowed, but SHOULD NOT be used.)

命名禁止 if exposed as the generic role.

Otherwise, global aria-*属性 and any aria-*属性 applicable to the allowed roles.

h1 to h6 role=heading, aria-level = the number in the element's tag name

Roles: none, presentation or tab。 (heading is also allowed, but NOT RECOMMENDED.)

DPub Role: doc-subtitle

Global aria-*属性 and any aria-*属性 applicable to the allowed roles.

head 対応するroleなし

roleなしまたはaria-* 属性

header

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

それ以外では role=generic

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

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

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

hgroup role=group

任意の role、 ただし group推奨されません

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

hr role=separator

Roles: none または presentation。 (separator も許可されますが、 推奨されません。)

DPub Role: doc-pagebreak

Global aria-* attributes および separator role に適用可能なaria-*属性。

html role=generic

roleなし 以外に、document または generic があり、 これらは 推奨されません

aria-*属性なし

i role=generic

任意の role、 ただし generic使用すべきではありません

命名禁止

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

iframe 対応するroleなし

Roles: application, document, img, image, none または presentation

Global aria-* attributes および 許可されたroleに適用可能なaria-*属性。

img

img が空でない altalt="some text")を持つ場合、または別の img 命名方法によってアクセシブルネームが与えられている場合、 あるいは imgalt がなく名前も与えられていない場合:
role=img または image

Roles: button, checkbox, link, math, menuitem, menuitemcheckbox, menuitemradio, meter, option, progressbar, radio, scrollbar, separator, slider, switch, tab または treeitem。 (img または image も許可されますが、 推奨されません。)

DPub Role: doc-cover

Global aria-* attributes および許可されたroleに適用可能なaria-*属性。

img with no accessible name

If the img has an empty alt (alt="") and lacks any other img naming methods:
role=none, role=presentation

If the img lacks an alt attribute and lacks any other img naming methods:
role=img or image

If the img has no alt attribute or accessible name: No role other than the role=none or presentation roles. (role=img or image is also allowed, but NOT RECOMMENDED.)

If the img has an empty alt="" attribute and no aria-label or aria-labelledby attributes to provide it an accessible name: No role other than the role=none or presentation roles, which are NOT RECOMMENDED.

No aria-* attributes except aria-hidden="true".

Otherwise, if the img has an author defined accessible name, see img with an accessible name.

input type=button role=button

Roles: checkbox, combobox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab, または treeitem。 (button も許可されますが、 推奨されません。)

Global aria-* attributes および許可されたroleに適用可能なaria-*属性。

input type=checkbox role=checkbox

Roles: menuitemcheckbox, option または switchbutton if used with aria-pressed。 (checkbox も許可されますが、 推奨されません。)

著者は MUST NOT use the aria-checked attribute on input type=checkbox elements

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

Note

HTML の checked 属性は、 type=checkbox 上で menuitemcheckboxoption、 または switch role を使う場合、 aria-checked 属性の代わりに使用できます。

input type=color 対応するroleなし

roleなし

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

input type=date 対応するroleなし

roleなし

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

input type=datetime-local 対応するroleなし

roleなし

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

input type=email with no list attribute role=textbox

roleなし other than textbox, which is 推奨されません

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

input type=file 対応するroleなし

roleなし

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

input type=hidden 対応するroleなし

roleなしまたはaria-* 属性

input type=image role=button

次のroleは許可されますが、推奨されませんbutton, checkbox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab または treeitem

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

可能であれば、著者は指定したroleを許可する別のHTML要素、たとえば button要素の利用を検討すべきです

input type=month 対応するroleなし

roleなし

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

input type=number role=spinbutton

roleなし 以外にspinbuttonがあり、 これは 推奨されません

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

input type=password 対応するroleなし

roleなし

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

input type=radio role=radio

Role: menuitemradio。 (radio も許可されますが、 推奨されません。)

著者は MUST NOT use the aria-checked attribute on input type=radio elements

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

Note

HTML の checked 属性は、 type=radio 上で menuitemradio role を使う場合、 aria-checked 属性の代わりに使用できます。

input type=range role=slider

roleなし 以外にsliderがあり、 これは 推奨されません

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

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

input type=reset role=button

次のroleは許可されますが、推奨されませんbutton, checkbox, combobox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab または treeitem

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

可能であれば、著者は指定したroleを許可する別のHTML要素、 たとえば button要素の利用を検討すべきです

input type=search, with no list attribute role=searchbox

roleなし 以外にsearchboxがあり、 これは 推奨されません

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

input type=submit role=button

次のroleは許可されますが、推奨されませんbutton, checkbox, combobox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab または treeitem

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

可能であれば、著者は指定したroleを許可する別のHTML要素、 たとえば button要素の利用を検討すべきです

input type=tel, with no list attribute role=textbox

roleなし 以外にtextboxがあり、 これは 推奨されません

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

input type=text or with a missing or invalid type, with no list attribute role=textbox

Roles: combobox, searchbox or spinbutton. (textbox is also allowed, but NOT RECOMMENDED.)

Global aria-* attributes and any aria-* attributes applicable to the allowed roles.

input type=text, search, tel, url, email, or with a missing or invalid type, with a list attribute role=combobox

roleなし 以外にcomboboxがあり、 これは NOT RECOMMENDED

著者は、list属性を持つ該当inputaria-haspopup属性を使うべきではありません。

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

input type=time 対応するroleなし

roleなし

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

input type=url with no list attribute role=textbox

roleなし 以外にtextboxがあり、 これは NOT RECOMMENDED

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

input type=week 対応するroleなし

roleなし

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

ins role=insertion

任意の role、ただし insertion推奨されません

命名禁止

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

kbd 対応するroleなし

任意の role

命名禁止

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

label 対応するroleなし

label要素が暗黙的または明示的に labelable elementに関連付けられている場合、 roleなし

それ以外で、labelが要素に関連付けられていない場合は 任意の role、 ただし generic使用すべきではありません

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

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

legend 対応するroleなし

No role

命名禁止

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

li

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

それ以外では、 role=generic

親のリスト要素が暗黙的または明示的なlist roleを持つ場合、 roleなし ただし listitem は除く。 これは 推奨されません

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

Note

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

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

著者は次の非推奨DPub Rolesを 使用すべきではありません: doc-biblioentry, doc-endnote

link 対応するroleなし

roleなしまたはaria-* 属性

main role=main

roleなし 以外にmainがあり、 これは NOT RECOMMENDED

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

map 対応するroleなし

roleなしまたはaria-* 属性

mark 対応するroleなし

任意の role

命名禁止

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

math role=math

roleなし 以外にmathがあり、 これは 推奨されません

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

menu role=list

Roles: group, listbox, menu, menubar, none, presentation, radiogroup, tablist, toolbar または tree。 (list も許可されますが、 推奨されません。)

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

著者は非推奨directory roleを 使用すべきではありません。

meta 対応するroleなし

roleなしまたはaria-* 属性

meter role=meter

roleなし 以外にmeterがあり、 これは 推奨されません

著者は meter 要素で aria-valuemax または aria-valuemin 属性を 使うべきではありません。

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

nav role=navigation

Roles: menu, menubar, none, presentation または tablist。 (navigation も許可されますが、 推奨されません。)

DPub Roles: doc-index, doc-pagelist または doc-toc

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

noscript 対応するroleなし

roleなしまたはaria-* 属性

object 対応するroleなし

Roles: application, document, img または image

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

ol role=list

Roles: group, listbox, menu, menubar, none, presentation, radiogroup, tablist, toolbar or tree. (list is also allowed, but NOT RECOMMENDED.)

Global aria-* attributes and any aria-* attributes applicable to the allowed roles.

Authors SHOULD NOT use deprecated directory role.

optgroup role=group

roleなし 以外にgroupがあり、 これは 推奨されません

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

option 要素( 選択肢リスト内にあるもの、 または datalist 内の候補を表すもの) role=option

roleなし 以外にoptionがあり、 これは 推奨されません

著者は option要素でaria-selected属性を使うべきではありません。

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

output role=status

任意の role、 ただし status推奨されません

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

p role=paragraph

任意の role、 ただし paragraph推奨されません

命名禁止

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

param 対応するroleなし

roleなしまたはaria-* 属性

picture 対応するroleなし

roleなし

著者はpicture要素にaria-hidden 属性を指定してよい。 それ以外に許可されるaria-*属性はありません。

pre role=generic

任意の role、ただし generic使用すべきではありません

命名禁止

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

progress role=progressbar

roleなし 以外にprogressbarがあり、 これは 推奨されません

著者は progress要素で aria-valuemax属性を 使うべきではありません。

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

q role=generic

任意の role、ただし generic使用すべきではありません

命名禁止

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

rp 対応するroleなし

任意の role

命名禁止

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

rt 対応するroleなし

任意の role

命名禁止

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

ruby 対応するroleなし

任意の role

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

s role=deletion

任意の role、ただし deletion推奨されません

命名禁止

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

samp role=generic

任意の role、ただし generic使用すべきではありません

命名禁止

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

script 対応するroleなし

roleなしまたはaria-* 属性

search

role=search

Roles: form, group, none, presentation or region. (search is also allowed, but NOT RECOMMENDED.)

Global aria-* attributes and any aria-* attributes applicable to the allowed roles.

section

role=region if the section element has an accessible name

Otherwise, role=generic

Roles: alert, alertdialog, application, banner, complementary, contentinfo, dialog, document, feed, group, log, main, marquee, navigation, none, note, presentation, search, status or tabpanel. (role=region is also allowed, but NOT RECOMMENDED. role=generic SHOULD NOT be used.)

DPub Roles: 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

Global aria-* attributes and any aria-* attributes applicable to the allowed roles.

select (with NO multiple attribute and NO size attribute having value greater than 1) role=combobox

Role: menu. (combobox is also allowed, but NOT RECOMMENDED.)

Authors SHOULD NOT use the aria-multiselectable attribute on a select element.

Otherwise, any global aria-* attributes and any other aria-* attributes applicable to the combobox or menu role.

select (with a multiple attribute or a size attribute having value greater than 1) role=listbox

roleなし 以外にlistboxがあり、 これは 推奨されません

著者は select要素で aria-multiselectable属性を 使うべきではありません。

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

selectedcontent role=generic

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

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

Naming Prohibited

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

slot 対応するroleなし

roleなしまたはaria-* 属性

small role=generic

任意の role、ただし generic使用すべきではありません

命名禁止

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

source 対応するroleなし

roleなしまたはaria-* 属性

span role=generic

任意の role、ただし generic使用すべきではありません

命名禁止

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

strong role=strong

任意の role、ただし strong推奨されません

命名禁止

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

style 対応するroleなし

roleなしまたはaria-* 属性

sub role=subscript

任意の role、ただし subscriptNOT RECOMMENDED

命名禁止

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

summary

対応するroleなし

Note
summary要素の公開されるroleは、ユーザーエージェントや支援技術によって異なる場合があります。

roleなし if the summary element is a summary for its parent details element.

Global aria-* attributes, aria-disabled, and aria-haspopup attributes.

Otherwise, if the summary element is not a summary for its parent details element, authors MAY specify any role, and any global aria-* attributes and any aria-* attributes applicable to the allowed roles.

sup role=superscript

Any role、ただし superscript推奨されません

命名禁止

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

SVG role=graphics-document as defined by SVG AAM

Any role、 though graphics-document is NOT RECOMMENDED.

Global aria-* attributes and any aria-* attributes applicable to the allowed roles.

table role=table

Any role、ただし table推奨されません

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

tbody role=rowgroup

Any role、ただし rowgroup推奨されません

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

td

role=cell if the ancestor table element is exposed as a role=table

role=gridcell if the ancestor table element is exposed as a role=grid or treegrid

対応するroleなし if the ancestor table element is not exposed as a role=table, grid or treegrid

If the ancestor table element has role=table, grid, or treegrid, roleなし other than the following:

  • If the ancestor table element is exposed as a role=table, then cell is allowed, but NOT RECOMMENDED.
  • If the ancestor table element is exposed as a role=grid or treegrid, then gridcell is allowed, but NOT RECOMMENDED.

Otherwise, if the ancestor table element is not exposed as a role=table, grid or treegrid, any role

Global aria-* attributes and any aria-* attributes applicable to the allowed roles.

template 対応するroleなし

roleなしまたはaria-* 属性

textarea role=textbox

roleなし 以外にtextboxがあり、 これは 推奨されません

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

tfoot role=rowgroup

Any role、ただし rowgroup推奨されません

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

th

role=columnheaderrowheader または cell if the ancestor table element is exposed as a role=table

role=columnheaderrowheader または gridcell if the ancestor table element is exposed as a role=grid or treegrid

対応するroleなし if the ancestor table element is not exposed as a role=table, grid or treegrid

If the ancestor table element has role=table, grid, or treegrid, roleなし other than the following:

  • If the ancestor table element is exposed as a role=table, then columnheaderrowheader and cell are allowed, but NOT RECOMMENDED.
  • If the ancestor table element is exposed as a role=grid or treegrid, then columnheaderrowheader or gridcell are allowed, but NOT RECOMMENDED.

Otherwise, if the ancestor table element is not exposed as a role=table, grid or treegrid, 任意の role

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

thead role=rowgroup

任意の role、ただし rowgroup推奨されません

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

time role=time

任意の role、ただし time推奨されません

命名禁止

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

title 対応するroleなし

roleなしまたはaria-* 属性

tr role=row

tablegrid、またはtreegridを持つ祖先 table要素がある場合、 roleなし 以外にrowがあり、 これは NOT RECOMMENDED。 それ以外では 任意の role、 ただし rowNOT RECOMMENDED

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

track 対応するroleなし

roleなしまたはaria-* 属性

u role=generic

任意の role、ただし generic使用すべきではありません

命名禁止

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

ul role=list

Roles: group, listbox, menu, menubar, none, presentation, radiogroup, tablist, toolbar または tree。 (list も許可されますが、 推奨されません。)

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

著者は非推奨directory roleを 使用すべきではありません。

var 対応するroleなし

任意の role

命名禁止

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

video 対応するroleなし

Role: application

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

wbr 対応するroleなし

Roles: none または presentation

著者はwbr要素にaria-hidden 属性を指定してよい。 それ以外に許可されるaria-*属性はありません。

第2列で 対応するroleなし と マークされた要素には、暗黙のARIAセマンティクスはありません。 しかし、それらには意味があり、その意味はARIAでは提供されないrole、state、propertyで表現でき、 アクセシビリティ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-* 属性の作成ガイダンス
HTMLで checked 属性が許可される任意の要素 aria-checked="true"

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

著者は、要素の checkedness または不確定なchecked値が、 現在の aria-checked 属性値と矛盾し得る任意の要素に aria-checked 属性を指定してはなりません

著者は、属性の指定を許可するWAI-ARIA roleを持つ他の任意の要素に aria-checked 属性を指定してもよい

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 または 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(Accessible Name and Description Computation 1.2)。Bryan Garaventa; Melanie Sumner。W3C。2026年4月10日。W3C作業草案。URL: https://www.w3.org/TR/accname-1.2/
[dpub-aria-1.1]
デジタル出版 WAI-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 標準(HTML Standard)。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(HTML Accessibility API Mappings 1.0)。Scott O'Hara; Rahim Abdi。W3C。2026年4月10日。W3C作業草案。URL: https://www.w3.org/TR/html-aam-1.0/
[infra]
Infra 標準(Infra Standard)。Anne van Kesteren; Domenic Denicola。WHATWG。リビングスタンダード。URL: https://infra.spec.whatwg.org/
[RFC2119]
RFC で要求レベルを示すキーワードの使い方(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]
RFC 2119での大文字小文字の曖昧さ(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 アクセシビリティ API マッピング(SVG Accessibility API Mappings)。Cynthia Shelly; Mark Rogers。W3C。2026年4月10日。W3C作業草案。URL: https://www.w3.org/TR/svg-aam-1.0/
[wai-aria-1.1]
アクセシブル リッチ インターネット アプリケーション(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]
アクセシブル リッチ インターネット アプリケーション(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。2026年2月24日。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/