可視ラベルが使用できない場所で不可視ラベルを提供するために、aria-label を使用する

達成方法に関する重要な情報

この達成方法 (参考) の使用法と、この達成方法が WCAG 2.1 達成基準 (規定) とどのように関係するのかに関する重要な情報については、WCAG 達成基準の達成方法を理解するを参照のこと。適用 (対象) のセクションは、その達成方法の範囲について説明しており、特定の技術に関する達成方法の存在は、その技術があらゆる状況で WCAG 2.1 を満たすコンテンツを作成するために使用できることを意味するものではない。

適用 (対象)

Accessible Rich Internet Applications (WAI-ARIA) をサポートするウェブコンテンツ技術。.

これは達成基準 4.1.2: 名前 (name)・役割 (role)・値 (value) (十分) に関する達成方法である。

解説

目の見える利用者の場合、要素のコンテキスト及び外観は目的を決定するために十分な手がかりを提供できる。一例は、ポップアップの div (ライトボックス) を閉じるためのコントロールを示すために、この div の右上隅でよく使用される 'X' である。

設計手法やレイアウトによって、可視のラベルが存在しないが、コンテキストと視覚的な外観によってコントロールの目的が明確になっているような場合、要素には、アクセシブルな名前を提供するために、aria-label 属性を与えられることがある。

この他、ネイティブ HTML ラベル要素がコントロールでサポートされない場合、要素には、アクセシブルな名前を提供するために属性 aria-label が与えられることがある――たとえば、よりリッチなテキスト編集体験を提供するために、divcontentEditable に設定され、input type="text"textarea などのネイティブフォーム要素の代わりに使用される場合である。

事例

例 1: ポップアップボックスにおける閉じるボタン (X)

ページ上で、リンクは追加情報をもつポップアップボックス (div) を表示する。その close (閉じる) 要素は、単に文字 'x' を含むボタンとして実装される。プロパティ aria-label="close" は、ボタンにアクセシブルな名前を提供するために使用される。

<div id="box">
   This is a pop-up box.
   <button aria-label="Close" onclick="document.getElementById('box').style.display='none';" class="close-button">X</button>				
</div>

動作例: 閉じるボタンの例.

例 2: 複数のフィールドを持つ電話番号

<div role="group" aria-labelledby="groupLabel">
  <span id="groupLabel>Work Phone</span>
  +<input type="number" aria-label="country code">
  <input type="number" aria-label="area code">
  <input type="number" aria-label="subscriber number">
</div>

参考リソース

この参考リソースは、あくまでも情報提供のみが目的であり、推薦などを意味するものではない。

検証

手順

aria-label を使用する要素に対して:

  1. 利用者の入力が要求される場所で aria-label 属性の値が適切に要素の目的を説明していることを確認する。

期待される結果

  • #1 の結果が真である。