ARIA in HTML 日本語訳

W3C Candidate Recommendation Snapshot

This version:
https://www.w3.org/TR/2021/CR-html-aria-20210706/
Latest published version:
https://www.w3.org/TR/html-aria/
Latest editor's draft:
https://w3c.github.io/html-aria/
Implementation report:
https://w3c.github.io/html-aria/results/implementation-results.html
Previous version:
https://www.w3.org/TR/2021/WD-html-aria-20210628/
Editors:
Steve Faulkner (TPGi)
Scott O'Hara (Microsoft)
Patrick H. Lauke (TetraLogical)
Participate:
GitHub w3c/html-aria
File an issue
Commit history
Pull requests

概要

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

この文書の位置付け

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

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

この文書は、Candidate Recommendation SnapshotとしてWeb Applications Working Groupによって発行された。この文書は、W3C勧告になることを意図する。

GitHub Issuesはこの仕様の議論のために優先される。また、メーリングリストにコメントを送ることもできる。public-webapps@w3.org購読アーカイブ)に送信されたい。

Candidate Recommendationでの公開はW3Cメンバーの支持を意味するものではない。Candidate Recommendation Snapshotはwide reviewを受けており、実装経験を収集することを目的としている。

このCandidate Recommendationは、2021年8月3日より前にProposed Recommendationに進むことは期待されていない。

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

この文書は、2020年9月15日のW3Cプロセス文書によって管理される。

1. ARIA in HTMLの使用に対する著者の要件

著者は、強いネイティヴセマンティックスと衝突するまたは与えられるHTML要素の暗黙のARIAセマンティックスと等価である場合を除いた、WAI-ARIAで説明される要求にしたがって、HTML要素の公開された意味(セマンティクス)を変更するためにARIA roleおよびaria-*属性を使用してもよい。HTML要素の暗黙のARIAセマンティクスは、HTML Accessibility API Mappings仕様で定義される。

この文書で定義される制約は、著者が文書の実際のUIを表すことのない無意味なユーザーインターフェイス(UI)情報を支援技術製品に報告させることから防ぐことを意図する。

著者は、§ 3. HTMLでARIA属性を使用するための文書適合性要件および§3.1 同等のHTML属性の代わりにARIA属性を使用するための要件の表に示されるセマンティックスと矛盾する方法でARIA roleおよびaria-*属性を使用してはならない。著者は、表に定義される暗黙のARIAセマンティックスと一致する値にARIA roleおよびaria-*属性を設定することは推奨されない。そうすることは不必要であり、意図しない結果につながる可能性がある。

2. 誤った使い方の例

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

2.1 デフォルトのロールを上書きしない

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

次は、button要素でrole=headingを使用する。button要素はheadingロールと衝突するデフォルト特性を持つため、これは許可されない。

1:誤ったロール
<button role="heading">search</button>

2.2 冗長なロールを追加しない

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

次は、button要素でrole=buttonを使用する。"button"は要素の暗黙のロールとしてすでに公開されているため、これは不要である。実際には、この冗長性は、不必要にマークアップを冗長にし、このプラクティスが有用であることを他の著者に誤って通知する以外には、予期しない副作用はおそらくない。

2:buttonの冗長なロール
<!-- Avoid doing this! -->
<button role="button">...</button>

同様に、以下はfieldset要素でrole=groupを使用し、main要素でrole=Mainを使用する。fieldset要素はrole=groupとして暗黙的に公開され、main要素はrole=mainとして暗黙的に公開されるため、これは不要である。繰り返しになるが、実際には、role値の宣言でASCII小文字を使用している限り、これが支援技術のユーザーに予期しない副作用をもたらすことはないだろう。 詳細については、§ 3.2 ARIAロール、ステートおよびプロパティ属性の活字ケース要件を参照のこと。

3:fieldsetおよびmainの冗長なロール
<!-- Avoid doing this! -->
<fieldset role="group">...</fieldset>
<!-- or this! -->
<main role="Main">...</main>

次は、ul 要素でrole=listを使用する。ul要素はrole=listとして暗黙的に公開されるため、これは不要である。しかし、一部のユーザーエージェントは、リストマーカーが削除される場合、リストの暗黙のARIAセマンティクスを抑制する。 著者は、必要に応じてロールを復元するためにrole=listを使用できるが、それ以外の場合にこの方法は一般に推奨されない。

4:listの冗長なロール
<!-- Generally avoid doing this! -->
<ul role="list">...</ul>

2.3 副作用に気をつける

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

次は、summary要素でrole=buttonを使用する。これは不要であり、クロスプラットフォームの問題が発生することがある。たとえば、要素がその状態を正しく公開できないようにし、buttonのロールを強制する。それ以外の場合は別のロールで公開されるかもしれない。

5:意図しない結果
<details>
  <!-- Avoid doing this! -->
  <summary role="button">more information</summary>
  ...
</details>

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

次の表は、HTML文書でARIAマークアップを使用するための要素ごとの文書適合基準要件を規定し、HTML AAMで定義されるHTML要素に適用される暗黙のARIAセマンティックスについて説明する。

1列目のセルでそれぞれの言語機能(要素)は同じ行の2列目のセルで与えられるARIAセマンティックス(ロール、ステート、およびプロパティ)を意味する。各行の3列目のセルは、使用してもよいARIAロールの値およびaria-*属性を定義する。3列目のセルにすべてのroleという用語が含まれる場合、暗黙のARIAセマンティクスroleの値とは別のroleの値を使用してもよいことを示す。3列目のセルに roleなしという用語が含まれている場合、著者はHTML要素の暗黙のARIAセマンティクスまたはネイティヴセマンティクスを上書きしてはならないことを示す。

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

次の表に示すように、Digital Publishing WAI-ARIA Module 1.0role値を使用することは適合しているが、これらの値のセマンティクスを支援技術のユーザーに公開するための現在のサポートは、ほとんど存在しない。

HTML要素ごとのARIA属性利用の規則
HTML要素

暗黙のARIAセマンティクス(これらをマークアップで明示的に割り当てることは推奨されない

使用してもよいARIAロール、ステートおよびプロパティ
hrefをもつa role=link

ロール:button, checkbox, menuitem, menuitemcheckbox, menuitemradio, option, radio, switch, tabまたはtreeitem

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

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

href属性をもつa要素にaria-disabledを使用することは推奨されない

リンクを"無効"にする必要がある場合、href属性を削除する。
hrefをもたないa 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

abbr 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

address 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

hrefをもつarea role=link

roleなし

グローバルaria-*属性およびlinkロールに受け入れ可能なすべてのaria-*属性

hrefをもたないarea 対応するロールなし

roleなし

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

article role=article

ロール:application, document, feed, main, none, presentationまたはregion.

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

aside role=complementary

ロール:feed, none, note, presentation, regionまたはsearch.

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

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

audio 対応するロールなし

ロール:application

グローバルaria-*属性およびapplicationロールに受け入れ可能なすべてのaria-*属性

自律カスタム要素 著者定義のElementInternalsから公開されたロール。そうでなければ、対応するロールなし

ElementInternalsで定義されたロールがある場合、roleなし

そうでなければ、すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

b 対応するロールなし すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

base 対応するロールなし roleまたはaria-*属性なし
bdi 対応するロールなし すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

bdo 対応するロールなし すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

blockquote 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

body 対応するロールなし

roleなし

グローバルaria-*属性およびdocumentロールに受け入れ可能なすべてのaria-*属性

br 対応するロールなし

ロール:presentationまたはnone.

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

button role=button

ロール:checkbox, link,menuitem, menuitemcheckbox, menuitemradio, option, radio, switchまたはtab.

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

canvas 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

caption 対応するロールなし

roleなし

グローバルaria-*属性

cite 対応するロールなし すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

code 対応するロールなし すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

col 対応するロールなし roleまたはaria-*属性なし
colgroup 対応するロールなし roleまたはaria-*属性なし
data 対応するロールなし すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

datalist role=listbox

roleなし

グローバルaria-*属性およびlistboxロールに受け入れ可能なすべてのaria-*属性。

dd role=definition

roleなし

グローバルaria-*属性およびdefinitionロールに受け入れ可能なすべてのaria-*属性

del 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

dfn role=term すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

details role=group

roleなし

グローバルaria-*属性およびgroupロールに受け入れ可能なすべてのaria-*属性

dialog role=dialog

ロール:alertdialog

グローバルaria-*属性およびdialogロールに受け入れ可能なすべてのaria-*属性

div 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

dl 対応するロールなし

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

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

dt role=term

ロール:listitem

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

em 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

embed 対応するロールなし

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

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

fieldset role=group

ロール:none, presentationまたはradiogroup.

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

figcaption 対応するロールなし

ロール:group, presentationまたはnone

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

figure role=figure

figurefigcaption子孫を持たない場合:
すべてのrole

figurefigcaption子孫を持つ場合:
ロール:roleなし

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

form form要素がアクセシブルな名前を持つ場合:role=form。そうでなければ、対応するロールなし

ロール:search, noneまたはpresentation

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

フォーム関連カスタム要素 著者定義のElementInternalsから公開されたロール。そうでなければ、対応するロールなし

ElementInternalsで定義されたロールがある場合、roleなし

そうでなければ、フォーム関連ロール:button, checkbox, combobox, listbox, progressbar, group, radio, radiogroup, searchbox, slider, spinbutton, switchまたはtextbox

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

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

ロール:none, presentationまたはtab.

DPubロール:doc-subtitle

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

head 対応するロールなし roleまたはaria-*属性なし
header article, aside, main, navもしくはsection要素の子孫でない、またはrole=article, complementary, main, navigationもしくはregionをもつ要素でない場合、role=banner。そうでなければ、対応するロールなし

ロール:group, noneまたはpresentation

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

hgroup 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

hr role=separator

ロール:groupまたはpresentation

DPubロール:doc-pagebreak

グローバルaria-*属性およびseparatorロールに受け入れ可能なすべてのaria-*属性

html role=document roleまたはaria-*属性なし
i 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

iframe 対応するロールなし

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

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

alt="テキスト"をもつimg role=img

ロール:button, checkbox, link, menuitem, menuitemcheckbox, menuitemradio, option, progressbar, scrollbar, separator, slider, switch, tabまたはtreeitem

DPubロール:doc-cover

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

alt=""をもつimg role=presentation roleなしまたはaria-hidden以外のaria-*属性ではない
alt属性をもたないimg role=img

他の img命名方法(例:aria-labelledbyaria-label)でアクセシブルな名前が提供されない場合:roleなし、および、aria-hidden="true"以外のaria-*属性なし

そうでなければ、imgが著者に定義されたアクセシブルな名前を持つ場合、alt="some text"をもつimgを参照。

input type=button role=button

ロール:link, menuitem, menuitemcheckbox, menuitemradio, option, radio, switchまたはtab

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

input type=checkbox

role=checkbox

ロール:menuitemcheckbox, optionまたは switcharia-pressedともに使用される場合はbutton

著者は、input type=checkbox要素にaria-checked属性を使用すべきでない

そうでなければ、グローバルaria-*属性および許可されたロールに適用可能なaria-*属性。

HTML checked属性は、type=checkboxで使用するときのmenuitemcheckboxoptionまたは switcharia-checked属性の代わりに使用できる。

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

roleなし

グローバルaria-*属性

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

roleなし

グローバルaria-*属性およびtextboxロールに受け入れ可能なすべてのaria-*属性

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

roleなし

グローバルaria-*属性およびtextboxロールに受け入れ可能なすべてのaria-*属性

list属性のないinput type = email role=textbox

roleなし

グローバルaria-*属性およびtextboxロールに受け入れ可能なすべてのaria-*属性

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

roleなし

グローバルaria-*属性

input type=hidden 対応するロールなし roleまたはaria-*属性なし
input type=image role=button

ロール:link, menuitem, menuitemcheckbox, menuitemradio, radioまたはswitch

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

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

roleなし

グローバルaria-*属性およびtextboxロールに受け入れ可能なすべてのaria-*属性

input type=number role=spinbutton

roleなし

グローバルaria-*属性およびspinbuttonロールに受け入れ可能なすべてのaria-*属性

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

roleなし

グローバルaria-*属性およびtextboxロールに受け入れ可能なすべてのaria-*属性

input type=radio role=radio

ロール:menuitemradio

著者は、input type=radio要素にaria-checked属性を使用すべきでない

そうでなければ、グローバルaria-*属性および許可されたロールに適用可能なaria-*属性。

HTML checked属性は、type=radioで使用するときのmenuitemradioaria-checked属性の代わりに使用できる。

input type=range role=slider

roleなし

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

そうでなければ、グローバルaria-*属性およびsliderロールに受け入れ可能なすべてのaria-*属性。

input type=reset role=button

roleなし

グローバルaria-*属性およびbuttonロールに受け入れ可能なすべてのaria-*属性

input type=submit role=button

roleなし

グローバルaria-*属性およびbuttonロールに受け入れ可能なすべてのaria-*属性

list属性のないinput type=tel role=textbox

roleなし

グローバルaria-*属性およびtextboxロールに受け入れ可能なすべてのaria-*属性

list属性のない、input type=textまたはtypeが欠損もしくは不正 role=textbox

ロール:combobox, searchboxまたはspinbutton

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

list属性をもつ input type=text searchtelurlemailまたはtypeが欠損または不正 role=combobox

roleなし

著者は、指定されたlist属性をもつinputaria-haspopup属性を使用すべきではない

そうでなければ、グローバルaria-*属性およびcomboboxロールに受け入れ可能なすべてのaria-*属性。

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

roleなし

グローバルaria-*属性およびtextboxロールに受け入れ可能なすべてのaria-*属性

list属性のないinput type=url role=textbox

roleなし

グローバルaria-*属性およびtextboxロールに受け入れ可能なすべてのaria-*属性

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

roleなし

グローバルaria-*属性およびtextboxロールに受け入れ可能なすべてのaria-*属性

ins 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

kbd 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

label 対応するロールなし

roleなし

グローバルaria-*属性

legend 対応するロールなし

roleなし

グローバルaria-*属性

li role=listitem

ロール:menuitem, menuitemcheckbox, menuitemradio, option, none, presentation, radio, separator, tabまたはtreeitem

DPubロール:doc-biblioentry, doc-endnote

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

main role=main

roleなし

グローバルaria-*属性およびmainロールに受け入れ可能なすべてのaria-*属性

map 対応するロールなし roleまたはaria-*属性なし
math role=math

roleなし

グローバルaria-*属性およびmathロールに受け入れ可能なすべてのaria-*属性

mark 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

menu role=list

ロール:directory, group, listbox, menu, menubar, none, presentation, radiogroup, tablist, toolbarまたはtree

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

meta 対応するロールなし roleまたはaria-*属性なし
meter 対応するロールなし

roleなし

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

そうでなければ、グローバルaria-*属性

nav role=navigation

ロール:menu, menubarまたはtablist.

DPubロール:doc-index, doc-pagelist, doc-toc

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

noscript 対応するロールなし roleまたはaria-*属性なし
object 対応するロールなし

ロール:application, documentまたはimg

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

ol role=list

ロール:directory, group, listbox, menu, menubar, none, presentation, radiogroup, tablist, toolbarまたはtree

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

optgroup role=group

roleなし

グローバルaria-*属性およびgroupロールに受け入れ可能なすべてのaria-*属性

オプションリストで存在するまたはdatalist要素で提案を表すoption要素 role=option

roleなし

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

グローバルaria-*属性およびoptionロールに受け入れ可能なその他のaria-*属性

output role=status

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

p 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

param 対応するロールなし roleまたはaria-*属性なし
picture 対応するロールなし roleまたはaria-*属性なし
pre 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

progress role=progressbar

roleなし

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

そうでなければ、グローバルaria-*属性およびprogressbarロールに受け入れ可能なその他のaria-*属性。

q 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

rp 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

rt 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

ruby 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

s 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

samp 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

script 対応するロールなし roleまたはaria-*属性なし
section section要素がアクセシブルな名前を持つ場合、role=region。そうでなければ、対応するロールなし

ロール:alert, alertdialog, application, banner, complementary, contentinfo, dialog, document, feed, log, main, marquee, navigation, none, note, presentation, search, statusまたはtabpanel

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-*属性

selectmultiple属性をもたず、かつ1より大きい値を持つsize属性がない) role=combobox

ロール:menu

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

そうでなければ、グローバルaria-*属性およびcomboboxまたはmenuロールに受け入れ可能なすべてのaria-*属性。

selectmultiple属性、または1より大きい値を持つsize属性をもつ) role=listbox

roleなし

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

そうでなければ、グローバルaria-*属性およびlistboxロールに受け入れ可能なすべてのaria-*属性。

slot 対応するロールなし roleまたはaria-*属性なし
small 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

source 対応するロールなし roleまたはaria-*属性なし
span 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

strong 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

style 対応するロールなし roleまたはaria-*属性なし
SVG SVG AAMで定義されたrole=graphics-document

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

sub 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

summary role=button

roleなし

グローバルaria-*属性およびbuttonロールに受け入れ可能なすべてのaria-*属性

sup 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

table role=table

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

tbody role=rowgroup

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

template 対応するロールなし roleまたはaria-*属性なし
textarea role=textbox

roleなし

グローバルaria-*属性およびtextboxロールに受け入れ可能なすべてのaria-*属性

tfoot role=rowgroup

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

thead role=rowgroup

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

time 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

title 対応するロールなし roleまたはaria-*属性なし
td

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

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

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

祖先table要素role=tablegrid、またはtreegridを持つ場合、roleなし。 それ以外の場合はすべてのrole

グローバル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なし。 それ以外の場合はすべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

tr role=row

祖先table要素role=tablegrid、またはtreegridを持つ場合、roleなし。 それ以外の場合はすべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

track 対応するロールなし roleまたはaria-*属性なし
u 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

ul role=list

ロール:directory, group, listbox, menu, menubar, none, presentation, radiogroup, tablist, toolbarまたはtree

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

var 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

video 対応するロールなし

ロール:application

グローバルaria-*属性およびapplicationロールに受け入れ可能なすべてのaria-*属性

wbr 対応するロールなし

すべてのrole

グローバルaria-*属性および許可されるロールに受け入れ可能なすべてのaria-*属性

表の2列目の対応するロールなしでマークされる要素は、一切の暗黙のARIAセマンティックスを持たないが、意味を持ち、かつこの意味はARIAによって提供されないロール、ステートおよびプロパティで表されてもよく、アクセシビリティAPIを経由して支援技術のユーザーに公開される。したがって、著者は、記載される要素のセマンティックスを上書きするよりも、 divまたはspan,などの意味的に中立な要素にrole属性を追加することを推奨する。

著者は、ここで提供されるものを超えたHTMLにおけるARIAの使用に関するガイダンスのために、以下の文書の利用を推奨する:

  • Using ARIA - Accessible Rich Internet Applications仕様(ARIA 1.1)を使用してHTML要素にアクセシビリティ情報を追加する方法についての著者のための実用的なガイド。
  • WAI-ARIA1.2 Authoring Practices - アクセシブル・リッチ・インターネット・アプリケーションを理解して実装する著者のガイド。

3.1 同等のHTML属性の代わりにARIA属性を使用するための要件

特に明記されない限り、著者は、aria-*セマンティクスが期待されるHTML要素で同等のHTMLの代わりにaria-*属性を使用してもよい。たとえば、著者は、disabled属性ではなく、buttonaria-disabled=trueを使用してもよい。しかし、著者はネイティヴHTML属性とaria-*属性の両方を一緒に使うべきではなく、これらの機能の値が互いに相反する場合は一緒に使ってはならないWAI-ARIAのホスト言語セマンティクスとの競合で述べられているように、ユーザーエージェントはWAI-ARIA属性を無視し、同じ暗黙のARIAセマンティクスでホスト言語(HTML)属性を使用しなければならない

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

1列目のセルでそれぞれの言語機能(要素および属性)は同じ行の2列目のセルで与えられるARIAセマンティックス(ロール、ステート、およびプロパティ)を意味する。各行の3列目のセルは、著者がネイティヴHTML機能を使用する方法と、同じ暗黙のARIAセマンティクスを提供するaria-*属性を使用するための要件を定義する。

HTMLの機能によるARIA属性利用の規則
HTMLの機能

暗黙のARIAセマンティックス -

HTMLの機能およびaria-*属性の著者ガイダンス
checked属性が許可されているすべての要素 aria-checked="true"

HTMLで許可されるchecked属性であるすべての要素上のchecked属性を使用する。

著者は、要素のcheckednessaria-checked属性の現在の値と反対になる可能性がある要素に対して、aria-checked属性を使用すべきでない

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

option disabledおよびoptgroup disabledを含む、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"

著者は、次の例外を除いて、グローバルaria-*属性を許可するすべてのHTML要素でaria-hidden属性を使用してもよい

著者は、hidden属性も持つすべて要素でaria-hidden="true"属性を使用すべきでない

placeholder属性が許可されているすべての要素 aria-placeholder="..."

HTMLでplaceholder属性が許可される要素上のplaceholder属性を使用する。

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

著者は、placeholder属性も持つすべての要素にaria-placeholder属性を使用してはならない

max属性が許可されているすべての要素:meter maxprogress max、および input max aria-valuemax="..."

HTMLで許可されるmax属性であるすべての要素上のmax属性を使用する。

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

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

たとえ各属性の値が一致するとしても、max属性も持つすべての要素にaria-valuemaxを使用してはならばい

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

HTMLで許可されるmin属性であるすべての要素上のmin属性を使用する。

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

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

著者は、たとえそれぞれの属性の値が一致していても、max属性も持つ要素でaria-valueminを使用してはならない

readonly属性を許可するすべての要素:input readonlytextarea readonlyおよびreadonlyを許可するフォームに関連付けられたカスタム要素 aria-readonly="true"

HTMLで許可されるreadonly属性であるすべての要素上のreadonly属性を使用する。

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

著者は、readonly属性も持つ要素にaria-disabled="true"を使用すべきでない

著者は、readonly属性も持つ要素にaria-disabled="false"を使用してはならない

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

これは、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属性を使用する。

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

著者は、colspan属性も持つ要素にaria-colspan属性を使用すべきでない

著者は、colspan属性も持ち、かつそれぞれの属性の値が一致しない要素でaria-colspanを使用してはならない

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

HTMLで許可されるrowspan属性であるすべての要素上のrowspan属性を使用する。

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

著者は、rowspan属性も持つ要素にaria-rowspan属性を使用すべきでない

著者は、rowspan属性も持ち、かつそれぞれの属性の値が一致しない要素でaria-rowspanを使用してはならない

3.2 ARIAロール、ステートおよびプロパティ属性の活字ケース要件

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

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

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

4. ARIAロールの許可された子孫

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

次の表は、コンテンツの種類および許可される子孫情報([HTML]仕様で定義)を同等の役割を持つ要素にマップ(および拡張)する。

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

たとえば、button要素は暗黙のrole=buttonを持つ。HTMLにおいて、button要素は、子孫としてフレージングコンテンツを許可し、インタラクティブコンテンツまたはtabindex属性をもつ子孫を許可しない。したがって、role=buttonで指定されたすべての要素は、すべてのインタラクティブコンテンツの子孫、tabindexをもつ要素、または(3列目で特定された)インタラクティブコンテンツカテゴリーに属するロール値をもつすべての要素を許可しない。

適合しない子孫の例
<!-- conformance checkers will report an error -->
<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.1が許可された子孫に特定の要件を指定した特定のロールが存在する。これらは、これらの特定のロールについて"必須の所有要素"を参照する"ことを示すことにより、列3(子孫の許容)で特定される。

ARIAロールの許可された子孫
ロール コンテンツの種類 子孫の許容
alert フローコンテンツ フローコンテンツ、ただしmain要素の子孫を除く。
alertdialog フローコンテンツ フローコンテンツ
application フローコンテンツ フローコンテンツ
article フローコンテンツ、ただしmain要素の子孫を除く。
banner フローコンテンツ、ただしmain, headerまたは footer要素の子孫を除く。
button フレージングコンテンツ、ただしインタラクティブコンテンツの子孫、および tabindex属性が指定された子孫を除く。
cell N/A フローコンテンツ、ただしmain要素の子孫を除く。
checkbox フレージングコンテンツ、ただしインタラクティブコンテンツの子孫、および tabindex属性が指定された子孫を除く。
columnheader N/A フローコンテンツ、ただしmain, headerまたは footer要素の子孫を除く。
combobox フローコンテンツ、ただしmain要素の子孫を除く。
complementary フローコンテンツ、ただしmain要素の子孫を除く。
contentinfo フローコンテンツ、ただしmain, headerまたは footer要素の子孫を除く。
definition フレージングコンテンツ
dialog フローコンテンツ フローコンテンツ
directory フローコンテンツ フローコンテンツ、ただしmain要素の子孫を除く。
document フローコンテンツ フローコンテンツ
feed フローコンテンツ フローコンテンツ、ただしmain要素の子孫を除く。
figure フローコンテンツ、ただしmain要素の子孫を除く。
form フローコンテンツ、ただしform要素の子孫を除く。
grid ARIA gridロールで定義される"必須の所有要素"を参照。
gridcell インタラクティブコンテンツ フローコンテンツ、ただしmain要素の子孫を除く。
group フローコンテンツ
heading フローコンテンツ、ただしmain要素、ヘディングコンテンツセクショニングコンテンツセクショニングルートをもたない。
img フレージングコンテンツ、ただしインタラクティブコンテンツの子孫を除く。
link フローコンテンツインタラクティブコンテンツが存在せず、かつtabindex属性が指定された子孫を除く。
list フローコンテンツ ARIA listロールで定義される"必須の所有要素"を参照。
listbox ARIA listboxロールで定義される"必須の所有要素"を参照。
listitem N/A フローコンテンツ、ただしmain要素の子孫を除く。
log フローコンテンツ フローコンテンツ、ただしmain要素の子孫を除く。
main フローコンテンツ フローコンテンツ、ただしmain要素の子孫を除く。
marquee フローコンテンツ フローコンテンツ、ただしmain要素の子孫を除く。
math フローコンテンツ フローコンテンツ
menu ARIA treegridロールで定義される"必須の所有要素"を参照。
menubar ARIA menubarロールで定義される"必須の所有要素"を参照。
menuitem インタラクティブコンテンツ フレージングコンテンツ、ただしインタラクティブコンテンツの子孫、および tabindex属性が指定された子孫を除く。
menuitemcheckbox インタラクティブコンテンツ フレージングコンテンツ、ただしインタラクティブコンテンツの子孫、および tabindex属性が指定された子孫を除く。
menuitemradio インタラクティブコンテンツ フレージングコンテンツ、ただしインタラクティブコンテンツの子孫、および tabindex属性が指定された子孫を除く。
navigation フローコンテンツ、ただしmain要素の子孫を除く。
none N/A 透過的
note フローコンテンツ フローコンテンツ、ただしmain要素の子孫を除く。
option インタラクティブコンテンツ フレージングコンテンツ、ただしインタラクティブコンテンツの子孫、および tabindex属性が指定された子孫を除く。
presentation N/A 透過的
progressbar フローコンテンツ、ただしprogress要素の子孫を除く。
radio フレージングコンテンツ、ただしインタラクティブコンテンツの子孫、および tabindex属性が指定された子孫を除く。
radiogroup フローコンテンツ
region フローコンテンツ、ただしmain要素の子孫を除く。
row N/A ARIA rowロールで定義される"必須の所有要素"を参照。
rowgroup N/A ARIA rowgroupロールで定義される"必須の所有要素"を参照。
rowheader N/A フローコンテンツ、ただしmain要素の子孫を除く。
scrollbar インタラクティブコンテンツ フレージングコンテンツ
search フローコンテンツ、ただしmain要素の子孫を除く。
searchbox フローコンテンツ、ただしmain要素の子孫を除く。
separator インタラクティブコンテンツ(フォーカス可能な場合)。 フレージングコンテンツ
slider フレージングコンテンツ
spinbutton フローコンテンツ、ただしmain要素の子孫を除く。
status フローコンテンツ フローコンテンツ、ただしmain要素の子孫を除く。
switch フレージングコンテンツ、ただしインタラクティブコンテンツの子孫、および tabindex属性が指定された子孫を除く。
tab インタラクティブコンテンツ フレージングコンテンツ、ただしインタラクティブコンテンツの子孫、および tabindex属性が指定された子孫を除く。
table ARIA tableロールで定義される"必須の所有要素"を参照。
tablist ARIA tablistロールで定義される"必須の所有要素"を参照。
tabpanel フローコンテンツ フローコンテンツ
term フレージングコンテンツ フレージングコンテンツ
textbox インタラクティブコンテンツ フローコンテンツ、ただしmain要素の子孫を除く。
timer フローコンテンツ フローコンテンツ、ただしmain要素の子孫を除く。
toolbar フローコンテンツ フローコンテンツ、ただしmain要素の子孫を除く。
tooltip フローコンテンツ フレージングコンテンツ
tree フローコンテンツ ARIA treeロールで定義される"必須の所有要素"を参照。
treegrid フローコンテンツ ARIA treegridロールで定義される"必須の所有要素"を参照。
treeitem インタラクティブコンテンツ フレージングコンテンツ

5. 適合

非規範的とマークされたセクションだけでなく、この仕様のすべてのオーサリングガイドライン、ダイアグラム、例、および注も非規範的である。この仕様におけるその他すべては規範的である。

この文書におけるキーワードMAYMUSTMUST NOTNOT RECOMMENDEDSHOULDおよびSHOULD NOTは、ここに示すように、すべて大文字で表記される場合に限り、BCP 14 [RFC2119] [RFC8174]記述されるように解釈される。

適合性チェックの要件

HTML文書におけるARIAのチェックに対するサポートを主張する適合チェッカーは、この仕様で定義されるようにHTML要素のARIAのroleおよびaria-*属性の使用のための文書適合性要件に対するチェックを実装しなければならない

適合文書は、著者が定義したroleまたはaria-*属性をもつ要素を含めてはならない。この仕様に従って、著者は、§ 3. HTMLでARIA属性を使用するための文書適合性要件の各HTML要素で使用してもよい。 適合性チェッカーは、作成者がこれらの役割を明示的に設定することは推奨されないため、作成者が暗黙のARIAセマンティクスに一致する役割を要素に明示的に提供しているインスタンスにフラグを立てる必要があります。

適合性チェッカーは、この仕様に適合していない文書を表面化される場合に、独自の用語または深刻度のレベルを定義してもよい

6. プライバシーおよびセキュリティの配慮

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

この仕様は、[wai-aria-1.1]、[dpub-aria-1.0] または [HTML]の機能を定義するものではない。むしろ、HTMLでARIAをチェックするサポートを主張する適合性チェッカーのためのルールおよびガイダンスを提供し、著者へのガイダンスを提供する。

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

7. 変更点

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

The following are some significant changes that were made since last wide review:

  1. 13-May-2021: Update allowed descendants for ARIA roles, where specific children / descendants are necessary - link to ARIA specification.
  2. 07-Mar-2021: Update allowed roles for nav element. Adds menu, menubar and tablist as allowed roles
  3. 20-Feb-2021: Add separate conformance guidance for specific aria-* attributes in HTML. Specifically, clarifies or specifies guidance for use of aria-checked, aria-disabled, aria-hidden, aria-placeholder, aria-valuemax, aria-valuemin, aria-readonly, aria-required, aria-colspan, aria-rowspan, aria-invalid
  4. 19-Feb-2021: Allow any role on svg
  5. 19-Feb-2021: aria-disabled not recommended on a with href
  6. 13-Feb-2021: Clarify custom element role allowances
  7. 13-Feb-2021: Update allowed children for roles with child presentational
  8. 25-Nov-2020: No allowed roles for img with alt=""
  9. 15-Feb-2020: Update allowances for figure element
  10. 15-Feb-2020: Limits allowed roles on img alt="some text"
  11. 15-Feb-2020: Remove allowance of role=button on summary element. Adding role=button without also re-implementing aria-expanded breaks the implicit mapping of the element.
  12. 19-Dec-2019: Adds form-associated custom element
  13. 06-Dec-2019: Adds br element. Allows role=presentation or none
  14. 18-Oct-2019: Specify author requirements for "No Role"
  15. 08-Oct-2019: Allow role=doc-epigraph on section element
  16. 30-Sep-2019: Allow role=doc-dedication on aside element
  17. 29-Sep-2019: Adds menu and autonomous custom element
  18. 28-Sep-2019: Allow role=note on section element
  19. 27-Jul-2019: Allow role=radiogroup on fieldset element
  20. 21-May-2019: Adds hgroup, a with and without href, input type=datetime-local, slot, i, rp, img with no alt and removes elements not part of the HTML Living Standard
  21. 24-Mar-2019: Adds data element
  22. 08-Jul-2018: Allow role=none and presentation on iframe element
  23. 26-Jun-2018: Allow role=combobox and spinbutton on input type=text
  24. 14-Apr-2018: Adds abbr element
  25. 29-Sep-2017: Allow role=none on any element that allows role=presentation, Add to hr element. Add to ul element
  26. 27-Aug-2017: Added conformance requirements for use of DPUB roles. Specifically for a with href, aside, dl, footer, h1-h6, header, li, nav, and section elements

A. 参考文献

A.1 標準情報

[dpub-aria-1.0]
Digital Publishing WAI-ARIA Module 1.0. Matt Garrish; Tzviya Siegman; Markus Gylling; Shane McCarron. W3C. 14 December 2017. W3C Recommendation. URL: https://www.w3.org/TR/dpub-aria-1.0/
[html]
HTML Standard. Anne van Kesteren; Domenic Denicola; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
[html-aam-1.0]
HTML Accessibility API Mappings 1.0. Steve Faulkner; Alexander Surkov; Scott O'Hara; Bogdan Brinza; Jason Kiss; Cynthia Shelly. W3C. 17 August 2020. W3C Working Draft. URL: https://www.w3.org/TR/html-aam-1.0/
[infra]
Infra Standard. Anne van Kesteren; Domenic Denicola. WHATWG. Living Standard. URL: https://infra.spec.whatwg.org/
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119
[RFC8174]
Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. May 2017. Best Current Practice. URL: https://tools.ietf.org/html/rfc8174
[svg-aam-1.0]
SVG Accessibility API Mappings. Amelia Bellamy-Royds; Ian Pouncey. W3C. 10 May 2018. W3C Working Draft. URL: https://www.w3.org/TR/svg-aam-1.0/
[wai-aria-1.1]
Accessible Rich Internet Applications (WAI-ARIA) 1.1. Joanmarie Diggs; Shane McCarron; Michael Cooper; Richard Schwerdtfeger; James Craig. W3C. 14 December 2017. W3C Recommendation. URL: https://www.w3.org/TR/wai-aria-1.1/

A.2 参考文献

[using-aria]
Using ARIA. Steve Faulkner; David MacDonald. W3C. 27 September 2018. W3C Working Draft. 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; Joseph Scheuhammer; Lisa Pappas; Richard Schwerdtfeger. W3C. 18 December 2019. W3C Working Draft. URL: https://www.w3.org/TR/wai-aria-practices-1.2/