1. 序論
~level 3 における特能は、 依然として, `css-conditional-3$r にて定義される — まだ,ここには複製されてない。 ◎ The features in level 3 are still defined in [css-conditional-3] and have not yet been copied here.
この~levelは、 `supports$at 規則に対する拡張を追加する — それは、 所与の`選択子$が~supportされるか否か~testすることを許容する。 ◎ This level adds extensions to the @supports rule to allow testing for supported selectors.
2. `supports$at 規則に対する拡張
この~levelの仕様は、 `supports-feature$t 構文を次に従って拡張する: ◎ This level of the specification extends the <supports-feature> syntax as follows:
`supports-feature@t = `supports-selector-fn$t | `supports-decl$t `supports-selector-fn@t = selector( `complex-selector$t )
- `supports-selector-fn$t
- 結果は、 次が満たされるならば `真^i になる ⇒ ~UAは、 当の関数の引数として供された`~CSS選択子を~supportして$いる。 ◎ The result is true if the UA supports the selector provided as an argument to the function.
この例は、 `~column結合子$( `||^css )は~supportされる`選択子$かどうか~testする — ~supportされるならば、 それを利用して~table内の特定0の~cellを~styleする。 ◎ This example tests whether the column combinator (||) is supported in selectors, and if so uses it to style particular cells in a table.
@supports selector(col || td) { col.selected || td { background: tan; } }
`条件付き~group規則$内に利用する`名前空間 接頭辞$は、 宣言-済みでなければナラナイ — さもなければ、 当の規則は無効になる `css-conditional-3$r 。 これは、 `selector$f【!selector】 関数の内側にある`名前空間 接頭辞$も含む。 ◎ Any namespace prefixes used in a conditional group rule must have been declared, otherwise they are invalid [css-conditional-3]. This includes namespace prefixes inside the selector function.
この例は, `~CSS有修飾~名$を伴う`属性~選択子$は~supportされるかどうか検査しようと試行するが、 当の`名前空間 接頭辞$は宣言-済みでないので,無効になる。 ◎ This example tries to check that attribute selectors with CSS qualified names are supported, but is invalid, because the namespace prefix has not been declared.
@supports selector(a[xlink|href]) { // do something, but fail } }
この例は、 `~CSS有修飾~名$を伴う`属性~選択子$は~supportされるかどうか検査する。 ◎ This example checks that attribute selectors with CSS qualified names are supported.
@namespace x url(http://www.w3.org/1999/xlink); @supports selector(a[x|href]) { // do something } }
2.1. ~supportの定義に対する拡張
~CSS処理器は、 ~AND↓ が満たされるならば,所与の `~CSS選択子を~supportして@ いると見なされる: ◎ A CSS processor is considered to support a CSS selector if\
- 当の`選択子$のすべての側面を再帰的に受容する (構文を成す何かが[ 未知/無効 ]かどうかを考慮するのではなく) ◎ it accepts that all aspects of that selector, recursively, (rather than considering any of its syntax to be unknown or invalid) and\
- 当の`選択子$は、 `未知な -webkit- 疑似要素$を包含しない ◎ that selector doesn’t contain unknown -webkit- pseudo-elements.
注記: 関数-記法による`選択子$のうち一部は、 寛容に構文解析される — すなわち、[ 未知/無効 ]な引数があっても,当の選択子~自体は無効~化されない。 いずれにせよ、 それらは~supportされないが。 ◎ Note: Some functional selectors are parsed forgivingly, i.e. if some arguments are unknown/invalid, the selector itself is not invalidated. These are nonetheless unsupported
~securityの考慮点
この文書に対し提起された~securityの課題は無い。 ◎ No Security issues have been raised against this document
~privacyの考慮点
`selector$f 関数は、 利用者の~softwareについての情報を供し得る — ~versionや[ ある種の特能を[ 可能化する/不能化する ]ような,既定でない設定たちを伴って稼働しているかどうか ]など。 ◎ The selector() function may provide information about the user’s software such as its version and whether it is running with non-default settings that enable or disable certain features.
この情報は、 他の~APIを通しても決定され得る。 しかしながら、 この仕様における特能は,この情報が~Webへ公開される仕方の一つを成す。 ◎ This information can also be determined through other APIs. However, the features in this specification are one of the ways this information is exposed on the Web.
この情報はまた、 他と集成して,利用者の`指紋収集@https://www.w3.org/2001/tag/doc/unsanctioned-tracking/$の正確度を改善するためにも利用され得る。 ◎ This information can also, in aggregate, be used to improve the accuracy of fingerprinting of the user.
謝辞
この~moduleの以前の~levelに対する`すべての貢献者たち@~CSSCOND#acknowledgments$に感謝したい。 ◎ The editors would like to thank all of the contributors to the previous level of this module.
変更点
- `2022年 2月 17日 勧告候補~snapshot@https://www.w3.org/TR/2022/CR-css-conditional-4-20220217/$ からの変更点 ◎ Changes since the Candidate Recommendation Snapshot of 17 February 2022
- `選択子$を成す[ 未知/無効 ]な部位は,当の選択子を無効~化しないが、 いずれにせよ, 選択子は~supportされないものと見なされることを明確化した。 ◎ Clarify that unknown or invalid portions of a selector that do not invalidate the selector nonetheless cause the selector to be considered unsupported.
- `2020年 3月 3日 最初の公な作業草案@https://www.w3.org/TR/2020/WD-css-conditional-4-20200303/$ からの変更点 ◎ Changes since the First Public Working Draft of 3 March 2020
- `§ ~privacy@#privacy$, `§ ~security@#security$ を追加した。 ◎ Added Privacy and Security sections.
- いくつか例を追加した ◎ Added some examples
- `名前空間 接頭辞$を宣言する要件は、 `selector$f の内側にある`選択子$にも適用されることを明確化した。 ( `3220$issue ) ◎ Clarified that the requirement to declare namespace prefixes applies to selectors inside selector() (Issue 3220)
- `~level 3$ からの追加 ◎ Additions since Level 3
- `~supports~query$に `selector$f 記法を追加した。 ◎ Added selector() notation to supports queries.