On Wed, Oct 8, 2025 at 3:00 PM Mike Taylor <[email protected]> wrote:

> On 10/8/25 6:28 a.m., Anders Hartvoll Ruud wrote:
>
> Contact emails
>
> [email protected]
>
> Specification
>
> None
>
> However, PR: https://github.com/w3c/csswg-drafts/pull/12914
>
> Thanks for doing this work. It's a bit surprising to me that other vendors
> are changing tests, implementations, and MDN articles before spec language
> has even landed.
>
>
> Summary
>
> The '&' pseudo-class now behaves like :where(:scope) (i.e. refers to the
> scoping root), rather than referring to the <scope-start> selector.
>
> Miriam Suzanne wrote a blog post explaining about this change:
> https://css.oddbird.net/scope/parent-selector/
>
> Blink component
>
> Blink>CSS
> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ECSS%22>
>
> Web Feature ID
>
> Missing feature
>
>
>
> Risks
>
>
> Interoperability and Compatibility
>
> This is theoretically a breaking change, and while @scope isn't widely
> used yet, I added a use-counter for this which recently hit stable:
> https://chromestatus.com/metrics/feature/timeline/popularity/5629
> (~0.00016%)
>
> Note: The use-counter triggers whenever '&' is seen in @scope at all. It
> does not mean that this change will actually cause an observable difference
> in the result for all of those 0.00016%.
>
> The possibly breaking cases would be:
>
> A) Here, the ‘&’ rule wins today, but will now lose against :where(:scope)
> due the change in specificity.
>
> @scope (.foo) {
>
>   & { color: green; } /* Used to win; now loses. */
>
>   :where(:scope) { color: red; }
>
> }
>
> B) Since ‘&’ now refers to a specific element rather than a selector,
> selectors like the following can not match (since an element can not be its
> own sibling), whereas they previously could match:
>
> @scope (.foo) {
>
>   & + & { color: green; } /* Cannot match anything anymore. */
>
> }
>
> Gecko: Positive (https://github.com/web-platform-tests/wpt/pull/53831)
> Mozilla initiated the WPT change. (And the spec change.)
>
> WebKit: Shipped/Shipping (
> https://github.com/WebKit/WebKit/commit/4d5ebef83e17f6201e006f379de304fac6d196b4
> )
>
> Web developers: No signals
>
> Other signals:
>
> WebView application risks
>
> Does this intent deprecate or change behavior of existing APIs, such that
> it has potentially high risk for Android WebView-based applications?
>
> None
>
>
> Debuggability
>
> No change.
>
> Will this feature be supported on all six Blink platforms (Windows, Mac,
> Linux, ChromeOS, Android, and Android WebView)?
>
> Yes
>
> Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
> ?
>
> Yes
>
> scope-invalidation.html
> <https://wpt.fyi/results/css/css-cascade/scope-invalidation.html?label=master&label=experimental&aligned&view=interop&q=label%3Ainterop-2025-scope%20file%3Ascope-invalidation.html>
> scope-name-defining-rules.html
> <https://wpt.fyi/results/css/css-cascade/scope-name-defining-rules.html?label=master&label=experimental&aligned&view=interop&q=label%3Ainterop-2025-scope%20file%3Ascope-invalidation.html>
>
> Correction: scope-name-defining-rules.html should have been
https://wpt.fyi/results/css/css-cascade/scope-nesting.html. (I copied the
wrong link; scope-name-defining-rules.html is not relevant here.)

> scope-specificity.html
> <https://wpt.fyi/results/css/css-cascade/scope-specificity.html?label=master&label=experimental&aligned&view=interop&q=label%3Ainterop-2025-scope%20file%3Ascope-invalidation.html>
>
> Note also that this change landed only a few hours ago (behind a flag). At
the time of writing, wpt.fyi has not picked up that change, and shows red
boxes for the tests above.

> Flag name on about://flags
>
>
> Finch feature name
>
> CSSScopeifiedParentPseudoClass
>
> Rollout plan
>
> Will ship enabled for all users
>
> Tracking bug
>
> https://issues.chromium.org/issues/445949406
>
> Estimated milestones
>
> M143
>
> Link to entry on the Chrome Platform Status
>
> https://chromestatus.com/feature/5736934890668032?gate=6189707524440064
>
> Note: This is a “Web-Facing Change” due to the API being changed in a
> trivial way
> <https://www.chromium.org/blink/launching-features/#behavior-changes:~:text=Use%20%22Web%20developer%20facing%20code%20change%22%20only%20for%20changes%20deemed%20very%20unlikely%20to%20break%20sites%2C%20and%20that%20change%20APIs%20in%20at%20most%20a%20trivial%20way.>
> with very low risk of breakage.
>
> This intent message was generated by Chrome Platform Status
> <https://chromestatus.com/>.
>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAKFBnUpv5y%2BOf3ET5Mz6r1YT4WRuGT4zf-WpS7Z9zsOh3tDxeQ%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAKFBnUpv5y%2BOf3ET5Mz6r1YT4WRuGT4zf-WpS7Z9zsOh3tDxeQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAKFBnUr6VtKbCyo2vo-zop479AUhEGeVqog1ppYEcERedLUMHw%40mail.gmail.com.

Reply via email to