トピックを検索
ページごとに場所が変わるヘルプリンク
ショップのどのページもヘッダーの最後にヘルプのリンクがありますが、購入手続きの簡素なヘッダーではそれがなくなり、ヘルプは支払いフォームの下のフッターに移っています。
<footer class="checkout-footer"><a href="/help">Help</a> 問題
あるページでヘルプの場所を覚えた人が、いちばん必要なページでそれを見つけられません。
あるショップのページは、共通のヘッダーを使っています。ロゴ、ShopとSale、AccountとBasket、そして最後にHelpです。商品ページでHelpを使ったことがある人は、その場所を知っています。シャツをカートに入れて購入手続きへ進むと、ページが変わります。購入手続きのヘッダーは簡素で、ロゴと「Secure checkout」しかありません。支払いに集中してもらうための、よくある作り方です。Helpはヘッダーからなくなり、配送と支払いのフォームの下、フッターに移っています。カードが通らない、配送の選択肢が分からないなど、ヘルプがいちばん必要になる場面で、覚えた場所にヘルプがありません。
同じ移動は、ほかの形でも起きます。
- 電話番号がほとんどのページでヘッダーにあるのに、商品ページではレビューの後のサイドバーにある。
- チャットの起動ボタンはどのページでも同じ隅に描かれているが、スクリプトがテンプレートによってページの先頭に入ったり最後に入ったりするため、スクリーンリーダーでは出会う位置が変わる。
- 別のプラットフォームで作ったアカウント画面では、ショップのページで最後にある「Contact us」がメニューの最初にある。
達成基準3.2.6「一貫したヘルプ」はレベルAで、WCAG 2.2で新しく加わりました。対象は4種類のヘルプです。電話番号やメールアドレスなど人への連絡先、問い合わせフォームやスタッフとのチャットなど人に連絡する手段、ヘルプセンターやよくある質問などのセルフヘルプ、チャットボットなど完全に自動化された連絡手段です。ページにこれらがあり、それが複数のページで繰り返される場合、どのページでもページのほかの内容に対して同じ順序にある必要があります。利用者が拡大率や画面の向きを変えた場合は例外ですが、ページを移動することはこの変更に当たりません。
ここでの順序は、コード上の順序、つまりスクリーンリーダーが読む順序です。確かめ方は単純です。あるページでヘルプの前にあるものは、ほかのページでも前にあり、後にあるものは後にあります。ショップのどのページでも、Helpは本文の前にあります。購入手続きでは本文の後にあります。
この基準は、すべてのページにヘルプを置くことを求めてはいません。ヘルプのないページがあっても不適合にはなりません。ヘルプを用意すること自体も求めていません。連絡先そのものではなく、問い合わせページへのリンクでもかまいません。CSSで別の場所に描かれていても、コード上の位置が同じなら不適合にはなりませんが、前の場所を探す人の助けにはなりません。
ヘルプがいちばん必要なのは購入手続きです。カードが通らない、配送日が分からない、割引コードが使えないといった場面です。購入手続きは専用の簡素なレイアウトになることが多く、ヘルプがいちばん移動しやすいページでもあります。
10グループ中4グループに影響
- 全盲 (影響あり)
- 弱視 (影響あり)
- 色覚 (影響なし)
- ろう (影響なし)
- 難聴 (影響なし)
- 発話 (影響なし)
- 手の操作 (影響あり)
- 届く範囲・力 (影響なし)
- 認知 (影響あり)
- 光過敏 (影響なし)
- 言語・認知・学習の能力が限られる 物の場所を覚えて使う人は、前のページでヘルプがあった場所を探します。そこにないと、このサイトにはヘルプがないと判断し、つまずいた段階であきらめることがあります。
- 視覚が限られる 画面拡大ソフトの利用者は、画面の一部ずつを見ながら、ヘルプがあった場所へまっすぐ向かいます。移動していると、ページ全体を少しずつ見て探すしかありません。
- 視覚を使わない どのページでも先頭近くでヘルプを見つけていたスクリーンリーダー利用者は、購入手続きでそこにヘルプがなく、フォーム全体を読むかリンクの一覧を出して、最後に移ったと知るしかありません。
- 手の操作が限られる キーボード利用者は、ほかのページでは数回のTabキーでヘルプに届いていました。購入手続きでは、先にフォームのすべての欄をTabキーで通る必要があります。
どのページも単独では問題がなく、axeなどの自動チェックは1ページずつ調べます。3.2.6を扱うルールはありません。EaseWebの診断は、一回の実行で調べたページどうしを比べます。一部のページでは本文の前に、ほかのページでは本文の後にあるヘルプのリンクを報告します。ヘルプは、その言葉(Help、Support、Contact us、FAQと、ヘルプ、お問い合わせなどの日本語)か、電話やメールのリンクで見分けます。ほかの言葉で書かれたヘルプ、フレームの中のチャットの起動ボタン、ヘッダーの中だけでの移動は見分けられません。渡されたページしか比べないため、購入手続きのページも対象に含める必要があります。AIのコードアシスタントに「気が散らない購入手続き」を頼むと、ヘッダーのリンクをHelpごと外します。購入手続きにヘルプを足すよう頼むと、そのページだけに出る「お困りですか?」の浮いたボタンを足すことがよくあります。それは元の場所ではなく、新しい場所です。
修正方法
購入手続きも含め、どのページでもヘルプを順序の中の同じ位置に置きます。
- 1繰り返されるヘルプの仕組みは、どのページでも順序の中の同じ位置に置く。
- 2購入手続きなどの簡素なページは、ほかのページでヘルプを持つヘッダーやフッターから作る。
- 3ヘルプが描かれる場所と読まれる位置をそろえる。
html
<!-- Every shop page --><header class="site-header"> <a href="/" class="logo">Juniper</a> <nav aria-label="Main"> <a href="/shop">Shop</a> <a href="/sale">Sale</a> </nav> <a href="/account">Account</a> <a href="/basket">Basket</a> <a href="/help">Help</a></header><main>…</main><footer class="site-footer"> <a href="/privacy">Privacy</a> <a href="/terms">Terms</a></footer>html
<!-- Checkout --><header class="checkout-header"> <a href="/" class="logo">Juniper</a> <p>Secure checkout</p></header><main>…</main><footer class="checkout-footer"> <a href="/help">Help</a> <a href="/privacy">Privacy</a> <a href="/terms">Terms</a></footer>購入手続きのヘッダーにも同じHelpのリンク
html
<!-- Every shop page --><header class="site-header"> <a href="/" class="logo">Juniper</a> <nav aria-label="Main"> <a href="/shop">Shop</a> <a href="/sale">Sale</a> </nav> <a href="/account">Account</a> <a href="/basket">Basket</a> <a href="/help">Help</a></header><main>…</main><footer class="site-footer"> <a href="/privacy">Privacy</a> <a href="/terms">Terms</a></footer>html
<!-- Checkout --><header class="checkout-header"> <a href="/" class="logo">Juniper</a> <p>Secure checkout</p> <a href="/help">Help</a></header><main>…</main><footer class="checkout-footer"> <a href="/privacy">Privacy</a> <a href="/terms">Terms</a></footer>リンクは同じですが、位置が違います。ショップのどのページでもHelpは本文の前にあり、購入手続きではフォーム全体の後にあります。
ショップのページは変えません。購入手続きでも、ショップのどのページとも同じく、Helpがロゴの後、本文の前で、ヘッダーの最後に戻りました。購入手続きでは、ショップのナビゲーション、Account、Basketは引き続き省いています。ほかの繰り返し項目を省くことは問題ありません。残ったものがHelpの周りで同じ順序を保つからです。ショップのページと同じくヘッダーの端に描けば、見える場所と読まれる位置もそろいます。
どちらも3.2.6を満たします。購入手続きのヘッダーにHelpのリンクを残してください。リンク一つで済み、ほかのどのページとも同じ、先頭に近くTabキー数回で届く場所にヘルプを保てます。フッターでは、どのページでもヘルプが最後になります。フッターは購入手続きのヘッダーにリンクを置けない場合にだけ使い、置けるようになったらヘッダーに戻してください。
簡素なページは、コピーではなく共通のコンポーネントから作ります。購入手続きのヘッダーを、共通のヘッダーに slim のような設定を加えたもの(ナビゲーションは省き、Helpは残す)にすれば、後でどちらかを変えたときにもずれません。ログイン、エラー、注文完了のページも別に作られることが多いため、同じようにします。
ヘルプの種類ごとに、それぞれの位置が問われます。よくあるものは、それぞれ次の点に注意します。
- ヘルプや問い合わせのリンク:どのページでもヘッダーかフッターの同じ位置に置き、ページによって文言を変えない。
- 電話番号やメールアドレス:一部のページでヘッダーに出すなら、それを持つすべてのページで同じ場所に出し、商品ページだけ本文に移したりしない。
- チャットの起動ボタン:スクリプトを共通のレイアウトから、どのページでも同じ位置(例:body の終わりの直前)で読み込み、同じ隅に表示する。どの隅に描かれていても、スクリーンリーダーで出会う位置はコード上の位置で決まる。
スマートフォンでは、Helpがメニューに入ることがよくあります。これは別のページの表示形態なので、同じ幅、拡大率、向きのページどうしで比べます。ただし、その幅でもどのページも同じ場所に置く必要があります。商品ページでメニューに入れるなら、購入手続きでもメニューに入れます。
一部のページだけ、CSSの order、グリッドの配置、絶対配置でヘルプを動かさないでください。コード上の位置と違う場所に描かれたリンクは、基準を満たしても目的を果たしません。同じ場所に描かれていてもコード上の位置が違えば、不適合になります。
ログイン前とログイン後のページは、通常は一つのページ群です。ログインしているかどうかにかかわらず、ヘルプを同じ場所に置いてください。
AI コーディングアシスタントで修正しますか? このガイドを Markdown で取得
修正の確認
マウスを使わない5つの確認
確認方法: スクリーンリーダー、キーボード、ズーム
OS、ブラウザーと支援技術のバージョン、ビルド、実施日、各手順の実際の結果を記録してください。レイアウト、テンプレート、ウィジェットを変更した際は、再度確認します。
制限
このサンプルは、どのサイトでも同じ結果になることを保証するものではありません。この基準が求めるのは一貫性で、ヘルプの質ではありません。同じ場所にあるHelpのリンクも、何にも答えないページにつながっていれば役に立ちません。そのうちアクセシビリティのページが何に答えるべきかは、掲載されていない、または中身のないアクセシビリティ方針で説明しています。対象は一つのページ群なので、独自のレイアウトを持つ別のヘルプサイトは、一貫していればそのサイトなりの場所にヘルプを置けます。流れ全体を一段階ずつ、利用者が頼る人や道具と一緒に確認してください。
よくある問題を再現した学習用のサンプルです。実在のクライアントの診断結果ではありません。コードは出発点となる実装例のため、実際の製品でも確認してください。ここでは支援技術でのテスト結果は報告していません。
コードを更新しても、使いやすさを保つために
ガイドの内容を、コーディングエージェントやCIで使える開発ルールにまとめます。更新後は、キーボードとスクリーンリーダーで再テストし、問題が再発していないか確認します。