ARIA入力フィールドにはアクセシブルな名前が必要です

ルールID: aria-input-field-name
ルールセット: axe-core 4.10
ユーザーへの影響:
ガイドライン: WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), Trusted Tester, EN 301 549

Need accessibility training?

Deque University offers an extensive curriculum of self-guided online courses for every skillset and experience level.

Compliance Data & Impact

User Impact


Minor
Critical

Disabilities Affected

  • 盲目
  • 盲ろう者
  • 運動・器用さ

Standard(s)

  • WCAG 2.1 (A)
  • WCAG 2.0 (A)
  • WCAG 2.2 (A)
  • Trusted Tester
  • EN 301 549

WCAG 達成基準 [WCAG 2.1 (A)]

  • 4.1.2: Name, Role, Value

WCAG 達成基準 [WCAG 2.0 (A)]

  • 4.1.2: Name, Role, Value

WCAG 達成基準 [WCAG 2.2 (A)]

  • 4.1.2: Name, Role, Value

Trusted Tester 指南

  • 5.C: The combination of the accessible name, accessible description, and other programmatic associations (e.g., table column and/or row associations) describes each input field and includes all relevant instructions and cues (textual and graphical).

EN 301 549 指南

  • 9.4.1.2: Name, Role, Value

修正方法

正しいマークアップソリューション

この aria-input-field-label ルールには、テスト基準を満たす6つのマークアップ パターンが含まれています。

<!-- combobox -->
<div id="pass1" aria-label="country" role="combobox">England</div>
 
<!-- Select a color: -->
<p id="pass2Label">Select a color:</p>
<div id="pass2" role="listbox" aria-labelledby="pass2Label">
    <div role="option">Orange</div>
</div>
 
<!-- searchbox -->
<p id="pass3Label">Search currency pairs:</p>
<div id="pass3"
    role="searchbox"
    contenteditable="true"
    aria-labelledby="pass3Label"></div>
 
<!-- slider -->
<div id="pass4"
    role="slider"
    aria-label="Choose a value"
    aria-valuemin="1"
    aria-valuemax="7"
    aria-valuenow="2"></div>
 
<!-- spinbutton -->
<div id="pass5"
    role="spinbutton"
    aria-valuemin="0"
    aria-valuemax="10"
    aria-valuenow="8"
    aria-label="Enter quantity:"></div>
 
<!-- textbox -->
<label id="foo">
    foo
    <div id="pass6" role="textbox" aria-labelledby="foo"></div>
</label>

誤ったマークアップソリューション

この aria-input-field-label ルールには、テスト基準を満たさない10個のマークアップ パターンが含まれています。

<!-- aria-label with empty text string -->
<div id="fail1" aria-label=" " role="combobox">England</div>
 
<!-- The label does not exist. -->
<div id="fail2" aria-labelledby="non-existing" role="combobox">England</div>
 
<!-- The implicit label is not supported on div elements. -->
<label>
    first name
    <div id="fail3" role="textbox"></div>
</label>
 
<!-- explicit label not supported on div elements -->
<label for="fail4">first name</label>
<div role="textbox" id="fail4"></div>
 
<!-- combobox -->
<div id="fail5" role="combobox">England</div>
 
<!-- listbox -->
<div id="fail6" role="listbox" aria-labelledby="label-does-not-exist">
    <div role="option">Orange</div>
</div>
 
<!-- searchbox -->
<div id="fail7"
    role="searchbox"
    contenteditable="true"
    aria-labelledby="unknown-label"></div>
 
 
<!-- slider -->
<div id="fail8"
    role="slider"
    aria-valuemin="1"
    aria-valuemax="7"
    aria-valuenow="2"></div>
 
<!-- spinbutton -->
<div id="fail9"
    role="spinbutton"
    aria-valuemin="0"
    aria-valuemax="10"
    aria-valuenow="8"></div>
 
<!-- textbox -->
<label>foo
    <div id="fail10" role="textbox"></div>
</label>

なぜ重要なのか

この新しいルールにより、すべてのARIA入力フィールドにアクセシブルな名前が付けられます。次の入力フィールド ロールには、アクセシブルな名前が存在する必要があります。

  • コンボボックス
  • リストボックス
  • 検索ボックス
  • スライダー
  • スピンボタン
  • テキストボックス

ルールの説明

すべてのARIA入力フィールドにアクセシブルな名前が付いていることを確認します。

仕組みについて (簡単に言うと)

ARIA入力フィールドにはアクセシブルな名前が必要です。

リソース

axe 4.10 ルールの一覧 を参照する

この情報は役に立ちましたか?

すでにフィードバックをいただきました、ありがとうございます。.

あなたの回答は次のとおりです。

この情報は役に立ちましたか?
フィードバックが提出された日付/時刻: