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

拡大するとページを覆う、浮いた購入バー

浮いた「カートに入れる」バーのために1行分の余白しか確保していないため、400%の拡大表示でバーが2行に折り返し、ウィンドウの半分近くとページ最後のリンクを覆い続けます。

WCAG 2.2
SC 2.4.11AA· 2.2 で追加SC 1.4.10AA· 2.1 で追加
必須とする規格
EN 301 549(EU)
問題あり flex-wrap: wrap;
アクセシビリティの問題を示した図: 弱視:バーの下に何がある?
01

問題

拡大表示の利用者がページの最後を読めず、その中のキーボード利用者は、ウィンドウの半分近くを覆う浮いたバーの下でフォーカスを見失います。

02

試してみる

ページを400%にズームして、最後まで読んでください。

「ズーム」のスライダーを400%まで動かし、ショップのページを一番下までスクロールするか、Tabで最後のリンクまで進んでください。「お問い合わせ」を読めますか?

200%

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

問題折り返すバーと、1行分の余白

リネンのオーバーシャツ

$48

色:サンド

洗いをかけたリネンで、最初から柔らかな着心地です。Tシャツの上に羽織っても、ボタンを留めて1枚で着ても使えます。

  • リネン100%
  • 30°Cで洗濯機洗い可
  • ゆったりしたシルエット

リネンのオーバーシャツ

$48

ウィンドウ:640 × 512 CSSピクセル。 バーはページの最後にあります。

ページのすべてをバーの外へスクロールできます

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

03

修正方法

確保した余白と一致するようバーを1行に保ち、ウィンドウの高さが低いときはページの中に置きます。

  1. 1どの幅でも、浮いたバーは確保した余白より高くならず、フォーカスは常にその上で止まる。
  2. 2最後までスクロールしたとき、ページのどの部分も浮いた要素の下に残らない。
  3. 3幅1280 × 高さ1024のウィンドウでの400%の拡大表示と、横向きのスマートフォンで確認する。
修正前 折り返すバーと、1行分の余白
:root {  /* デザインどおりのバー:高さ4rem、下端から1rem。 */  --bar-space: 5rem;}html {  scroll-padding-bottom: var(--bar-space);}body {  padding-bottom: var(--bar-space);}.buy-bar {  position: fixed;  inset-inline: 1rem;  bottom: 1rem;  display: flex;  flex-wrap: wrap;  align-items: center;  gap: 0.5rem 1rem;  padding: 0.75rem 1rem;  border-radius: 1rem;  background: #fff;}.buy-bar-name {  flex-grow: 1;}.buy-bar-add {  margin-inline-start: auto;  white-space: nowrap;}
修正後

1行に収まるバー

:root {  /* デザインどおりのバー:高さ4rem、下端から1rem。 */  --bar-space: 5rem;}html {  scroll-padding-bottom: var(--bar-space);}body {  padding-bottom: var(--bar-space);}.buy-bar {  position: fixed;  inset-inline: 1rem;  bottom: 1rem;  display: flex;  align-items: center;  gap: 0.5rem 1rem;  padding: 0.75rem 1rem;  border-radius: 1rem;  background: #fff;}.buy-bar-name {  flex-grow: 1;  /* 折り返さずに商品名を省略します。ページの見出しにも同じ名前があります。 */  min-width: 0;  overflow: hidden;  white-space: nowrap;  text-overflow: ellipsis;}.buy-bar-add {  margin-inline-start: auto;  white-space: nowrap;}

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

04

修正の確認

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

確認方法: ズーム、キーボード

5件中0件を確認済み

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

制限

このサンプルは、どのアプリケーションでも同じ結果になることを保証するものではありません。30emのブレークポイントとバーの大きさは、この例のものです。実際のバーは、最も長い商品名、価格、翻訳で確認してください。幅320ピクセルでページが横にスクロールする問題は別のもので、狭い画面で横スクロールが出るページで扱っています。400%で基準を満たしても、その大きさでバーが使いやすいとは限りません。バーがページの中に移ったとき、ページ本来の「カートに入れる」ボタンが見つけやすいかを確認してください。コード内のクラス名とトークン名は、実際のものに置き換えてください。

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

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

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

再テストの進め方