ユーザーインターフェースでの要素の非表示は一般的な慣行ですが、すべてのユーザーを含めるためにアクセシブルな方法で行うことが重要です。3つの主要なシナリオを考慮する必要があります。すなわち、スクリーンリーダーから要素を非表示にする、スクリーンリーダーのみに要素を表示する、およびすべてのユーザーから要素を非表示にすることです。
スクリーンリーダーから要素を非表示にするには、aria-hidden="true" 属性や CSS を使用できます。使用例として、背景イメージや装飾アイコンを非表示にすることが挙げられます。
スクリーンリーダーのみに要素を表示するには、「視覚的に隠れた」テクニックを使用できます。Tailwind CSS では、sr-only というプリビルトのユーティリティクラスを提供しています。このテクニックは、インタラクティブ要素のラベル付け、スクリーンリーダー ユーザー向けの追加情報の提供、およびカスタムラジオボタンの入力要素を非表示にするために有効です。
すべてのユーザーから要素を完全に非表示にするには、display: none や visibility: hidden を使用できます。さまざまな CSS 属性が異なるタイプのユーザーに対する可視性に与える影響をまとめた表も提供されています。すなわち、display: none、visibility: hidden、opacity: 0、および aria-hidden="true" です。
この表は、スクリーンリーダー、視覚的に能力のあるユーザー、およびアクセシビリティツリーに対するこれらの属性の影響の違いを強調しています。これらの違いを理解することは、すべてのユーザーが使用できるアクセシブルで包括的なユーザーインターフェースを作成するために不可欠です。正しいテクニックと属性を使用することで、開発者は、能力にかかわらずすべてのユーザーがインターフェースを使用できることを保証できます。
dev.to
Hiding Elements in CSS: The Accessible Way
