prefers-reduced-transparency media query
prefers-reduced-transparencyは、ユーザーがデバイス設定で透過効果の削減を選択しているかどうかを検出するメディアクエリです。透過効果はコントラストの低下を招き、一部のユーザーにとって読みにくさの原因となります。この設定を検出することで、背景の透過度を下げたり、不透明な背景に置き換えたりする対応が可能です。
概要
prefers-reduced-transparencyは、ユーザーがデバイス設定で透過効果の削減を選択しているかどうかを検出するメディアクエリです。透過効果はコントラストの低下を招き、一部のユーザーにとって読みにくさの原因となります。この設定を検出することで、背景の透過度を下げたり、不透明な背景に置き換えたりする対応が可能です。
対応ブラウザ
デスクトップ
Chrome 119+
Edge 119+
Safari 未対応
Firefox 未対応
モバイル
Chrome Android 119+
Safari iOS 未対応
Firefox Android 未対応
基本構文
CSS
.overlay {
background: rgba(0, 0, 0, 0.5);
}
@media (prefers-reduced-transparency: reduce) {
.overlay {
background: rgb(30, 30, 30);
}
} 実務での使いどころ
-
透過効果のフォールバック提供
透過効果の削減を希望するユーザーに対して、半透明な背景を不透明に切り替えてコントラストと可読性を向上させます。
注意点
- SafariとFirefoxでは未サポートのため、透過効果に依存しないデフォルトデザインを基本としてください。
アクセシビリティ
- 透過効果を使用する場合、テキストと背景のコントラスト比がWCAG基準を満たしているか、実際の背景上で確認してください。