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

現在のページを見た目だけで示すパンくずリスト

ショップのパンくずリストはdivに並べただけのリンクで、最後のパンくずはクラスで灰色にしているだけです。そのため、スクリーンリーダーではパンくずリストであることも、どれが今いるページかも分かりません。

WCAG 2.2
SC 1.3.1A
必須とする規格
Section 508 · EN 301 549(EU) · JIS X 8341-3
問題あり <a href="/kitchen/mugs" class="current">Mugs</a>
アクセシビリティの問題を示した図: 全盲:今どのページ?
01

問題

スクリーンリーダー利用者は、パンくずリストがどこから始まりどこで終わるのか、どのパンくずが今いるページかが分かりません。それを示しているのがレイアウトと灰色だけだからです。

02

試してみる

Tabキーでパンくずリストを移動し、Enterキーで別のページへ移ってください。

下の欄に、ページの冒頭をスクリーンリーダーが読む内容が出ます。どのパンくずが今いるページか分かりますか?見出しの下のリンクで深い階層へ進み、パンくずリストで戻ってください。

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

問題クラスで最後を示した、並べただけのリンク

先頭から読むと、スクリーンリーダーの読み上げ:

  1. ホーム、リンク
  2. スラッシュ
  3. キッチン、リンク
  4. スラッシュ
  5. マグカップ、リンク
  6. マグカップ、見出し

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

03

修正方法

パンくずリストを名前付きのnavに入れ、現在のページをコードで示すか、パンくずリストに含めないようにします。

  1. 1パンくずリストは、固有の短い名前を付けたnavに番号付きリストとして入れる。
  2. 2最後のパンくずにはaria-current="page"を付けて見た目もそこから設定するか、パンくずリストを一つ上の階層で終える。
  3. 3区切りはテキストを使わずCSSで描くか隠し、読み上げられないようにする。
修正前 クラスで最後を示した、並べただけのリンク
<div class="breadcrumbs">  <a href="/">Home</a>  <span class="sep">/</span>  <a href="/kitchen">Kitchen</a>  <span class="sep">/</span>  <a href="/kitchen/mugs" class="current">Mugs</a></div><h1>Mugs</h1>
修正後

名前付きのnav、リスト、aria-current

<nav class="breadcrumbs" aria-label="Breadcrumb">  <ol>    <li>      <a href="/">Home</a>    </li>    <li>      <a href="/kitchen">Kitchen</a>    </li>    <li>      <a href="/kitchen/mugs" aria-current="page">Mugs</a>    </li>  </ol></nav><h1>Mugs</h1>

AI コーディングアシスタントで修正しますか? このガイドを Markdown で取得、または全ガイドをコーディングエージェントで使う。

04

修正の確認

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

確認方法: スクリーンリーダー、キーボード、強制配色

5件中0件を確認済み

OS、ブラウザーと支援技術のバージョン、ビルド、実施日、各手順の実際の結果を記録してください。共通のパンくずリストのコンポーネントを変更した際は、再度確認します。

制限

このサンプルは、どのサイトでも同じ結果になることを保証するものではありません。aria-current やランドマークの読み上げ方はスクリーンリーダーによって異なり、句読点の読み方は設定で変わります。利用者が使うスクリーンリーダーで確かめてください。パンくずリストが役に立つのは、サイトの実際の構造に沿っているときだけです。来た経路で変わったり、階層を飛ばしたりするパンくずリストは、ないのと同じくらい迷わせます。長い一覧の最後にあるページのリンクには、別の問題があります。現在のページも行き先も伝えないページネーションを参照してください。サイトのメインメニューも、同じ属性で現在のページを示します。現在のページを見た目だけで示すナビゲーションを参照してください。

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

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

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

再テストの進め方