本文へ移動
easeweb
ご相談
トピックを検索

区別できない複数のナビゲーションランドマーク

ショップのページに nav 要素が3つあり、2つには名前がなく、1つは「フッターナビゲーション」という名前のため、ランドマークの一覧で「ナビゲーション」が2回読まれ、続けて「フッターナビゲーション ナビゲーション」と読まれます。

WCAG 2.2
SC 1.3.1A
必須とする規格
Section 508 · EN 301 549(EU) · JIS X 8341-3
問題あり <nav>
アクセシビリティの問題を示した図: 三つとも区別がつかない。
01

問題

スクリーンリーダー利用者がページ内のナビゲーションを区別できず、必要なものへ直接移動できません。

02

試してみる

ランドマークの一覧を使って、ヘルプのリンクへ移動してください。

一覧には、このページでスクリーンリーダーが示すランドマークが出ます。項目を選ぶとそこへ移動します。試す前に、どれに「返品」があるか分かりますか?

問題あり 修正できますか?

新着:キッチンリネン

12点の商品

スクリーンリーダーのランドマーク一覧:

再現デモです。「問題あり」は意図的にアクセシブルでない状態にしています。

03

修正方法

繰り返し使うランドマークには、中身を表す名前を、見える見出しがあればそこから付けます。

  1. 12回以上使うランドマークのロールには、インスタンスごとに固有の名前を付ける。
  2. 2ランドマークの名前は、ロールを含めず、中身を表す一、二語にする。
  3. 3見える見出しがあれば、aria-labelledby でそこから名前を付ける。
修正前 名前のない nav と、ロールを繰り返す nav
<header>  <a href="/" class="logo">Fern & Fold</a>  <nav>    <ul>      <li><a href="/shop">ショップ</a></li>      <li><a href="/journal">読みもの</a></li>      <li><a href="/about">私たちについて</a></li>    </ul>  </nav></header><div class="layout">  <nav class="sidebar">    <h2>カテゴリー</h2>    <ul>…キッチン、バッグ、文房具…</ul>  </nav>  <main>…</main></div><footer>  <nav aria-label="フッターナビゲーション">    <h2>ヘルプ</h2>    <ul>…配送、返品、お問い合わせ…</ul>  </nav></footer>
修正後

各 nav に aria-label を付ける

<header>  <a href="/" class="logo">Fern & Fold</a>  <nav aria-label="メイン">    <ul>…ショップ、読みもの、私たちについて…</ul>  </nav></header><div class="layout">  <nav class="sidebar" aria-label="カテゴリー">    <h2>カテゴリー</h2>    <ul>…キッチン、バッグ、文房具…</ul>  </nav>  <main>…</main></div><footer>  <nav aria-label="ヘルプ">    <h2>ヘルプ</h2>    <ul>…配送、返品、お問い合わせ…</ul>  </nav></footer>

AI コーディングアシスタントで修正しますか? このガイドを Markdown で取得

04

修正の確認

マウスを使わない3つの確認

確認方法: スクリーンリーダー

3件中0件を確認済み

OS、ブラウザーと支援技術のバージョン、ビルド、実施日、各手順の実際の結果を記録してください。ナビゲーションを追加したときや共通のレイアウトを変更した際は、再度確認します。

制限

このサンプルは、どのアプリケーションでも同じ結果になることを保証するものではありません。パス、クラス名、リストの中の … は仮のものです。ランドマークの一覧の言い回しはスクリーンリーダーによって違い、名前より先にロールを読むものもあるため、言い回しではなく名前を聞いてください。このガイドはランドマークの名前を扱い、ページに適切なランドマークがあるか、ランドマークの外に内容が残っていないかは扱いません。実際に使用する支援技術で、操作全体を確認してください。

よくある問題を再現した学習用のサンプルです。実在のクライアントの診断結果ではありません。コードは出発点となる実装例のため、実際の製品でも確認してください。ここでは支援技術でのテスト結果は報告していません。

コードを更新しても、使いやすさを保つために

ガイドの内容を、コーディングエージェントやCIで使える開発ルールにまとめます。更新後は、キーボードとスクリーンリーダーで再テストし、問題が再発していないか確認します。

再テストの進め方