【CSS Modules】contrast()関数の使い方
contrast()関数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
contrast()関数は、指定された背景色に対して、ウェブコンテンツのアクセシビリティ要件を満たす十分な視認性を持つテキスト色などのフォアグラウンド色を自動的に選択し、提供する関数です。この関数は、主にウェブコンテンツアクセシビリティガイドライン(WCAG)で定められているコントラスト比の基準に基づき、視認性の高い配色を簡単に適用できるように設計されています。
この関数は、最初の引数に基準となる背景色を受け取ります。次に、第二引数として、選択肢となる複数の色のリストを渡します。contrast()関数は、このリスト内の各色と指定された背景色とのコントラスト比を計算し、WCAGの基準(デフォルトではWCAG AA Large Textの4.5:1)を満たす最初の色、または最も高いコントラスト比を持つ色を自動的に選択して返します。
オプションとして、第三引数で最小コントラスト比の閾値を明示的に指定したり、第四引数でWCAG AAやWCAG AAAなどのコントラスト計算基準を指定したりすることも可能です。これにより、コンテンツの特定の要件に応じた、より厳密なアクセシビリティ基準を適用することができます。
contrast()関数を使用することで、開発者は手動で複数の色候補のコントラスト比を計算し、適切な色を選択する手間を省くことができます。常にアクセシブルな配色を維持できるため、多様なユーザーがコンテンツを快適に利用できるようになり、ウェブサイトのユーザビリティとアクセシビリティの向上に大きく貢献します。
構文(syntax)
1.element-name { 2 filter: contrast(150%); 3}
引数(parameters)
<color>, vs <color-list> = null
- color: オプションの contrast() 関数が比較対象とする色。
- vs color-list = null: 比較対象として、カンマ区切りで複数の色を指定できるリスト。指定しない場合は、ブラウザのデフォルト値が使用されます。
戻り値(return)
contrast() 関数は、指定された <color> 値を基準にして、コントラストの高い色または低い色を計算し、その結果を <color> 型として返します。