Alt text for generated content
::before や ::after で挿入したアイコンや装飾に対して、スクリーンリーダー向けの代替テキストを設定できます。これにより、装飾的な生成コンテンツにはアクセシブルな名前を付けたり、逆に空文字で非表示にしたりできます。アクセシブルなUIを構築する上で重要な機能です。
概要
::before や ::after で挿入したアイコンや装飾に対して、スクリーンリーダー向けの代替テキストを設定できます。これにより、装飾的な生成コンテンツにはアクセシブルな名前を付けたり、逆に空文字で非表示にしたりできます。アクセシブルなUIを構築する上で重要な機能です。
対応ブラウザ
デスクトップ
Chrome 77+
Edge 79+
Safari 17.4+
Firefox 128+
モバイル
Chrome Android 77+
Safari iOS 17.4+
Firefox Android 128+
基本構文
CSS
.icon::before {
content: url('star.svg') / 'お気に入り';
}
.decorative::before {
content: url('divider.svg') / '';
} 実務での使いどころ
-
アイコンフォントやSVGへの代替テキスト付与
CSSで挿入したアイコンにスクリーンリーダー用のラベルを設定し、視覚障害のあるユーザーにも情報を伝えられます。
注意点
- ブラウザのサポート状況にばらつきがあるため、重要な情報はHTMLの属性(aria-label等)でも提供することを推奨します。
アクセシビリティ
- 装飾的な生成コンテンツには content: url(...) / '' のように空文字を指定し、スクリーンリーダーが不要な情報を読み上げないようにしてください。