属性セレクタは常にspecificity of 0-0-1-0
を持つため、属性セレクタは大規模なCSSのスタイルを管理するための非常に柔軟な方法です。
[aria-*]
セレクタはスタイリングフックとして使用するときれいになります。また、カスタムの[data-*]
属性を使用して、ワンオフが必要なギャップを埋めることもお勧めします。確かに、クラスセレクタは、しかし、あなたは、属性セレクタを持ついくつかの非常にエレガントなスタイルの拡張を行うことができ、使用され続ける必要があります。
[data-foo] {
color: red;
}
[data-foo="bar"] {
color: blue;
}
[data-foo="fizz"] {
color: green;
}
これらのセレクタのそれぞれは、同じ特異性を有し、かつカスケードスタイルが適切に適用することができるようになります。
必要に応じて[attr~="value"]
セレクタを使用して、独自のクラスのフォームを作成できます。
"attribute contains" selectorを使用すると、クラス上の属性を使用することに隠された利点のa technique that I call "classy images"
一つに役立ちますが、JavaScriptでパフォーマンスの向上です。要素上のクラスの存在をチェックするのではなく、間違っていることは非常に簡単です。ブラウザは、getAttribute
,hasAttribute
、およびsetAttribute
を長い間サポートしています。
CSSセレクタでARIAタグを使用することは、W3C - https://www.w3.org/TR/wai-aria-practices/#accessiblewidget、セクション2.7で推奨されます。 –