リージョンとランドマークに名前 (name) を付けるために、aria-labelledby を使用する

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

これらの達成方法 (参考) の使用法及び、それらが WCAG 2.1 達成基準 (規定) とどのように関係するかに関する重要な情報については、WCAG 達成基準の達成方法を理解するを参照のこと。適用 (対象) セクションは、その達成方法の範囲について説明しており、特定の技術に関する達成方法があるからといって、WCAG 2.1 を満たすコンテンツを作成する際に、常にその技術が使用可能であるわけではない。

適用 (対象)

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

これは達成基準 1.3.1: 情報及び関係性 (十分) に関する達成方法である。

解説

この達成方法の目的は、支援技術によって読み取ることができるページの領域に対して名前を提供することである。aria-labelledby 属性は、領域又はランドマークとしてマークアップされたページ内のセクションと、そのセクションを分類するページ内のテキストを関連付ける方法を提供する。

ランドマークロール (又はランドマーク) は、ページのセクションをプログラムで識別できるようにする。ランドマークは、支援技術 (AT) 利用者がページに順応するのを支援し、様々なページのセクションにより簡単にナビゲートするのに役立つ。

aria-describedby のように、aria-labelledby は、スペース区切りのリストを使用して、ページの他の領域を指すための複数の ID を受け入れることができる。また、この集合を定義するものは ID に限定されている。

事例

例 1: ページ上のテキストをもつランドマークを識別する

以下は、complementary ランドマークに aria-labelledby を使用した一例である。この文書内の見出しがついている領域は、見出しの id 値を含む aria-labelledby プロパティによってマークすることができる。

<div role="complementary" aria-labelledby="hdr1">
  <h1 id="hdr1">
    Top News Stories
    ...
  </h1>
</div>

例 2: アプリケーションランドマークの識別

次のコード断片は、静的な文を含む application ランドマークである。タイプ application の領域ランドマークがあり、かつ静的な説明テキストが利用可能であるため、application ランドマークには、そのアプリケーションと静的テキストを関連付けるための aria-describedby による参照を含めている。

<div role="application" aria-labelledby="p123" aria-describedby="info">
  <h1 id="p123">Calendar<h1>
  <p id="info">
    This calendar shows the game schedule for the Boston Red Sox.
  </p>
<div role="grid">
  ...
</div>

参考リソース

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

検証

手順

  1. 属性 role=region 又はランドマークロールを持ち、aria-labelledby 属性も存在している各要素を調べる。
  2. aria-labelledby 属性値が、ページ上の要素の id であることを確認する。
  3. その id を持つ要素のテキストが、ページのセクションを正確にラベル付けしていることを確認する。

期待される結果

  • #2 及び #3 の結果が真である。