色のコントラストを確認するタイミングはいつ?WEB制作のチェック手順

TIPS

WEBサイトのコントラストは、公開直前に一度チェックすればよいのでしょうか。実際には、配色案を選ぶ段階、CSSで画面を作る段階、公開前の操作確認、公開後の色変更時に確かめると手戻りを減らせます。コントラスト比とは、文字や操作部品と隣接する背景との明るさの差を示す数値です。ここではセミナー申込みフォームを例に、いつ・何を・どの順番で確認するかを説明します。

最初の確認は配色案を決めるとき

まず、背景・本文・補足文・ボタン・入力欄の境界線のように、色を使う場所と役割を整理します。背景色と文字色を別々に選んでからではなく、実際に接する組み合わせで測定することが重要です。WCAG 2.2(WEBコンテンツを利用しやすくするための国際的なガイドライン)のレベルAAでは、通常サイズの文字に4.5:1以上、大きな文字に3:1以上のコントラストが原則必要です。大きな文字かどうかは文字サイズや太さで判断し、見出しというだけで3:1に緩めないようにします。

操作に必要な入力欄の輪郭や、状態を示すアイコンなどの非テキスト表示は、隣接色との3:1以上が基準です。ただし飾りの線すべてに一律で適用されるものではありません。まず文字の組み合わせを決め、次に意味や操作に必要な境界を確かめると確認漏れを減らせます。

例えば白#FFFFFFに薄いグレー#94A3B8の補足文字を置くと約2.56:1で、通常文字の基準に届きません。濃いグレー#475569なら約7.58:1です。最初の配色案でこうした候補を比較しておけば、制作後に全ページの補足文字を修正する事態を避けやすくなります。

実装中は通常表示と操作中の色を別々に測る

セミナーの申込みページで、白いフォームに説明文、補足文、入力欄、確認ボタンを配置するとします。本文文字は濃い青灰色#334155、補足文は少し弱い#475569、入力欄の枠線はグレー#64748Bにします。ボタン背景は青#1D4ED8、ボタン文字は白#FFFFFFです。ホバー(マウスを載せた状態)には濃い青#1E40AF、フォーカス(キーボードなどで操作対象になった状態)には青い外枠を用意します。

<section class="contrast-check">
  <h3>セミナーに申し込む</h3>
  <p>参加方法と日時を確認して申し込めます。</p>
  <p class="contrast-check__note">申込み前に連絡先をご確認ください。</p>
  <label for="signup-email">メールアドレス</label>
  <input id="signup-email" type="email" required>
  <button type="button">申込み内容を確認</button>
</section>
.contrast-check {
  max-width: 34rem;
  padding: 24px;
  background-color: #FFFFFF;
  color: #334155;
}
.contrast-check__note { color: #475569; }
.contrast-check label {
  display: block;
  margin: 14px 0 6px;
}
.contrast-check input {
  box-sizing: border-box;
  width: 100%;
  padding: 12px;
  border: 2px solid #64748B;
  border-radius: 6px;
  background-color: #FFFFFF;
  color: #334155;
}
.contrast-check button {
  margin-top: 16px;
  padding: 12px 18px;
  border: 0;
  border-radius: 6px;
  background-color: #1D4ED8;
  color: #FFFFFF;
}
.contrast-check button:hover {
  background-color: #1E40AF;
}
.contrast-check :is(input, button):focus-visible {
  outline: 3px solid #1D4ED8;
  outline-offset: 3px;
}

文字と白背景の比率は、本文が約10.35:1、補足文が約7.58:1です。白文字と青いボタンは約6.70:1、ホバー時は約8.72:1で、通常文字の4.5:1を上回ります。入力欄のグレー枠線と白背景は約4.76:1、フォーカス枠線の青と白背景は約6.70:1で、必要な非テキスト表示の3:1も上回ります。対して、薄い枠線#CBD5E1では白背景と約1.48:1しかなく、枠線だけが入力欄の存在を示す設計には不向きです。

これは色と見た目を確かめるための例で、フォームの送信・入力エラー処理は実装していません。実際のサイトでエラー表示や無効状態があるなら、その画面を表示したうえで文字・図形・隣接色をそれぞれ確認します。状態を色の変化だけで伝えず、説明文や形も用意しましょう。

公開前と公開後は表示条件・変更箇所を確認する

公開前には、まず代表的なページをPCとスマートフォンで開き、通常表示だけでなくホバー、キーボードのフォーカス、入力エラー、選択中の状態を操作します。背景写真・グラデーション・半透明の色を使う場所は、カラーコードだけでは完成時の背景色が決まりません。文字を置く位置で実際の重なりを確認してください。ライト・ダークの両方に対応するなら、各モードも別々に測ります。

測定結果は「画面名・要素・前景色・背景色・状態・比率・判定」の形で記録すると、修正後に同じ場所を測り直せます。4.5:1や3:1に届いているかは、丸める前の値で判断します。自動チェックだけでは、写真の上の文字や操作後に現れる表示を見落とすことがあるため、目視と実操作も組み合わせます。

公開後も、ブランドカラーを変更したとき、CSS変数を更新したとき、バナー写真を差し替えたとき、フォームやボタンの状態を追加したときは、影響する組み合わせを再確認します。HueRollは選択色と白・黒のコントラストを表示できますが、任意の2色の比較やAA・AAAの自動判定には対応していません。基準色の検討に利用し、完成したUIの色同士の比率は別の検証手段で確かめましょう。