また、 翻訳 もご覧ください。
Copyright © 2026 World Wide Web Consortium. W3C® liability, trademark and permissive document license rules apply.
本仕様書は、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 勧告となって以降、 次の実質的な変更が行われました:
summary 要素のロールおよび属性を明確化。
label 要素がラベル付け可能な要素に関連付けられていない場合に、
role および aria-* 属性を
指定できるよう更新。
selectedcontent 要素を追加し、カスタマイズされた
select 要素のコンテキストで使用される場合の button 要素について、
更新された許容事項を規定。
html 要素が generic 要素であること、および
document と generic のいずれのロールも、この
要素で使用することを推奨しないことを明確化。
img 要素で math ロールを許容するよう更新。
img ロールの優先される同義語として image ロールを含めるよう更新。
hidden 属性とともに使用する場合の aria-hidden の許容事項を明確化。
separator ロールを許容するよう更新。
img 要素の許容事項を、その要素に
アクセシブルな名前があるかどうかに基づくよう更新。
address および hgroup
要素の許容事項を、更新された
group ロールへの対応付けに従って更新。
aside 要素で dpub
doc-glossary ロールを許容するよう更新。
button、input type=button、input type=image、
input type=reset、および input type=submit 要素で許容されるロールを整合させるよう更新。
s 要素で許容されるロールを更新し、その要素で
role=deletion を使用することは冗長と見なされる旨を明示。
summary 要素で許容される aria-* 属性およびロールを
条件に応じて改訂。
li 要素で許容されるロールを、リスト要素の親との
祖先関係の有無というコンテキストに
応じて更新。
search 要素を追加。
body 要素で aria-hidden=true を禁止。
figure 要素で許容されるロールに doc-example を含めるよう更新。
datalist 要素でロールおよび
aria-* 属性を禁止。
checked 属性をサポートする要素では
aria-checked を使用しない。
nav
要素で none および presentation ロールを許容。
div 要素が
dl 要素の子である場合に、許容されるロールを制限。
button 要素で combobox ロールを許容。
input type=button 要素で
combobox および checkbox ロールを許容。
li 要素での doc-biblioentry および
doc-endnote ロールの許容事項を変更。
これらのロールは、デジタル出版 WAI-ARIA モジュール 1.1で非推奨です。
img alt="some text" 要素で radio ロールを許容。
wbr
要素では none および presentation ロールのみを許容。
br および wbr 要素では、グローバル属性
aria-hidden のみを許容。
section 要素で group ロールを許容。
href のない area
要素で link および button ロールを許容。
picture 要素で aria-hidden 属性を許容。
この仕様に加えられた変更(参考情報および編集上の更新を含む)の完全な一覧については、 GitHub でクローズされたすべてのプルリクエストを 参照してください。
この文書は、アクセシブルなリッチ・インターネット アプリケーション・ワーキンググループによって、 勧告 トラックを用いた勧告として公開されました。
W3C は、この仕様をウェブの標準として 広く展開することを推奨します。
W3C 勧告とは、広範な 合意形成を経て、W3C およびそのメンバーによって承認され、 実装のための ロイヤルティフリーのライセンスについて ワーキンググループのメンバーから確約を得ている仕様です。 この勧告の今後の更新には、 新機能が組み込まれる可能性があります。
この文書は、 W3C 特許 方針の下で活動するグループによって作成されました。 W3C は、このグループの 成果物に関連して行われた 特許開示の公開一覧を管理しています。 そのページには、特許を開示するための 手順も記載されています。必須クレームを 含むと本人が考える特許について実際の 知識を有する個人は、 W3C 特許方針の第6節に従って、その情報を開示しなければなりません。
この文書には、 2025年8月18日付 W3C プロセス文書が適用されます。
このセクションは規定ではありません(参考情報)
ARIAを利用することで、著者はネイティブHTMLの現在の機能を超えるセマンティクスを指定できます。これは、HTMLだけでは不可能なウィジェットの作成や、ネイティブHTML機能に特定のアクセシブル状態やプロパティを公開する機会を著者に与え、有用です。
例えば、button要素には「押された」状態を公開するネイティブHTML機能がありません。ARIAは、aria-pressed属性を指定することで、要素のセマンティクスを拡張し、コントロールの視覚的な表現と一致する聴覚UIを実現できます。
下記の例では、button要素がウェブアプリケーション内の設定の状態をユーザーが切り替えられるようにしています。aria-pressed属性がbutton要素に付与され、「押された」状態を支援技術のユーザーにも伝えることができます。
<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でリンクの意図する役割や状態を伝えることです。
<a role=link aria-disabled=true>...</a>
このセクションは規定ではありません(参考情報)
ARIAは、異なるロールをユーザーに公開する必要がある場合に要素のロールを修正・訂正するのに有用ですが、例えばbuttonなどのインタラクティブ要素に、非インタラクティブ要素が持つロール(例:見出し)をARIAで上書きするのは、著者やユーザーの利益にならないことがほとんどです。
例として、下記はbutton要素にrole=headingを使用しています。これは許可されません。button要素にはデフォルトの機能があり、見出しロールのユーザー期待と衝突します。
<button role="heading">search</button>
著者は、buttonのデフォルト機能と表示を削除する追加の手順が必要となりますが、それでも、ユーザーがウェブページの利用方法によっては要素の暗黙的な機能を完全に抑制できない場合があります(例:Windowsのハイコントラストテーマやブラウザのリーダーモードで閲覧する場合など)。
下記の例では、button要素に明示的にrole=buttonを指定しています。これは不要です。なぜなら「button」要素はすでに暗黙的にbuttonロールとして公開されるからです。実際、この冗長指定は予期しない副作用はほぼありませんが、マークアップが冗長になり、他の著者に誤った有用性を示すことになります。不要なロール指定が問題となる例については3.3
副作用に注意するセクションを参照してください。
<!-- このようにしないでください! -->
<button role="button">...</button>
同様に、以下では
fieldset
要素に role=group を使用し、
main
要素に role=main を使用しています。
fieldset 要素は暗黙的に
role=group として公開され、同様に main 要素も
暗黙的に role=main として公開されるため、これは不要です。
<!-- このようにしないでください! -->
<fieldset role="group">...</fieldset>
<!-- 同様に、こちらも避けてください! -->
<main role="main">...</main>
下記は、ul要素にrole=listを指定しています。ul要素は暗黙的にlistロールを持つため、明示的な指定は一般的に冗長です。しかし、一部のユーザーエージェントではリストマーカーが視覚的に除去された場合、リストの暗黙的ARIAセマンティクスを抑制することがあります。このような特定状況や、ロールの公開が必要な場合は、明示的な指定が許容されます。
<!-- 基本的にはこのような指定は避けてください! -->
<ul role="list">...</ul>
下記は、summary要素にrole=buttonを指定しています。これは不要であり、プラットフォーム間の問題を引き起こす可能性があります。例えば、要素の状態が正しく公開されなくなったり、buttonロールが強制されることで、本来公開されるはずのプラットフォームやブラウザ固有のロールが失われることがあります。
<details>
<!-- このような指定は避けてください! -->
<summary role="button">more information</summary>
...
</details>
Accessible
Rich Internet Applications (WAI-ARIA) 1.2 では、著者による使用が想定されていない多くのロールが定義されています。その多くは抽象ロールとして分類され、著者による利用は明示的に禁止されています。下記は、著者が本来comboboxロールを使うべきところで抽象的なselectロールを誤用した例です。
<!-- このような指定はしないでください! -->
<div role="select" ...>...</div>
ARIAには、より特定のARIAセマンティクスを持たないHTML要素と機能的に等価なgenericロールも定義されています。例えばHTMLのdivやspanなどです。ARIAではgenericロールの使用は、ユーザーエージェントの実装者向けであり、著者の利用は推奨されません。
下記の例では、genericロールの代わりにdiv要素をarticle要素の代替として使用することが推奨されます。HTML要素の変更が不可能な場合は、暗黙のロールを除去するためにpresentationやnoneロールを指定してもかまいません。
<!-- このような指定は避けてください! -->
<article role="generic" ...>...</article>
さらにARIAでは、ホスト言語セマンティクスとの衝突において、著者が状態やプロパティを公開するためにHTMLのネイティブ機能とARIA属性の両方を使用した場合、ホスト言語の機能が優先されると明記しています。
例えば、下記の例では著者がHTMLのinput type=checkboxにaria-checked=trueを指定しています。しかし、ユーザーエージェントはaria-checked属性を無視し、フォームコントロールのネイティブ機能に基づいて状態を公開します。
<!-- このような指定はしないでください! -->
<input type="checkbox" checked aria-checked="false">
ARIAによってHTMLの機能が支援技術ユーザーにどのように公開されるかを変更できますが、これらの修正はHTMLのパースや許可されるコンテンツモデル自体には影響しません。例えば、div要素は任意のロール指定が可能ですが、HTMLの定義したルールと異なる使い方ができるわけではありません。
下記の例では、著者がdiv要素にlinkロールを指定しています。HTMLではハイパーリンク(role=link)はp要素の子孫として許可されていますが、HTMLパーサではdiv要素をp要素の子孫にすることは許可されていません。
<!-- このような指定はしないでください! -->
<p>
... <div role=link tabindex=0>...</div> ...
</p>
HTMLパーサは上記のマークアップを以下のように修正して出力します:
<!-- 上記のマークアップは以下のようにレンダリングされます -->
<p>...</p>
<div role=link tabindex=0>...</div>
...
<p></p>
<!-- divの代わりにspanを使いましょう。spanはp要素の子孫として許可されています! -->
<p>
... <span role=link tabindex=0>...</span> ...
</p>
本仕様は各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.1の
role 値を使用することは適合していますが、これらのロールは
ウェブサイトへの実装を意図したものではありません。デジタル出版
業界の範囲を超える目的でこれらのロールを使用する場合、意図した体験が利用者に提供されることを
確実にするため、追加の手動テストが必要になります。
| HTML要素 |
暗黙のARIAセマンティクス (これらをマークアップで明示的に指定することは NOT RECOMMENDED) |
ARIAロール・状態・プロパティの許容 |
|---|---|---|
a
に
href
がある場合
|
role=link
|
ロール:
DPub ロール:
グローバル
注記
リンクをプログラムによって「無効」と伝える必要がある場合は、
href
属性を削除する。
|
a
に
href
がない場合
|
role=generic
|
任意の
それ以外の場合、グローバル
|
abbr
|
対応するロールなし |
それ以外の場合、グローバル
|
address
|
role=group
|
それ以外の場合、グローバル
|
area
に
href
がある場合
|
role=link
|
グローバル |
area
に
href
がない場合
|
role=generic
|
ロール:
それ以外の場合、グローバル
|
article
|
role=article
|
ロール:
グローバル |
aside
|
role=complementary
|
ロール:
DPub ロール:
グローバル |
audio
|
対応するロールなし |
ロール:
グローバル |
| 自律 カスタム要素 |
作者が定義した
それ以外の場合 |
それ以外の場合、任意の
それ以外の場合、グローバル
|
b
|
role=generic
|
任意の
それ以外の場合、グローバル
|
base
|
対応するロールなし |
|
bdi
|
role=generic
|
任意の
それ以外の場合、グローバル
|
bdo
|
role=generic
|
任意の
それ以外の場合、グローバル
|
blockquote
|
role=
|
任意の
グローバル |
body
|
role=generic
|
それ以外の場合、グローバル
|
br
|
対応するロールなし |
ロール:
作者は |
button
|
|
ロール:
グローバル
|
canvas
|
対応するロールなし |
グローバル |
caption
|
role=
|
それ以外の場合、グローバル
|
cite
|
対応するロールなし |
それ以外の場合、グローバル
|
code
|
role=
|
それ以外の場合、グローバル
|
col
|
対応するロールなし |
|
colgroup
|
対応するロールなし |
|
data
|
role=generic
|
任意の
それ以外の場合、グローバル
|
datalist
|
role=listbox
|
|
dd
|
対応するロールなし |
グローバル |
del
|
role=
|
任意の
それ以外の場合、グローバル
|
details
|
role=group
|
グローバル |
dfn
|
role=term
|
グローバル |
dialog
|
role=dialog
|
ロール:
グローバル |
div
|
role=generic
|
それ以外の場合、グローバル
|
dl
|
対応するロールなし |
ロール:
グローバル |
dt
|
対応するロールなし |
ロール:
グローバル |
em
|
role=
|
任意の
それ以外の場合、グローバル
|
embed
|
対応するロールなし |
ロール:
グローバル |
fieldset
|
role=group
|
ロール:
グローバル |
figcaption
|
対応するロールなし |
ロール:
それ以外の場合、グローバル
|
figure
|
role=figure
|
DPub ロール:
それ以外の場合、
グローバル |
footer
|
それ以外の場合、 |
ロール:
DPub ロール:
命名禁止。
それ以外の場合、グローバル
|
form
|
|
ロール:
グローバル 注記
|
| フォーム関連 カスタム要素 |
作者が定義した
それ以外の場合 |
それ以外の場合、フォーム関連ロール:
それ以外の場合、グローバル
|
h1 から h6
|
role=heading,
aria-level = 要素のタグ名に含まれる数字
|
ロール:
DPub ロール:
グローバル |
head
|
対応するロールなし |
|
header
|
それ以外の場合、 |
ロール:
命名禁止。
それ以外の場合、グローバル
|
hgroup
|
role=group
|
それ以外の場合、グローバル
|
hr
|
role=separator
|
ロール:
DPub ロール:
グローバル |
html
|
role=generic
|
|
i
|
role=generic
|
任意の
それ以外の場合、グローバル
|
iframe
|
対応するロールなし |
ロール:
グローバル |
img
|
img が空でない
alt
(alt="some text") を持つ場合、または別の
img
命名方法によってアクセシブル名が提供される場合、
あるいは img に alt もアクセシブル名もない場合:role=img or image
|
ロール:
DPub ロール:
グローバル
|
img
の alt が空で、アクセシブル名がない場合
|
|
|
input type=button
|
role=button
|
ロール:
グローバル |
input type=checkbox
|
role=checkbox
|
ロール:
作者は
それ以外の場合、任意の グローバル
注記
HTML の
|
input type=color
|
対応するロールなし |
グローバル |
input type=date
|
対応するロールなし |
グローバル |
input type=datetime-local
|
対応するロールなし |
グローバル |
input type=email
に
list
属性がない場合
|
role=textbox
|
グローバル |
input type=file
|
対応するロールなし |
グローバル |
| 対応するロールなし |
|
|
input type=image
|
role=button
|
次のロールは許可されるが、推奨されない:
グローバル
可能であれば、作者は指定されたロールを許可する別の HTML 要素、
例えば |
input type=month
|
対応するロールなし |
グローバル |
input type=number
|
role=spinbutton
|
グローバル |
input type=password
|
対応するロールなし |
グローバル |
input type=radio
|
role=radio
|
ロール:
作者は
それ以外の場合、任意の グローバル
注記
HTML の
|
input type=range
|
role=slider
|
作者は
それ以外の場合、任意の
グローバル |
input type=reset
|
role=button
|
次のロールは許可されるが、推奨されない:
グローバル
可能であれば、作者は指定されたロールを許可する別の HTML 要素、
例えば |
input type=search,
に
list
属性がない場合
|
role=searchbox
|
グローバル |
input type=submit
|
role=button
|
次のロールは許可されるが、推奨されない:
グローバル
可能であれば、作者は指定されたロールを許可する別の HTML 要素、
例えば |
input type=tel,
に
list
属性がない場合
|
role=textbox
|
グローバル |
input type=text
または type が欠落もしくは無効で、
list
属性がない場合
|
role=textbox
|
ロール:
グローバル |
input type=text,
search,
tel,
url,
email,
または type が欠落もしくは無効で、
list
属性がある場合
|
role=combobox
|
作者は、
それ以外の場合、任意の
グローバル |
input type=time
|
対応するロールなし |
グローバル |
input type=url
に
list
属性がない場合
|
role=textbox
|
グローバル |
input type=week
|
対応するロールなし |
グローバル |
ins
|
role=
|
任意の
それ以外の場合、グローバル
|
kbd
|
対応するロールなし |
それ以外の場合、グローバル
|
label
|
対応するロールなし |
それ以外の場合、
それ以外の場合、グローバル
|
legend
|
対応するロールなし |
それ以外の場合、グローバル
|
li
|
それ以外の場合、
|
親のリスト要素が暗黙的または明示的な
それ以外の場合、親のリスト要素が暗黙的または明示的な
グローバル 作者は次の非推奨の DPub ロールを使用すべきではない:
|
link
|
対応するロールなし |
|
main
|
role=main
|
グローバル |
map
|
対応するロールなし |
|
mark
|
対応するロールなし |
それ以外の場合、グローバル
|
math
|
role=math
|
グローバル |
menu
|
role=list
|
ロール:
グローバル |
meta
|
対応するロールなし |
|
meter
|
role=
|
作者は
それ以外の場合、任意の
グローバル |
nav
|
role=navigation
|
ロール:
DPub ロール:
グローバル |
noscript
|
対応するロールなし |
|
object
|
対応するロールなし |
ロール:
グローバル |
ol
|
role=list
|
ロール:
グローバル |
optgroup
|
role=group
|
グローバル |
option
要素で、オプションの
リスト内にあるもの、または
datalist
内の候補を表すもの
|
role=option
|
作者は
グローバル |
output
|
role=status
|
任意の
グローバル |
p
|
role=
|
任意の
それ以外の場合、グローバル
|
param
|
対応するロールなし |
|
picture
|
対応するロールなし |
作者は |
pre
|
role=generic
|
任意の
それ以外の場合、グローバル
|
progress
|
role=progressbar
|
作者は
それ以外の場合、
任意の グローバル |
q
|
role=generic
|
任意の
それ以外の場合、グローバル
|
rp
|
対応するロールなし |
グローバル |
rt
|
対応するロールなし |
それ以外の場合、グローバル
|
ruby
|
対応するロールなし |
グローバル |
s
|
role=
|
任意の
それ以外の場合、グローバル
|
samp
|
role=generic
|
任意の
それ以外の場合、グローバル
|
script
|
対応するロールなし |
|
search
|
|
ロール:
グローバル |
section
|
それ以外の場合、 |
ロール:
DPub ロール:
グローバル |
select
(ドロップダウン
ボックスとしてレンダリングされる)
|
role=combobox
|
ロール:
作者は
それ以外の場合、
任意の グローバル |
select
(リスト
ボックスとしてレンダリングされる)
|
role=listbox
|
作者は
それ以外の場合、
任意の グローバル |
selectedcontent
|
role=generic
|
それ以外の場合、要素がカスタマイズ可能な
それ以外の場合、グローバル
|
slot
|
対応するロールなし |
|
small
|
role=generic
|
任意の
それ以外の場合、グローバル
|
source
|
対応するロールなし |
|
span
|
role=generic
|
任意の
それ以外の場合、グローバル
|
strong
|
role=
|
任意の
それ以外の場合、グローバル
|
style
|
対応するロールなし |
|
sub
|
role=
|
任意の
それ以外の場合、グローバル
|
summary
|
注記
summary 要素が公開するロールは、ユーザーエージェント
および支援技術によって異なる場合がある。
|
グローバル
それ以外の場合、 |
sup
|
role=superscript
|
任意の
それ以外の場合、グローバル
|
SVG
|
SVG AAM
で定義される role=graphics-document
|
任意の
グローバル |
table
|
role=table
|
グローバル |
tbody
|
role=rowgroup
|
任意の
グローバル |
td
|
祖先の
祖先の
祖先の |
祖先の
それ以外の場合、祖先の
グローバル |
template
|
対応するロールなし |
|
textarea
|
role=textbox
|
グローバル |
tfoot
|
role=rowgroup
|
任意の
グローバル |
th
|
祖先の
祖先の
祖先の |
祖先の
それ以外の場合、祖先の
グローバル |
thead
|
role=rowgroup
|
任意の
グローバル |
time
|
role=time
|
それ以外の場合、グローバル
|
title
|
対応するロールなし |
|
tr
|
role=row
|
祖先の
グローバル |
track
|
対応するロールなし |
|
u
|
role=generic
|
任意の
それ以外の場合、グローバル
|
ul
|
role=list
|
ロール:
グローバル |
var
|
対応するロールなし |
それ以外の場合、グローバル
|
video
|
対応するロールなし |
ロール:
グローバル |
wbr
|
対応するロールなし |
ロール:
作者は |
表の第2列で 対応するロールなし と記された要素には、
暗黙の ARIA
セマンティクスはないが、意味は
持っており、この意味は ARIA によって提供されないロール、状態、プロパティによって表現され、
アクセシビリティ API を介して支援技術のユーザーに公開される場合がある。
したがって、作者には、列挙された要素のセマンティクスを上書きするのではなく、
div
や
span
のような意味的に中立な要素に
role 属性を追加することが推奨される。
ここで提供される内容を超えて HTML で 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 要素の一例を示す。
<!-- 次のようにしてはならない! -->
<p aria-label="...">...</p>
<span aria-label="...">...<span>
<code aria-label="...">...<code>
<div aria-labelledby="...">...</div>
次のマークアップ例は、作者による命名を許可する明示的な WAI-ARIA ロールを持つ要素を示す。
これらの要素には明示的なロールが指定されているため、aria-label および
aria-labelledby 属性が許可される。
<p role="link" tabindex="0" aria-label="...">...</p>
<span role="button" tabindex="0" aria-label="...">...<span>
<div role="article" aria-labelledby="...">...</div>
特に明記されていない限り、作者は、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-* 属性に関する作者向けガイダンス
|
|---|---|---|
checked
属性が許可される任意の要素
|
aria-checked="true"
|
HTML で
作者は、要素の チェック状態、
または要素の不定チェック値が
作者は、この属性を許可する WAI-ARIA ロールを持つその他の任意の要素で
|
disabled
属性が許可される任意の要素。これには
option
disabled
および
optgroup
disabled
が含まれる
|
aria-disabled="true"
|
HTML で
作者は、HTML で
作者は、
作者は、 |
placeholder
属性が許可される任意の要素
|
aria-placeholder="..."
|
HTML で
作者は、HTML で
作者は、 |
max 属性が許可される任意の要素: meter
max,
progress
max,
および input
max
|
aria-valuemax="..."
|
HTML で
作者は、
作者は、
作者は、 |
min 属性が許可される任意の要素: meter
min
および input
min
|
aria-valuemin="..."
|
HTML で
作者は、
作者は、
作者は、 |
readonly 属性を許可する任意の要素:
input
readonly,
textarea
readonly
および
readonly
を許可する フォーム関連
カスタム要素
|
aria-readonly="true"
|
HTML で
作者は、この属性を許可する WAI-ARIA ロールを持つ任意の要素で、
作者は、
作者は、 |
|
注記
これは |
aria-readonly="false"
|
作者は isContentEditable="true" を持つ要素に
aria-readonly="true" を設定してはならない。
|
required 属性が許可される任意の要素: input
required,
textarea
required,
および select
required
|
aria-required="true"
|
HTML で
作者は、HTML で
作者は、
作者は、 |
colspan
属性が許可される任意の要素: td および th
|
aria-colspan="..."
|
HTML で
作者は、
作者は、 |
rowspan
属性が許可される任意の要素:
td および th
|
aria-rowspan="..."
|
HTML で
作者は、
作者は、 |
ARIA 仕様の 非推奨に関する 要件の節では、ARIA 機能が非推奨と記されている場合、作者には 新しいコンテンツでその機能を使用しないことが推奨されると示している。
次のロールおよび属性は、ARIA および DPub ARIA の非推奨機能である。適合性チェッカーは これらの機能が非推奨であることを作者に警告しなければならない。 可能な場合は常に、作者には非推奨機能の代替を使用することが推奨される。
directory ロールは WAI-ARIA
1.2 で非推奨予定として記されている。実際には、directory ロールは、
暗黙または明示的に宣言された list ロールを持つ要素と比較して機能上の
違いがなかった。作者には、代わりに HTML のネイティブなリスト要素のいずれか、
または ARIA の list ロールを使用することが推奨される。
doc-biblioentry および doc-endnote ロールは、
暗黙または明示的な list ロールを持つ要素の有効な子ではないため、
Digital Publishing WAI-ARIA Module
1.1 で非推奨予定として記されている。作者は、これらのロールを必要とせずに
標準のリストおよび子 li 要素を使用できる。
aria-dropeffect および aria-grabbed 属性は、
WAI-ARIA
1.1 で非推奨となった。現在、これらが意図していた
機能を置き換える ARIA の機能は存在しない。
作者は、すべての role トークン値、および値が
トークンとして定義される
状態またはプロパティ属性 (aria-*) に、ASCII 小文字を使用すべきである。
現代のブラウザーは role または aria-* 属性値を ASCII
大文字小文字不区別として扱うが、すべての支援技術がこれらの値を正しく解析するとは限らない。
相互運用性の問題を減らすため、作者には aria-* および role
属性値に ASCII
小文字を使用することが強く推奨される。さらに、
コンテンツがユーザーに正しく公開されることを確実にするため、
作者には異なるブラウザーと支援技術の組み合わせで厳密にテストすることが推奨される。
この節は非規範的である。
次の表は、[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列 (子孫の許容範囲) で、それらの特定のロールについて 「『必須の所有要素』を参照」と示すことによって識別されている。
非規範的と明記されたセクションだけでなく、本仕様書中のすべての著作ガイドライン、図、例、および注記も非規範的です。それ以外のすべては規範的です。
本書における MAY、MUST、MUST NOT、NOT RECOMMENDED、SHOULD、および SHOULD NOT というキーワードは、 BCP 14 [RFC2119] [RFC8174] に記載された通りに解釈されます。 ただし、本書のようにすべて大文字で現れる場合のみです。
HTMLドキュメント内のARIAのチェックに対応していることを謳う適合性チェッカーは、
MUST 本仕様で定義される通りに
role および aria-* 属性の適合要件のチェックを実装しなければなりません。
対象はHTML要素です。
適合するドキュメントは、著者定義の role
または aria-* 属性に関して、本仕様に従い各 HTML要素ごとに
著者が MAY とされた値以外を含んでは MUST NOT です。
適合性チェッカーは、著者が
暗黙のARIAセマンティクスと一致する
role を明示的に付与している場合を
エラーとしてフラグ付けすべきです SHOULD。
これは、これらロールを明示的に指定することは NOT RECOMMENDED だからです。
適合性チェッカーは、ドキュメントが本仕様に適合しない場合に、その独自の用語や重大度レベルを定義しても MAY です。
本節は非規範的です。
この仕様は、[wai-aria-1.2]、 [dpub-aria-1.1] または [HTML] の機能を定義するものではない。むしろ、 HTML における ARIA のチェックをサポートすると主張する適合性 チェッカー向けの規則とガイダンス、および作者向けのガイダンスを提供する。
よって、本仕様は新たな機能を定義しないため、潜在的な懸念を導入するプライバシーやセキュリティへの影響は知られていません。
Referenced in:
Referenced in:
Referenced in:
Referenced in: