トピックを検索
検索もサイトマップもない、メニューだけのサイト
ショップの商品へ行く方法がカテゴリーのメニューしかないため、どのカテゴリーに商品があるか見当がつかない人は、ほかに探す場所がありません。
問題
メニューのどのカテゴリーに目当てのものがあるか見当がつかない人は、ほかに探す方法がありません。
ある生活雑貨のショップは300ほどの商品を扱い、メニューのShopの下に、Kitchen、Table、Bath、Bedroomと分けています。それぞれを開くと、さらにカテゴリーが並びます。リネンのナプキンを探す人は、リネンのティータオルがあるKitchenを開き、次にリネンのシーツがあるBedroomを開きます。ナプキンはTableのLinenにあります。ヘッダーに検索欄はなく、フッターにはDelivery、Returns、Contact usはあってもサイトマップはありません。トップページにはいくつかのおすすめ商品が出ていますが、ナプキンはありません。ナプキンにも、ほかのすべての商品、カテゴリー、お手入れガイド、規定のページにも、行く方法はメニューしかありません。
レベルAAの達成基準2.4.5「複数の手段」は、一連のページの中で、あるページを見つける方法が複数あることを求めています。W3Cの十分な達成方法は、その方法を挙げていて、サイトにはそのうち2つ以上が必要です。関連するページへのリンク、目次、サイトマップ、サイト内検索、全ページへのリンクの一覧、ごく小さなサイトではトップページから全ページへのリンクです。この例では、どのページも行き方がメニューの1つだけなので、すべてのページが満たしていません。トップページのおすすめ商品は、その数点への2つ目の行き方にはなりますが、残りの商品にはなりません。
この基準には例外が1つあります。購入手続きの配送の段階や注文完了のページのように、手順の途中や結果のページには、2つ目の行き方は要りません。商品、カテゴリー、ヘルプのページは手順の途中ではなく、どこからでも来られます。
メニューは誰か一人の分け方で、同じように分ける人にしか役立ちません。ごく小さなサイトなら求められることは少なく、トップページから3、4ページすべてにリンクしていれば、トップページとの間のリンクで足りることがあるとW3Cは述べています。
10グループ中4グループに影響
- 全盲 (影響あり)
- 弱視 (影響あり)
- 色覚 (影響なし)
- ろう (影響なし)
- 難聴 (影響なし)
- 発話 (影響なし)
- 手の操作 (影響あり)
- 届く範囲・力 (影響なし)
- 認知 (影響あり)
- 光過敏 (影響なし)
- 言語・認知・学習の能力が限られる メニューでナプキンを探すには、ショップがそれをKitchenやBedroomではなくTableに分類したと推測しなければなりません。分類を予想しにくい人や、前にどこで見つけたか覚えていない人は、メニューを何度も回ります。検索欄なら、自分の言葉で探せます。
- 視覚を使わない スクリーンリーダーは、大きなメニューを1項目ずつ読み、カテゴリーを開くたびに別の一覧が始まります。検索するか、サイトマップの見出しへ移動するほうが、すべての枝を聞き通すよりずっと速いことがよくあります。
- 視覚が限られる 画面拡大ソフトでは、ページの一部しか一度に見えないため、カテゴリーを次々に開き、それぞれの一覧を少しずつ見て探すことになります。検索欄や、ふつうのページであるサイトマップのほうが、高い倍率でも追いやすくなります。
- 手の操作が限られる メニューの階層が深いほど押す回数が増え、手の震えがある人には慎重な操作が続きます。推測を外すたびに戻って別のカテゴリーを開くことになります。検索の言葉なら、より少ない操作でページに着けます。
この問題は「ないこと」で、どのページにも写りません。どのページにも動くメニューがあるため、axeなど1ページずつ調べるツールは何も見つけず、2.4.5を扱うルールもありません。EaseWebの診断は1回の実行で調べたページを横断して見て、どのページにもサイト内検索もサイトマップへのリンクもない場合、指摘ではなく、確認が必要な項目として挙げます。2つ目の行き方は、関連するページどうしのリンク、全ページの一覧、実行で開かなかった検索かもしれず、それがすべてのページに届いているかは人にしか判断できないからです。検索が実際に人の使う言葉で見つけられるかも、人が試す必要があります。AIのコードアシスタントに「ナビゲーションを改善して」と頼むと、メニューの階層を増やすことがありますが、それでも行き方は1つのままです。
試してみる
ショップのリネンのナプキンを探してください。
問題のある側では、Shopの下のメニューが唯一の行き方です。修正を適用すると、検索欄、フッターのサイトマップ、商品から商品へのリンクのいずれかが加わります。もう一度ナプキンを探してください。ウィンドウの下の欄に、行き方の一覧と、使った行き方が出ます。
問題あり 修正できますか?
ページを見つける方法: メニュー
修正方法
メニューのほかに、サイト内検索、サイトマップ、関連ページどうしのリンクのいずれかで、どのページにももう1つの行き方を加えます。
- 1どのページにも、少なくとも2つの方法でたどり着ける。
- 2検索かサイトマップを置くなら、どのページでも同じ場所に置く。
- 3購入手続きのような手順の途中のページだけが例外。
<header class="site-header"> <a href="/" class="logo">Fernhill</a> <nav aria-label="Main"> <ul> <li> <button type="button" aria-expanded="false" aria-controls="menu-shop">Shop</button> <ul id="menu-shop" hidden> <li><a href="/shop/kitchen">Kitchen</a></li> <li><a href="/shop/table">Table</a></li> <li><a href="/shop/bath">Bath</a></li> <li><a href="/shop/bedroom">Bedroom</a></li> </ul> </li> <li><a href="/sale">Sale</a></li> <li><a href="/journal">Journal</a></li> <li><a href="/about">About</a></li> </ul> </nav> <a href="/basket">Basket</a></header>…<footer> <a href="/delivery">Delivery</a> <a href="/returns">Returns</a> <a href="/contact">Contact us</a></footer>ヘッダーのサイト内検索
<header class="site-header"> <a href="/" class="logo">Fernhill</a> <nav aria-label="Main"> … </nav> <search class="site-search"> <form action="/search" method="get"> <label for="site-search">Search the shop</label> <input id="site-search" name="q" type="search"> <button type="submit">Search</button> </form> </search> <a href="/basket">Basket</a></header>メニュー自体はよく作られていますが、どのページへ行く方法もこれしかありません。ショップがナプキンをTableに分類していると知らない人は、見つかるまでカテゴリーを1つずつ開くしかありません。
検索は共通のヘッダーにあるので、どのページでも同じ場所にあり、search 要素がそれを検索のランドマークにするため、スクリーンリーダー利用者はそこへ移動できます。メニューと合わせて、どのページにも2つの行き方ができます。ただし、役立つのは結果が出る範囲までです。すべての商品、カテゴリー、お手入れガイド、規定のページを、タイトルでも、訪問者がそれを呼ぶ言葉でも見つけられる必要があります。
3つとも、すべてのページに届いていれば2.4.5を満たします。サイト内検索を使ってください。ショップの分け方を知らなくても、自分の言葉でページを見つけられる唯一の方法で、索引に入ればすぐにすべてのページに届きます。サイトマップと関連ページのリンクは、そろっている間だけ満たし、どちらもショップ自身のカテゴリーに沿っています。検索に加えて置く価値はあり、特にサイトマップは、ショップ全体を一度に見せ、入力なしで使えます。
検索が本当に2つ目の行き方になるかは、何を見つけられるかで決まります。
- 人が探しそうなページをすべて索引に入れる。商品だけでなく、カテゴリー、お手入れガイド、Journalの記事、ヘルプのページも。
- ショップの言葉だけでなく、訪問者の言葉にも合わせる。表記の揺れ、ひらがなとカタカナ、よくある誤字、同じ物の別の呼び方。
- 何も見つからないときは、そう伝え、空のページではなく、カテゴリーやサイトマップを示す。
検索結果のページは、ページタイトルと結果の先頭で件数を伝えます。入力に合わせて結果が変わる場合の伝え方は、件数が読み上げられない検索・絞り込み結果で説明しています。ヘッダーは共通なので、検索はどのページでも同じ場所に置きます。ページによって場所が変わると一貫性が崩れることは、ページによって順序や名前が変わるナビゲーションで説明しています。
虫めがねのアイコンを押してから検索欄が出る作りでもかまいません。アイコンが「検索」という名前のボタンで、開いたときに欄へフォーカスが移れば問題ありません。
検索エンジン向けの /sitemap.xml は、人のためのサイトマップではありません。ページを見つける方法には数えられず、フッターからリンクしても誰の助けにもなりません。
パンくずリストはページの位置を示し、上の階層へリンクしますが、まだ見つけていないページへは導かないため、それだけでは2つ目の行き方になりません。カテゴリーのページの絞り込みや並べ替えも、そのカテゴリーを見て回る一部で、別の行き方ではありません。
トップページからも互いのメニューからも全ページにリンクしている3、4ページのサイトは、すでに複数の行き方を持っています。このガイドが扱うのは、メニューがパズルになるほど大きなサイトです。
AI コーディングアシスタントで修正しますか? このガイドを Markdown で取得、または全ガイドをコーディングエージェントで使う。
修正の確認
マウスを使わない4つの確認
確認方法: キーボード、スクリーンリーダー
OS、ブラウザーと支援技術のバージョン、ビルド、実施日、各手順の実際の結果を記録してください。メニュー、検索の索引、サイトのセクションを変更した際は、再度確認します。
制限
このサンプルは、どのサイトでも同じ結果になることを保証するものではありません。2.4.5が求めるのは複数の行き方で、よい行き方ではありません。役立つものを何も見つけない検索も形式上は満たしますが、それを必要とする人には役立ちません。購入手続きのような手順の途中は対象外なので、基準を満たすために支払いの段階へ検索を置く必要はありません。サイト全体を、使う人、特にメニューが苦手な人と一緒に確認してください。
よくある問題を再現した学習用のサンプルです。実在のクライアントの診断結果ではありません。コードは出発点となる実装例のため、実際の製品でも確認してください。ここでは支援技術でのテスト結果は報告していません。
コードを更新しても、使いやすさを保つために
ガイドの内容を、コーディングエージェントやCIで使える開発ルールにまとめます。更新後は、キーボードとスクリーンリーダーで再テストし、問題が再発していないか確認します。