On Thursday, August 29, 2024 at 12:48:36 AM UTC+9 David Baron wrote:
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 milestonesShipping on desktop130Shipping on Android130Shipping on WebView130 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. I really appreciate the transparency in you finding and listing all of these issues. I tried to read through several of them but they're relatively long, and in some cases, progress has been made but not enough to fully close the issue. Would you be able to give us a one- or two-sentence summary for each of them, indicating what potential breaking changes might come out of such discussions, and why you think it'll be easy to fast-follow with such future changes? 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 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/6f5f0b77-1272-4e75-a039-87e416b4e3b7n%40chromium.org.