アクセシビリティのために色のコントラストを確認する方法

· 7 分で読めます

男性の約12人に1人、女性の約200人に1人が何らかの色覚異常を持っています。さらに何百万人もが低視力、加齢による目、または明るい日光下で画面を見ています。テキストが背景に対して十分なコントラストを持たない場合、これらの人々はそれを読めません。色のコントラストは「あったらいい」ものではなく、コアなアクセシビリティ要件です。ブラウザベースのコントラストチェッカーは、色やデータをサーバーにアップロードせずに、作業全体をローカルで処理します。

WCAGが要求するもの

Web Content Accessibility Guidelines(WCAG)は、テキストと背景の最小コントラスト比を定義します:

レベル通常テキスト大きなテキスト非テキストUI
AA(最小)4.5:13:13:1
AAA(強化)7:14.5:13:1

「大きなテキスト」は18pxボールド以上または24px通常以上を意味します。コントラスト比は1:1(コントラストなし、白の上の白)から21:1(最大コントラスト、白の上の黒)の範囲です。

コントラストをチェックする手順

  1. 色を選択: HEXコード、RGB値、またはカラーピッカーを使って前景(テキスト)と背景の色を入力します。
  2. 結果を確認: ツールは即座にコントラスト比と、組み合わせが通常テキストと大きなテキストの両方でWCAG AAとAAAをパスするかを表示します。
  3. 必要なら調整: コントラストが失敗する場合、必要なレベルをパスするまでテキストを暗くするか背景を明るくする(または逆)。

色コントラスト標準の簡単な歴史

WCAG以前、Webアクセシビリティはベンダー固有のルールのパッチワークでした。W3Cは1999年にWCAG 1.0を発表し、コントラストガイダンスはありましたが特定の比はありませんでした。WCAG 2.0(2008年)は、Dr. Lillian YetenekianとIBM Research labの色科学に基づき、低視力研究者からの入力を受けて、4.5:1 / 7:1の式を導入しました。式は、20/40視力(軽度の低視力)の人がAA準拠のテキストを読め、20/80視力(重大な低視力)の人がAAA準拠のテキストを読めるように設計されています。

WCAG 2.1(2018年)は、UIコンポーネント(非テキストに3:1)、グラフィカルオブジェクト、フォーカスインジケータのコントラスト要件を追加しました。WCAG 2.2(2023年)はターゲットサイズとフォーカス可視性に関するさらなる要件を追加しました。

現在のWCAG 3.0ワーキングドラフトは、人間の知覚により合った新しいコントラスト式(APCA、Accessible Perceptual Contrast Algorithm)を提案しています。APCAはまだW3C推奨ではありませんが、すでにプレビューとして一部のツールでサポートされています。

WCAGの法的採用は着実です:

ほとんどの公開向けWebサイトにとって、WCAG 2.1 AAが事実上の法的最低基準です。

コントラスト比の計算方法

コントラスト比は各色の相対輝度を使って計算されます:

  1. 各色をsRGBから線形RGBに変換(ガンマ補正)
  2. 相対輝度を計算: L = 0.2126 R + 0.7152 G + 0.0722 B
  3. コントラスト = (L_明るい方 + 0.05) / (L_暗い方 + 0.05)

結果は1(コントラストなし)から21(最大コントラスト)の数値です。0.05のオフセットはゼロ除算を防ぎ、知覚コントラストへの周囲光の寄与をわずかにモデル化します。

式は決定論的かつ計算可能になるよう意図的に設計されており、同じ色はつねに同じ比を生成します。次のものは考慮しません:

これがWCAGチェックが必要だが十分ではない理由です。多様なユーザー(色覚異常の人を含む)との視覚レビューが残りをキャッチします。

よくあるコントラストの間違い

白の上の薄いグレーテキスト: #ffffffの上の#999999は2.8:1の比しかありません。これはWCAG AAに失敗します。完璧な視力のデザイナーには「クリーン」に見えるかもしれませんが、多くの人にとっては読めません。

色付き背景の色付きテキスト: 白いテキスト付きの青いボタンはしばしばパスしますが、白いテキスト付きの緑のボタンはパスしないかもしれません。つねにチェックしてください。コントラスト比は目では判断できません。

プレースホルダーテキスト: フォームフィールドのプレースホルダーは悪名高く低コントラストです。WCAGはプレースホルダーがコントラスト比を満たすことを厳密に要求しませんが、ユーザーはまだそれらを読む必要があります。

ダークモード: デザイナーはしばしば「控えめな」見た目のために、暗いグレー背景に中程度のグレーテキストを使います。これはしばしばコントラストチェックに失敗します。

画像の上のテキスト: ヒーロー画像の上に置かれたテキストは、画像が暗いときはしばしばパスし、画像が明るいときは失敗します。画像の上のテキストには暗い/明るいグラデーションオーバーレイまたは固体バックドロップを使ってください。

ブランドカラーシフト: 企業アイデンティティはしばしばプライマリブランドカラーを指示します。その色が本文テキストとして失敗する場合、見出し(大きなテキスト、3:1閾値)に使い、本文にはより暗い色合いを使ってください。

リンクの色: リンクは周囲のテキストと区別可能でなければなりません。WCAGはリンクと本文テキスト間の3:1比、加えて別の視覚的合図(下線、ボールド、またはアイコン)を要求します。

フォーカスインジケータ: フォーカスされたボタンやリンクの周りのアウトラインは、背景に対して3:1のコントラストを満たす必要があります。ブラウザのデフォルトフォーカスリングは通常安全です。カスタムフォーカススタイルはしばしば失敗します。

よくある落とし穴

WCAGを超えて: APCAとモダンな知覚コントラスト

Accessible Perceptual Contrast Algorithm(APCA)は、WCAG 3.0のためにAndrew Somersが提案した新しい式です。WCAG 2式と異なり、APCAは:

APCAスコアはおおよそ-108から+108の範囲です。スコア60(ポジティブまたはネガティブ)はおおよそWCAG 2の4.5:1と同等です。APCAはまだどこでも法的に必要とされていませんが、Material DesignやIBM Carbonなどのデザインシステムに先見の標準として採用されつつあります。

今日のほとんどの実用目的では、WCAG 2.1 AA(4.5:1 / 3:1)が法的および業界標準のままです。一部のチームは品質チェックとして並行してAPCAを使います。

ツールと統合

ツール用途
ブラウザDevTools(Chrome、Firefox)要素検査がリアルタイムでコントラスト比を表示
axe DevToolsコントラストを含む自動WCAG監査
WAVE(WebAIM)コントラストエラーを視覚化するブラウザ拡張
Stark(Figmaプラグイン)デザイン時のコントラストチェック
Color Contrast Analyser(TPGi)スポイト付きデスクトップアプリ
Lighthouse(Chrome)コントラストを含む組み込みアクセシビリティ監査
ARC Toolkit(Deque)包括的なアクセシビリティブラウザ拡張
Polypane組み込みコントラストツール付きデザイナー向けブラウザ
GitHub Action: a11y-actions自動PRレベルチェック
CI: pa11y、axe-core/cliコントラスト失敗を導入するPRをブロック

コントラスト失敗が検出されずに出荷できないように、CIに少なくとも1つの自動ツールを統合してください。

使いこなしのヒント

プライバシーとデザインデータ

色コントラストチェッカーは完全にブラウザ内で動作します。入力した色と値、計算、コントラスト結果はすべてデバイス上に留まります。サーバーへのアップロード、ロギング、第三者との共有は一切ありません。

これは個々の色(秘密ではない)よりも、フルブランドパレット、内部製品モックアップカラー、未リリースの製品UI仕様を貼り付けるかもしれないバッチチェックやデザインシステム作業に重要です。クラウドのコントラストツールはリクエストログにすべての貼り付けを記録し、しばしば「サービス改善」のために保持し、未リリースのブランドカラーやUIデザインを漏らす可能性があります。ブラウザベースのチェッカーは露出ゼロで、色はマシンを離れません。

ブラウザベースのコントラストチェックは、ページを一度読み込めばオフラインでも動作するため、飛行機の中、インターネットアクセスのないセキュアな環境、またはデザインデータを第三者サービスと共有できない、またはすべきでない場所でのデザインレビューに役立ちます。

よくある質問

どのコントラスト比を目指すべきですか?

通常テキストの場合、少なくとも4.5: 1(WCAG AA)を目指します。大きなテキスト(太字18 pxまたは通常24 px)の場合、3: 1で十分です。最高のアクセシビリティレベル(AAA)では、通常テキストには7: 1を目指します。

これはテキストにのみ適用されますか?

いいえ。WCAG 2.1は、UIコンポーネントとグラフィカルオブジェクト(アイコン、フィールドの境界、フォーカスインジケーター)にも十分なコントラストを必要とします。非テキスト要素の最小値は3: 1です。

ダークモードはどうですか?

ダークモードには同じコントラストチェックが必要です。暗い背景の白いテキストはしばしば簡単に合格しますが、暗いグレーの背景にグレーのテキストはしばしば失敗します。両方のモードをテストしてください。

色のコントラストは法的要件ですか?

多くの管轄区域で、はい。ADA(米国)、EN 301 549(EU)、および同様の法律はデジタルアクセシビリティを義務付けています。WCAG準拠は、それらに対応するための認められた基準です。