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

パンくずリストもメニューの現在地表示もない下層ページ

ショップの商品ページにはパンくずリストがなく、メニューもどのセクションも示さないうえ、タイトルは商品名と店名だけのため、ページがショップのどこにあるのかが分からない

WCAG 2.2
SC 2.4.8AAA
必須とする規格
Section 508、EN 301 549、JIS X 8341-3 では必須ではない
問題あり <title>Linen napkins, set of 4 – Fernhill</title>
アクセシビリティの問題を示した図: 認知:ここはショップのどこ?
01

問題

検索エンジンから商品ページに来た人には、そこがショップのどの売り場なのかも、似た商品をどこで探せばよいのかも分からない

02

試してみる

検索エンジンからこのナプキンのページに来ました。ショップのどの売り場の商品か探してみましょう

ページとタブを見てから、Tabキーでメニューを移動して読み上げを聞いてください。メニューからテーブルを開くとリンクにバーが付きます。そこからもう一度ナプキンを開くと、テーブルだと示すものは残っているでしょうか。

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

問題セクションを示すものを何も描いていない商品ページ
リネンのナプキン 4枚組 – Fernhill

リネンのナプキン 4枚組

£24

天然のリネンで織り、洗うほど柔らかくなります。

スクリーンリーダーの読み上げ:

リネンのナプキン 4枚組 – Fernhill

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

03

修正方法

どのページにも、属するセクションを示す

修正前
問題セクションを示すものを何も描いていない商品ページ
<head>  <title>Linen napkins, set of 4 – Fernhill</title></head><body>  <header>    <a href="/">Fernhill</a>    <nav aria-label="Main">      <ul>        <li>          <a href="/collections/kitchen">Kitchen</a>        </li>        <li>          <a href="/collections/table">Table</a>        </li>        <li>          <a href="/collections/bath">Bath</a>        </li>        <li>          <a href="/collections/bedroom">Bedroom</a>        </li>      </ul>    </nav>  </header>  <main>    <h1>Linen napkins, set of 4</h1>    …  </main></body>
問題点3点
  • 見出しの上にパンくずリストがありません。
  • メニューのバーは、メニューがアドレスへリンクしているカテゴリーのページでしか表示されないため、ここではどのリンクにも付きません。
  • タイトルは商品と店の名前を示すだけで、テーブルを示しません。
修正後

セクションで終わるパンくずリスト

<head>  <title>Linen napkins, set of 4 – Fernhill</title></head><body>  <header>    <a href="/">Fernhill</a>    <nav aria-label="Main">      <ul>        <li>          <a href="/collections/kitchen">Kitchen</a>        </li>        <li>          <a href="/collections/table">Table</a>        </li>        <li>          <a href="/collections/bath">Bath</a>        </li>        <li>          <a href="/collections/bedroom">Bedroom</a>        </li>      </ul>    </nav>  </header>  <main>    <nav class="breadcrumbs" aria-label="Breadcrumb">      <ol>        <li>          <a href="/">Home</a>        </li>        <li>          <a href="/collections/table">Table</a>        </li>      </ol>    </nav>    <h1>Linen napkins, set of 4</h1>    …  </main></body>
修正の手順4ステップ
  1. 見出しの上に、ホームから商品の属するセクションまでのパンくずリストを置きます。ホームとテーブルです。ページに着いた人は、どこにいるかがすぐに分かり、クリック一つで上の階層へ移れます。
  2. パンくずリストはセクションで終え、商品名は見出しに任せます。1行違いで同じページ名を二度示さずに済みます。
  3. パンくずリストを「Breadcrumb」という名前の nav に入れ、番号付きリストにします。スクリーンリーダーはナビゲーションとして読み上げ、ランドマーク一覧に載せ、いくつの階層があるかも伝えます。
  4. 区切りは細い線を傾けて描き、パンくずの間にスクリーンリーダーが読む文字を置きません。

これで修正前の問題は直り、2.4.8を満たします。デザインは描かれたとおりのままで、見出しの上に小さな文字の控えめな1行が加わるだけです。スマートフォンでは隠さず、折り返して表示します。

04

デザインの案

パンくずの列でなくても、ページの位置は示せる

ナプキンがテーブルの商品だと示す3通りの描き方です。それぞれにポインターを重ね、Tabで移動してみてください。2つはセクションの名前を示し、1つは来たところへ戻るだけです。

デザインファイルで

  • どのテンプレートにも、ページの位置を描く。メニューがリンクするページだけでなく、商品や記事のページにも。
  • 開発者が両方を作れるよう、メニューの現在地の見た目を、セクション自体のページとその中のページの両方に描く。
  • スマートフォンのレイアウトでも、セクション名が見えるように描く。開いたメニューの中にも。
  • テンプレートごとにページのタイトルを書く。ページ、セクション、サイト名の順に。

合格

  • テーブル ナプキン

    リネンのナプキン 4枚組

    見出しの上の小さなセクション名 「テーブル」と「ナプキン」を、ショップの緑#2f5d46(白に対して7.57:1)の小さな文字で見出しの上に書き、それぞれをリンクにします。パンくずの列ではなく見出しのデザインの一部に見えますが、商品の上の各階層を示します。リンクだと分かるよう、ホバーとフォーカスで下線を付けます。
  • リネンのナプキン 4枚組

    セクション内のカテゴリーを並べ、今のカテゴリーだけを塗ったチップ 見出しの上に、ナプキン、ランナー、テーブルクロスをピルで並べ、ナプキンを#2f5d46で塗り、白の太字にします(7.57:1)。商品の位置と、テーブルのほかの商品への道筋を示します。Windowsのコントラスト テーマでは塗りだけの目印は消えるため、太字と塗りの両方で示します。

不合格

  • リネンのナプキン 4枚組

    文字のない丸い戻る矢印WCAG 2.4.8 アプリ風の直径40pxの白い円に矢印を入れ、写真の角に置きます。何の名前も示さず、ブラウザーが来たところへ戻るだけです。検索エンジンから来た人には、戻る先は検索結果で、ページにはテーブルを示すものが相変わらず何もありません。
05

修正の確認

5項目、マウス不要

確認方法: キーボード、スクリーンリーダー、拡大表示

5件中0件を確認済み

OS、ブラウザーと支援技術のバージョン、ビルド、実施日、各手順の実際の結果を記録してください。ページのテンプレートやメニューを変更した際は、再度確認します。

スクリーンリーダーでの aria-current="page"の読まれ方

制限

このサンプルは、どのサイトでも同じ結果になることを保証するものではありません。扱っているのは、位置を何も示さないページです。現在位置の手がかりが役に立つのは、サイトのセクション分けが利用者にとって分かりやすいときだけです。誰も思いつかないカテゴリーをたどるパンくずリストでは、やはり迷います。これはサイトの構造の問題で、マークアップでは直せません。ページごとに順序や言葉が変わるパンくずリストやメニューには、別の問題があります。ページによって順序や名前が変わるナビゲーションを参照してください。aria-current="true" の読み上げ方はスクリーンリーダーによって異なり、「現在」とだけ言うものもあります。利用者が使うスクリーンリーダーで確かめてください。

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

EaseWebのサービス

修正した問題を、次のリリースで再発させない

このガイドのような修正方法を、コーディングエージェントが従うルールと、CIのチェックに組み込みます。あわせて定期的に、キーボードとスクリーンリーダーで手動の再テストを行います。

サービス内容を見る