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

ハイコントラストモードで消えるフォーカス・アイコン・選択状態

選択中の項目を背景の塗りだけで示し、フォーカスの枠を影で描き、アイコンの色を固定しているため、コントラストテーマで3つとも消えます。

WCAG 2.2
SC 1.4.11AA· 2.1 で追加
必須とする規格
EN 301 549(EU)
問題あり input:checked + label { background: #1a1a1a; }
アクセシビリティの問題を示した図: 暗いコントラストテーマでMを選択中。それを示すものがない。
01

問題

コントラストテーマを使う人が、どのサイズを選んだか、フォーカスがどこにあるか、保存ボタンがあることが分かりません。

02

試してみる

コントラストテーマをオンにし、サイズを選んでから、Tabを押してください。

スイッチは、Windowsの暗いコントラストテーマが描くようにページを表示します。選んだサイズ、フォーカスの位置、保存ボタンが分かりますか?

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

メリノのクルーネックセーター

オートミール · 89.00

サイズ

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

03

修正方法

状態、フォーカス、アイコンを、コントラストテーマが残すもので描くか、システムカラーで描き直します。

  1. 1選択状態には、塗り以外の手がかり(枠線、チェックマーク、システムカラー)を付ける。
  2. 2フォーカスには、影だけでなく、透明でもよいのでoutlineを付ける。
  3. 3操作要素のアイコンはcurrentColorかシステムカラーに従わせ、色を固定しない。
修正前 状態、フォーカス、アイコンをページの色だけで描く
<fieldset class="sizes">  <legend>サイズ</legend>  <input type="radio" name="size" id="size-m" value="m" checked>  <label for="size-m">M</label>  …</fieldset><button class="save" aria-label="お気に入りに保存">  <svg viewBox="0 0 24 24" aria-hidden="true">    <path fill="#1a1a1a" d="…"/>  </svg></button>
修正後

コントラストテーマが残すスタイル

<fieldset class="sizes">  <legend>サイズ</legend>  <input type="radio" name="size" id="size-m" value="m" checked>  <label for="size-m">    <svg class="tick" viewBox="0 0 24 24" aria-hidden="true">      <path        fill="none"        stroke="currentColor"        stroke-width="3"        d="M5 12l5 5 9-10"      />    </svg>    M  </label>  …</fieldset><button class="save" aria-label="お気に入りに保存">  <svg viewBox="0 0 24 24" aria-hidden="true">    <path fill="currentColor" d="…"/>  </svg></button>

AI コーディングアシスタントで修正しますか? このガイドを Markdown で取得

04

修正の確認

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

確認方法: 強制配色、キーボード、コントラストの測定

5件中0件を確認済み

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

制限

このサンプルは、どのアプリケーションでも同じ結果になることを保証するものではありません。コントラストテーマはWindowsのバージョンやブラウザーによって異なり、Firefox独自の色の上書きも少し異なる動作をします。通常の配色でのコントラストは別の要件で、コントラストが足りない入力欄・アイコン・フォーカス枠で扱います。コントラストテーマを毎日使う人と一緒に、ページ全体を確認してください。

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

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

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

再テストの進め方