アクセシビリティテスト: color-contrastとfocus
色のコントラスト比を確認し、フォーカスインジケーターがWCAGのアクセシビリティ基準を満たしていることを検証します。
「アクセシビリティテスト: color-contrastとfocus」はCoddyKit上の無料CSS Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCSS Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 CSS Academyコースには全4レッスンが含まれています。
CSSがアクセシビリティに与える影響
CSSは、色のコントラスト、フォーカスインジケーターの可視性、要素の表示(display:noneはアクセシビリティツリーから要素を削除します)、読み上げ順序(flexboxのorderによる視覚的な並べ替えとDOMの順序の違い)を制御します。CSSの選択は、障害のあるユーザーがインターフェースを利用できるかどうかに直接影響します。
WCAGの色のコントラスト要件
WCAG 2.1 AAでは、通常のテキストに4.5:1、大きなテキスト(太字で18px以上、または通常の太さで24px以上)に3:1のコントラスト比が必要です。AAAでは、それぞれ7:1と4.5:1が必要です。これらの比率は、前景のテキストカラーの輝度と背景色の輝度を比較したものです。
DevToolsでコントラストを確認する
DevToolsで任意のテキスト要素をクリックし、Stylesパネルを開きます。カラースウォッチにコントラスト比のバッジが表示されます。チェックマークは合格、Xは不合格を示します。カラーピッカーには、色のグラデーション上にAA/AAAのしきい値の線が表示されます。
コントラストの自動テスト
axe-core、Lighthouse、Pa11yは、すべてのテキスト要素のコントラスト比を自動的に監査します。開発中に@axe-core/reactとともにaxe-coreを実行すると、ブラウザのコンソールでリアルタイムにコントラストの警告を確認できます。
フォーカスインジケーター
:focusに対するCSSのoutline: noneやoutline: 0は、ブラウザのデフォルトのフォーカスリングを削除し、キーボード操作を見えなくします。これは重大なアクセシビリティ上の問題です。フォーカスインジケーターを完全に削除するのではなく、カスタムの視認できるフォーカススタイルに置き換えてください。
<button autofocus>Keyboard-focused button</button>
:focus-visibleと:focusの違い
:focusは、マウスクリックを含むすべてのフォーカスイベントに適用されます。そのため、クリック時にも目立つリングが表示され、デザイナーに好まれないことがあります。:focus-visibleは、ブラウザがキーボード操作中であると判断した場合にのみ適用されます。これにより、マウスクリック時には表示せず、キーボードユーザーにはフォーカスリングを表示できます。
WCAGのフォーカスインジケーター要件
WCAG 2.2では、達成基準2.4.11(フォーカスの外観AA)が導入されています。フォーカスインジケーターには、隣接する色に対して少なくとも3:1のコントラストがあり、コンポーネントの外周を囲んでいる必要があります。カスタムフォーカススタイルは、存在するだけでなく、これらの要件を満たす必要があります。
強制カラーモード
Windowsのハイコントラストモードでは、CSSの色がユーザー定義のシステムカラーで上書きされます。@media (forced-colors: active)を使って、ハイコントラストモードでも機能する代替スタイルを提供してください。Windowsの設定 → アクセシビリティ → ハイコントラストでテストします。
唯一のインジケーターとしての色
WCAG 1.4.1では、情報を伝える唯一の手段として色を使用することが禁止されています。赤色に変わるだけのエラー状態は、この基準に違反します。アイコン、テキストラベル、パターン、下線などを色と組み合わせ、色に依存しない情報が常に存在するようにしてください。
テキストの拡大と間隔
WCAG 1.4.4では、コンテンツを失わずにテキストを200%まで拡大できることが求められます。WCAG 1.4.12では、テキスト間隔の上書き(letter-spacingやline-heightの増加)によってレイアウトが崩れないことが求められます。両方の要件を満たすため、タイポグラフィには相対単位(rem、em)を使用してください。
テストツールの構成
包括的なアクセシビリティCSSテストには、開発用のaxe DevToolsブラウザ拡張機能、自動パイプラインチェック用のLighthouse CI、コマンドラインによるページ監査用のPa11y、そしてフォーカスインジケーターの可視性と順序を確認するTab/Shift+Tabによる手動のキーボード操作テストが含まれます。
理解度チェック
要素の:focus状態に対する最終的なCSSとしてoutline: noneを使ってはいけないのはなぜですか。
概要
CSSのアクセシビリティテストでは、色のコントラスト比(AAでは最低4.5:1)、:focus-visibleを使った視認可能でWCAG 2.2に準拠したフォーカスインジケーター、情報を伝える唯一の手段として色を使わないこと、forced-colorsモードへの対応、拡大要件に対応する相対的なタイポグラフィ単位を確認します。自動ツールと手動のキーボードテストを組み合わせることで、包括的に検証できます。
よくある質問
「アクセシビリティテスト: color-contrastとfocus」レッスンは無料ですか?
はい。「アクセシビリティテスト: color-contrastとfocus」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、CSS Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 CSS Academyコースには全4レッスンが含まれています。
「アクセシビリティテスト: color-contrastとfocus」で何を学びますか?
色のコントラスト比を確認し、フォーカスインジケーターがWCAGのアクセシビリティ基準を満たしていることを検証します。 ブラウザで直接実行するハンズオンコードでCSS Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
CSS Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCSS Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「アクセシビリティテスト: color-contrastとfocus」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCSS Academyレッスンでコードを書いて実行できますか?
はい。すべてのCSS Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ビジュアルリグレッションテストの概念
- Storybook向けPercyとChromatic
- JestによるCSSユニットテスト
- アクセシビリティテスト: color-contrastとfocus