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.
Low risk.
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
None
None
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
Shipping on desktop | 130 |
Shipping on Android | 130 |
Shipping on WebView | 130 |
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:Contact emailsdba...@chromium.org
ExplainerNone
Specificationhttps://drafts.csswg.org/css-shadow-parts-1/#part
SummaryCSS 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
MotivationThis 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 CompatibilityLow risk.
Gecko: Shipped/Shipping
WebKit: Shipped/Shipping
Web developers: No signals
Other signals:
WebView application risksDoes this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
None
DebuggabilityNone
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?Yeshttps://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
Estimated milestonesShipping on desktop130Shipping on Android130Shipping on WebView130
Anticipated spec changesOpen 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: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 Statushttps://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
LGTM3
/Daniel
--
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/d9c5c47a-d2c6-452a-836c-040c42cf68e9n%40chromium.org.