これは、Web Accessibility Advent Calendar 2016の10日目の記事です。
この記事では、アクセシビリティの検証で重要なコントラストチェッカーについてお話します。
コントラストチェッカーとは?
アクセシビリティに配慮したWeb制作を行うにあたって重要な項目のひとつは、
文字色(前景色)と背景色の選び方です。
それぞれの色に差異がない場合、文字を認識することが困難になり、
アクセシビリティが低下してしまいます。
コントラストチェッカーとは、2つの色のコントラスト比を計算し、
W3Cが定めたWebアクセシビリティの基準(WCAG2.0)に適合しているかを検証するツールです。
WCAG2.0には、コントラスト比を以下のように定めるよう規定されています。
1.4.3 コントラスト (最低限) : テキスト及び文字画像の視覚的提示に、少なくとも 4.5:1 のコントラスト比がある。ただし、次の場合は除く: (レベル AA)
大きな文字: サイズの大きなテキスト及びサイズの大きな文字画像に、少なくとも 3:1 のコントラスト比がある。
...
1.4.6 コントラスト (高度) : テキスト及び文字画像の視覚的提示には、少なくとも 7:1 のコントラスト比がある。ただし、次の場合は除く: (レベル AAA)
大きな文字: サイズの大きなテキスト及びサイズの大きな文字画像には、少なくとも 4.5:1 のコントラスト比がある。
...
コントラストチェッカーには色々な種類がありますが、
それぞれ、コントラスト比の計算方法やWCAG2.0への適合結果に違いがあります。
この記事では、その差異を簡単に検証し、差異に対する対策を考えます。
コントラストチェッカーの検証
検証したツール
以下3つのコントラストチェッカーを検証しました:
検証方法
以下の表に示すように、前景色と背景色の3つのパターンを考え、それぞれのツールで測定したときに、
コントラスト比と、WCAG2.0への適合結果がどう変わるかを調べました。
前景色 | 背景色 | |
---|---|---|
パターン1 | #F00000 | #FFFFFF |
パターン2 | #EF0000 | #FFFFFF |
パターン3 | #EE0000 | #FFFFFF |
検証結果
[パターン1] 前景色: #F00000, 背景色: #FFFFFF の場合
| ツール | コントラスト比 | 通常サイズAA | 通常サイズAAA | 大きな文字 AA | 大きな文字 AAA |
|:---|---:|---:|---:|---:|---:|---:|
| Colour Contrast Analyser | 4.5:1 | 適合 | 不適合 | 適合 | 適合 |
| ColorTester | 4.4:1 | 不適合 | 不適合 | 適合 | 不適合 |
| WebAIM | 4.46:1 | 不適合 | 不適合 | 適合 | 不適合 |
[パターン2] 前景色: #EF0000, 背景色: #FFFFFF の場合
| ツール | コントラスト比 | 通常サイズAA | 通常サイズAAA | 大きな文字 AA | 大きな文字 AAA|
|:---|---:|---:|---:|---:|---:|---:|
| Colour Contrast Analyser | 4.5:1 | 適合 | 不適合 | 適合 | 適合 |
| ColorTester | 4.4:1 | 不適合 | 不適合 | 適合 | 不適合 |
| WebAIM | 4.5:1 | 不適合 | 不適合 | 適合 | 不適合 |
[パターン3] 前景色: #EE0000, 背景色: #FFFFFF の場合
| ツール | コントラスト比 | 通常サイズAA | 通常サイズAAA | 大きな文字 AA | 大きな文字 AAA|
|:---|---:|---:|---:|---:|---:|---:|
| Colour Contrast Analyser | 4.5:1 | 適合 | 不適合 | 適合 | 適合 |
| ColorTester | 4.5:1 | 適合 | 不適合 | 適合 | 適合 |
| WebAIM | 4.53:1 | 適合 | 不適合 | 適合 | 適合 |
検証結果から気づくこと
上記の結果から、以下のことがわかります:
- ツールによって、色の適合/不適合の結果に違いがある。
- ツールによって、算出されるコントラスト比にも違いがある。
- コントラスト比が4.5:1 と算出されても、通常サイズAAで不適合となるツールがある。
対策
コントラスト比に余裕を持たせる
4.6:1など、WCAG2.0の基準値に対して余裕を持たせるようにすると、
ツールによる適合結果のばらつきが生じにくくなります。
WCAG2.0の基準値ギリギリを攻めるのはやめたほうがよさそうです。
使用するコントラストチェッカーを統一する
コントラストチェッカーを統一しておくと
特に複数人で開発を行う場合、算出されるコントラスト比が異なることによって
無駄なコミュニケーションコストが発生することを抑えられます。
まとめ
コントラストチェッカーは便利なツールですが、ともすると余計なコストを生じさせてしまいます。
それぞれのチェッカーが出力する結果に差異があることを理解しておきましょう。