Contact emailsdba...@chromium.org

ExplainerNone

Specificationhttps://drafts.csswg.org/css-shadow-parts-1/#part

Summary

CSS selectors that use the ::part() pseudo-element are allowed to have
other CSS pseudo-elements (except ::part()) and many types of other CSS
pseudo-classes after them. (Combinators are still not allowed after
:part(), and pseudo-classes that depend on tree structure are not allowed.)
Previously Chrome only allowed a limited set of pseudo-classes and
pseudo-elements after ::part(). This changes to allowing all of the
pseudo-classes and pseudo-elements that should be allowed. It means
selectors such as ::part(part-name):enabled and ::part(part-name)::marker
are now allowed.


Blink componentBlink>CSS
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ECSS>

Motivation
This allows CSS selector features to be combined in ways that were intended
during the design of the ::part() feature. It allows more styling of things
that web components expose as parts. This change also provides a more solid
foundation for building future CSS pseudo-elements (currently known as
"part-like pseudo-elements") on top of the ::part() feature. This includes
new pseudo-elements such as ::details-content and new pseudo-elements for
styling customizable <select>.

TAG reviewOriginal TAG review for the feature was
https://github.com/w3ctag/design-reviews/issues/230

TAG review statusNot applicable

Risks


Interoperability and Compatibility

Low risk.


*Gecko*: Shipped/Shipping

*WebKit*: Shipped/Shipping

*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

None


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

https://wpt.fyi/results/css/css-shadow-parts/pseudo-classes-after-part.html
https://wpt.fyi/results/css/css-shadow-parts/pseudo-elements-after-part.html


Flag name on chrome://flagsNone

Finch feature nameCSSPartAllowsMoreSelectorsAfter

Requires code in //chrome?False

Tracking bughttps://issues.chromium.org/40623497 and
https://issues.chromium.org/40825557

Estimated milestones
Shipping on desktop 130
Shipping on Android 130
Shipping on WebView 130

Anticipated spec changes

Open questions about a feature may be a source of future web compat or
interop issues. Please list open issues (e.g. links to known github issues
in the project for the feature specification) whose resolution may
introduce web compat/interop risk (e.g., changing to naming or structure of
the API in a non-backward-compatible way).
There are related open discussions in:
https://github.com/w3c/csswg-drafts/issues/10083
https://github.com/w3c/csswg-drafts/issues/10786
https://github.com/w3c/csswg-drafts/issues/10787
https://github.com/w3c/csswg-drafts/issues/10788
https://github.com/w3c/csswg-drafts/issues/10794
but I don't think any of these discussions justify delaying shipping these
changes. We can follow up with future changes to reflect future spec
resolutions.

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5195333643272192?gate=5140576434126848

Links to previous Intent discussionsIntent to Prototype (for a larger
feature that this is a part of):
https://groups.google.com/a/chromium.org/g/blink-dev/c/Q1OX6ZA_aaE/m/ALwkAOfHAwAJ


This intent message was generated by Chrome Platform Status
<https://chromestatus.com/> and edited by hand.

-- 
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 blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAG0MU3hbvwQ_kjtcwgkL%2B32fDD5nkejNb9dYcp5RgjYDEw0GSw%40mail.gmail.com.

Reply via email to