From f0bfed65a449bbb43b8539f5aa7c4d23f9b45663 Mon Sep 17 00:00:00 2001 From: James Stuckey Weber Date: Mon, 4 Nov 2024 09:49:19 -0500 Subject: [PATCH 1/5] Add baseline high selectors --- features/focus-within.yml | 6 ++ features/focus-within.yml.dist | 17 +++++ features/form-validity-pseudos.yml | 13 ++++ features/form-validity-pseudos.yml.dist | 59 +++++++++++++++ features/link-selectors.yml | 12 ++++ features/link-selectors.yml.dist | 95 +++++++++++++++++++++++++ features/scope-pseudo.yml | 7 ++ features/scope-pseudo.yml.dist | 18 +++++ 8 files changed, 227 insertions(+) create mode 100644 features/focus-within.yml create mode 100644 features/focus-within.yml.dist create mode 100644 features/form-validity-pseudos.yml create mode 100644 features/form-validity-pseudos.yml.dist create mode 100644 features/link-selectors.yml create mode 100644 features/link-selectors.yml.dist create mode 100644 features/scope-pseudo.yml create mode 100644 features/scope-pseudo.yml.dist diff --git a/features/focus-within.yml b/features/focus-within.yml new file mode 100644 index 00000000000..fc4fbc029ad --- /dev/null +++ b/features/focus-within.yml @@ -0,0 +1,6 @@ +name: "" +description: "" +spec: https://drafts.csswg.org/selectors-4/#the-focus-within-pseudo +caniuse: "" +compat_features: + - css.selectors.focus-within diff --git a/features/focus-within.yml.dist b/features/focus-within.yml.dist new file mode 100644 index 00000000000..b1cd1795585 --- /dev/null +++ b/features/focus-within.yml.dist @@ -0,0 +1,17 @@ +# Generated from: focus-within.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2020-01-15 + baseline_high_date: 2022-07-15 + support: + chrome: "60" + chrome_android: "60" + edge: "79" + firefox: "52" + firefox_android: "52" + safari: "10.1" + safari_ios: "10.3" +compat_features: + - css.selectors.focus-within diff --git a/features/form-validity-pseudos.yml b/features/form-validity-pseudos.yml new file mode 100644 index 00000000000..6fa0515444b --- /dev/null +++ b/features/form-validity-pseudos.yml @@ -0,0 +1,13 @@ +name: "" +description: "" +spec: https://drafts.csswg.org/selectors-4/#ui-validity +caniuse: "" +compat_features: + - css.selectors.invalid.form + - css.selectors.valid.form + - css.selectors.invalid + - css.selectors.optional + - css.selectors.required + - css.selectors.valid + - css.selectors.in-range + - css.selectors.out-of-range diff --git a/features/form-validity-pseudos.yml.dist b/features/form-validity-pseudos.yml.dist new file mode 100644 index 00000000000..6aaff0db8b7 --- /dev/null +++ b/features/form-validity-pseudos.yml.dist @@ -0,0 +1,59 @@ +# Generated from: form-validity-pseudos.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2020-01-15 + baseline_high_date: 2022-07-15 + support: + chrome: "40" + chrome_android: "40" + edge: "79" + firefox: "29" + firefox_android: "16" + safari: "9" + safari_ios: "9" +compat_features: + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "10" + # chrome_android: "18" + # edge: "12" + # firefox: "4" + # firefox_android: "4" + # safari: "5" + # safari_ios: "5" + - css.selectors.invalid + - css.selectors.optional + - css.selectors.required + - css.selectors.valid + + # baseline: high + # baseline_low_date: 2015-11-12 + # baseline_high_date: 2018-05-12 + # support: + # chrome: "10" + # chrome_android: "18" + # edge: "13" + # firefox: "29" + # firefox_android: "16" + # safari: "5.1" + # safari_ios: "5" + - css.selectors.in-range + - css.selectors.out-of-range + + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "40" + # chrome_android: "40" + # edge: "79" + # firefox: "13" + # firefox_android: "14" + # safari: "9" + # safari_ios: "9" + - css.selectors.invalid.form + - css.selectors.valid.form diff --git a/features/link-selectors.yml b/features/link-selectors.yml new file mode 100644 index 00000000000..43631020008 --- /dev/null +++ b/features/link-selectors.yml @@ -0,0 +1,12 @@ +name: "" +description: "" +spec: https://drafts.csswg.org/selectors-4/#location +caniuse: "" +compat_features: + - css.selectors.any-link + - css.selectors.any-link.not_match_link + - css.selectors.link + - css.selectors.link.not_match_link + - css.selectors.visited + - css.selectors.visited.not_match_link + - css.selectors.visited.privacy_measures diff --git a/features/link-selectors.yml.dist b/features/link-selectors.yml.dist new file mode 100644 index 00000000000..57c40b550a9 --- /dev/null +++ b/features/link-selectors.yml.dist @@ -0,0 +1,95 @@ +# Generated from: link-selectors.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2021-09-20 + baseline_high_date: 2024-03-20 + support: + chrome: "65" + chrome_android: "65" + edge: "79" + firefox: "87" + firefox_android: "87" + safari: "15" + safari_ios: "15" +compat_features: + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "1" + # safari_ios: "1" + - css.selectors.visited + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "1" + # safari_ios: "3.2" + - css.selectors.link + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "6" + # chrome_android: "18" + # edge: "12" + # firefox: "4" + # firefox_android: "4" + # safari: "5" + # safari_ios: "4.2" + - css.selectors.visited.privacy_measures + + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "65" + # chrome_android: "65" + # edge: "79" + # firefox: "50" + # firefox_android: "50" + # safari: "9" + # safari_ios: "9" + - css.selectors.any-link + + # baseline: high + # baseline_low_date: 2021-09-20 + # baseline_high_date: 2024-03-20 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "87" + # firefox_android: "87" + # safari: "15" + # safari_ios: "15" + - css.selectors.link.not_match_link + - css.selectors.visited.not_match_link + + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2021-09-20 + # baseline_high_date: 2024-03-20 + # support: + # chrome: "65" + # chrome_android: "65" + # edge: "79" + # firefox: "87" + # firefox_android: "87" + # safari: "15" + # safari_ios: "15" + - css.selectors.any-link.not_match_link diff --git a/features/scope-pseudo.yml b/features/scope-pseudo.yml new file mode 100644 index 00000000000..b6df4563388 --- /dev/null +++ b/features/scope-pseudo.yml @@ -0,0 +1,7 @@ +name: "" +description: "" +spec: https://drafts.csswg.org/selectors-4/#the-scope-pseudo +caniuse: "" +compat_features: + - css.selectors.scope + - css.selectors.scope.dom_api diff --git a/features/scope-pseudo.yml.dist b/features/scope-pseudo.yml.dist new file mode 100644 index 00000000000..2b4b0fffae5 --- /dev/null +++ b/features/scope-pseudo.yml.dist @@ -0,0 +1,18 @@ +# Generated from: scope-pseudo.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2020-01-15 + baseline_high_date: 2022-07-15 + support: + chrome: "27" + chrome_android: "27" + edge: "79" + firefox: "32" + firefox_android: "32" + safari: "7" + safari_ios: "7" +compat_features: + - css.selectors.scope + - css.selectors.scope.dom_api From a501f1cc754cd4e53b4019c1b187ffbcad5792e4 Mon Sep 17 00:00:00 2001 From: SondraE Date: Wed, 6 Nov 2024 11:50:09 -0700 Subject: [PATCH 2/5] add selector names, descriptions, groups --- features/focus-within.yml | 7 ++++--- features/form-validity-pseudos.yml | 11 ++++++++--- features/form-validity-pseudos.yml.dist | 19 ++++++++++--------- features/link-selectors.yml | 9 ++++++--- features/link-selectors.yml.dist | 14 +++++++------- features/scope-pseudo.yml | 6 +++--- 6 files changed, 38 insertions(+), 28 deletions(-) diff --git a/features/focus-within.yml b/features/focus-within.yml index fc4fbc029ad..cb697fb0a22 100644 --- a/features/focus-within.yml +++ b/features/focus-within.yml @@ -1,6 +1,7 @@ -name: "" -description: "" +name: ":focus-within" +description: "The `:focus-within` CSS pseudo-class matches an element if the element or any of its children have `:focus`." spec: https://drafts.csswg.org/selectors-4/#the-focus-within-pseudo -caniuse: "" +caniuse: css-focus-within +group: selectors compat_features: - css.selectors.focus-within diff --git a/features/form-validity-pseudos.yml b/features/form-validity-pseudos.yml index 6fa0515444b..53be860ee9e 100644 --- a/features/form-validity-pseudos.yml +++ b/features/form-validity-pseudos.yml @@ -1,7 +1,12 @@ -name: "" -description: "" +name: Form validity pseudos +description: "The form validity CSS pseudo-classes match
elements that are `:valid` or `:invalid`, `:optional` or `:required`, in or out of acceptable range." spec: https://drafts.csswg.org/selectors-4/#ui-validity -caniuse: "" +caniuse: + - css-optional-pseudo + - css-in-out-of-range +group: selectors +status: + compute_from: css.selectors.optional compat_features: - css.selectors.invalid.form - css.selectors.valid.form diff --git a/features/form-validity-pseudos.yml.dist b/features/form-validity-pseudos.yml.dist index 6aaff0db8b7..77f2493141e 100644 --- a/features/form-validity-pseudos.yml.dist +++ b/features/form-validity-pseudos.yml.dist @@ -3,17 +3,18 @@ status: baseline: high - baseline_low_date: 2020-01-15 - baseline_high_date: 2022-07-15 + baseline_low_date: 2015-07-29 + baseline_high_date: 2018-01-29 support: - chrome: "40" - chrome_android: "40" - edge: "79" - firefox: "29" - firefox_android: "16" - safari: "9" - safari_ios: "9" + chrome: "10" + chrome_android: "18" + edge: "12" + firefox: "4" + firefox_android: "4" + safari: "5" + safari_ios: "5" compat_features: + # ⬇️ Same status as overall feature ⬇️ # baseline: high # baseline_low_date: 2015-07-29 # baseline_high_date: 2018-01-29 diff --git a/features/link-selectors.yml b/features/link-selectors.yml index 43631020008..c00b9604728 100644 --- a/features/link-selectors.yml +++ b/features/link-selectors.yml @@ -1,7 +1,10 @@ -name: "" -description: "" +name: Link selectors +description: The `:link` CSS pseudo-class matches unvistied links, `:visited` matches visited links, and `:any-link` matches both. spec: https://drafts.csswg.org/selectors-4/#location -caniuse: "" +caniuse: css-any-link +group: selectors +status: + compute_from: css.selectors.any-link compat_features: - css.selectors.any-link - css.selectors.any-link.not_match_link diff --git a/features/link-selectors.yml.dist b/features/link-selectors.yml.dist index 57c40b550a9..3e3e1aa0b8c 100644 --- a/features/link-selectors.yml.dist +++ b/features/link-selectors.yml.dist @@ -3,16 +3,16 @@ status: baseline: high - baseline_low_date: 2021-09-20 - baseline_high_date: 2024-03-20 + baseline_low_date: 2020-01-15 + baseline_high_date: 2022-07-15 support: chrome: "65" chrome_android: "65" edge: "79" - firefox: "87" - firefox_android: "87" - safari: "15" - safari_ios: "15" + firefox: "50" + firefox_android: "50" + safari: "9" + safari_ios: "9" compat_features: # baseline: high # baseline_low_date: 2015-07-29 @@ -53,6 +53,7 @@ compat_features: # safari_ios: "4.2" - css.selectors.visited.privacy_measures + # ⬇️ Same status as overall feature ⬇️ # baseline: high # baseline_low_date: 2020-01-15 # baseline_high_date: 2022-07-15 @@ -80,7 +81,6 @@ compat_features: - css.selectors.link.not_match_link - css.selectors.visited.not_match_link - # ⬇️ Same status as overall feature ⬇️ # baseline: high # baseline_low_date: 2021-09-20 # baseline_high_date: 2024-03-20 diff --git a/features/scope-pseudo.yml b/features/scope-pseudo.yml index b6df4563388..8af509bf0af 100644 --- a/features/scope-pseudo.yml +++ b/features/scope-pseudo.yml @@ -1,7 +1,7 @@ -name: "" -description: "" +name: Scope pseudo +description: "The `:scope` CSS pseudo-class represents elements that are a reference point for selectors to match against." spec: https://drafts.csswg.org/selectors-4/#the-scope-pseudo -caniuse: "" +group: selectors compat_features: - css.selectors.scope - css.selectors.scope.dom_api From e7e52d119cc0651bf875f4d456836b4abd438fe3 Mon Sep 17 00:00:00 2001 From: James Stuckey Weber Date: Wed, 6 Nov 2024 17:06:39 -0500 Subject: [PATCH 3/5] Minor review --- features/focus-within.yml | 2 +- features/form-validity-pseudos.yml | 2 +- features/link-selectors.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/features/focus-within.yml b/features/focus-within.yml index cb697fb0a22..e09606f5a2e 100644 --- a/features/focus-within.yml +++ b/features/focus-within.yml @@ -1,5 +1,5 @@ name: ":focus-within" -description: "The `:focus-within` CSS pseudo-class matches an element if the element or any of its children have `:focus`." +description: "The `:focus-within` CSS pseudo-class matches an element if the element or any of its children are focused." spec: https://drafts.csswg.org/selectors-4/#the-focus-within-pseudo caniuse: css-focus-within group: selectors diff --git a/features/form-validity-pseudos.yml b/features/form-validity-pseudos.yml index 53be860ee9e..b8c7a7b20f7 100644 --- a/features/form-validity-pseudos.yml +++ b/features/form-validity-pseudos.yml @@ -1,5 +1,5 @@ name: Form validity pseudos -description: "The form validity CSS pseudo-classes match elements that are `:valid` or `:invalid`, `:optional` or `:required`, in or out of acceptable range." +description: "The form validity CSS pseudo-classes match elements that are `:valid` or `:invalid`, `:optional` or `:required`, or in or out of an acceptable range." spec: https://drafts.csswg.org/selectors-4/#ui-validity caniuse: - css-optional-pseudo diff --git a/features/link-selectors.yml b/features/link-selectors.yml index c00b9604728..f96e1702050 100644 --- a/features/link-selectors.yml +++ b/features/link-selectors.yml @@ -1,5 +1,5 @@ name: Link selectors -description: The `:link` CSS pseudo-class matches unvistied links, `:visited` matches visited links, and `:any-link` matches both. +description: The `:link` CSS pseudo-class matches unvisited links, `:visited` matches visited links, and `:any-link` matches both. spec: https://drafts.csswg.org/selectors-4/#location caniuse: css-any-link group: selectors From ced9a5b2c7f8cc68fc62b5475ae4d64f4109d3a6 Mon Sep 17 00:00:00 2001 From: James Stuckey Weber Date: Tue, 12 Nov 2024 15:41:17 -0500 Subject: [PATCH 4/5] Review --- features/focus-within.yml | 2 +- features/form-validity-pseudos.yml | 2 +- features/scope-pseudo.yml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/features/focus-within.yml b/features/focus-within.yml index e09606f5a2e..3228af21214 100644 --- a/features/focus-within.yml +++ b/features/focus-within.yml @@ -1,4 +1,4 @@ -name: ":focus-within" +name: :focus-within description: "The `:focus-within` CSS pseudo-class matches an element if the element or any of its children are focused." spec: https://drafts.csswg.org/selectors-4/#the-focus-within-pseudo caniuse: css-focus-within diff --git a/features/form-validity-pseudos.yml b/features/form-validity-pseudos.yml index b8c7a7b20f7..ece21fa3228 100644 --- a/features/form-validity-pseudos.yml +++ b/features/form-validity-pseudos.yml @@ -1,4 +1,4 @@ -name: Form validity pseudos +name: Form validity pseudo-classes description: "The form validity CSS pseudo-classes match elements that are `:valid` or `:invalid`, `:optional` or `:required`, or in or out of an acceptable range." spec: https://drafts.csswg.org/selectors-4/#ui-validity caniuse: diff --git a/features/scope-pseudo.yml b/features/scope-pseudo.yml index 8af509bf0af..f191377e966 100644 --- a/features/scope-pseudo.yml +++ b/features/scope-pseudo.yml @@ -1,5 +1,5 @@ -name: Scope pseudo -description: "The `:scope` CSS pseudo-class represents elements that are a reference point for selectors to match against." +name: :scope pseudo-class +description: The `:scope` CSS pseudo-class represents the scoping root, for instance the element that `querySelector()` is called on. spec: https://drafts.csswg.org/selectors-4/#the-scope-pseudo group: selectors compat_features: From b5a9e9ea580a720ff390cf67080578992a0da1b0 Mon Sep 17 00:00:00 2001 From: James Stuckey Weber Date: Wed, 13 Nov 2024 09:36:23 -0500 Subject: [PATCH 5/5] Revisions --- features/form-validity-pseudos.yml | 2 +- features/scope-pseudo.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/features/form-validity-pseudos.yml b/features/form-validity-pseudos.yml index ece21fa3228..e3039ab7c90 100644 --- a/features/form-validity-pseudos.yml +++ b/features/form-validity-pseudos.yml @@ -1,5 +1,5 @@ name: Form validity pseudo-classes -description: "The form validity CSS pseudo-classes match elements that are `:valid` or `:invalid`, `:optional` or `:required`, or in or out of an acceptable range." +description: "The form validity CSS pseudo-classes match `` elements based on the constraints of a form field, such as validity (`:valid`, `:invalid`, `:in-range`, `:out-of-range`) and necessity (`:optional` or `:required`)." spec: https://drafts.csswg.org/selectors-4/#ui-validity caniuse: - css-optional-pseudo diff --git a/features/scope-pseudo.yml b/features/scope-pseudo.yml index f191377e966..e85437334c2 100644 --- a/features/scope-pseudo.yml +++ b/features/scope-pseudo.yml @@ -1,5 +1,5 @@ -name: :scope pseudo-class -description: The `:scope` CSS pseudo-class represents the scoping root, for instance the element that `querySelector()` is called on. +name: :scope (pseudo-class) +description: The `:scope` CSS pseudo-class matches the scoping root, for instance the element that `querySelector()` is called on, or the root of a DOM subtree specified with `@scope`. spec: https://drafts.csswg.org/selectors-4/#the-scope-pseudo group: selectors compat_features: