Here is an updated doc for my view on the CSSPseudoElement - https://github.com/danielsakhapov/CSSPseudoElementDoc. The core implementation is most likely won't be changed in the future, but rather be a solid base for extending the functionality of the interface with additional features.
On Sunday, February 22, 2026 at 5:54:02 PM UTC+1 Mike Taylor wrote: > On 2/20/26 10:02 a.m., Mike Taylor wrote: > > > On 2/20/26 7:37 a.m., Daniil Sakhapov wrote: > > *Contact emails* > [email protected] > > *Specification* > https://www.w3.org/TR/css-pseudo-4/#CSSPseudoElement-interface > > https://www.w3.org/TR/css-pseudo-4/#issue-22d457b7 suggests the interface > may evolve. How big is the risk of us shipping now, and having to chan > > I don't know where the second half of my sentence went - but it should > read ", and having to change the implementation later?" > > > > *Summary* > CSSPseudoElement interface is a way to represent a pseudo-element in JS. > > CSSPseudoElement is returned from Element.pseudo(type), where `type` is > currently: ::after, ::before, ::marker. > CSSPseudoElement is a proxy object that represents a pseudo-element, so, > unlike a pseudo-element, CSSPseudoElement always exists. > CSSPseudoElement has the following attributes/methods: > - The type attribute is a string representing the type of the > pseudo-element. > - The element attribute is the ultimate originating element of the > pseudo-element. > - The parent attribute is the originating element of the pseudo-element > (Either Element of CSSPseudoElement for nested pseudo-elements). > - The pseudo(type) method to retrieve nested pseudo-elements. > > *Blink component* > Blink>CSS > <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ECSS%22> > > *Risks* > *Gecko*: No signal ( > https://github.com/mozilla/standards-positions/issues/1345) > > *WebKit*: No signal ( > https://github.com/WebKit/standards-positions/issues/607) > > *Web developers*: Positive > > *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 > http://wpt.fyi/css/css-pseudo/events-on-pseudo-element.tentative.html > http://wpt.fyi/css/css-pseudo/CSSPseudoElement-identity.html > > Can we expand testing a bit here? There's nothing covering ::after or > ::marker (maybe redundant, but also trivial to add), or the case where we > don't expect .element and .parent to be the same. > > *Tracking bug* > https://issues.chromium.org/issues/40639103 > > *Estimated milestones* > Shipping on desktop 147 > Shipping on Android 147 > Shipping on WebView 147 > > *Link to entry on the Chrome Platform Status* > https://chromestatus.com/feature/5194399398756352?gate=6320299305598976 > > *Links to previous Intent discussions* > Intent to Prototype: > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/686fbd23.2b0a0220.3a1521.1022.GAE%40google.com > > > 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/CAH3Z92-59h%2BdTDdy_8gXQ9zsgsEr%3DPvUs_tCBPUH1MidH9UPcA%40mail.gmail.com > > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAH3Z92-59h%2BdTDdy_8gXQ9zsgsEr%3DPvUs_tCBPUH1MidH9UPcA%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/6b0bfc8e-18e2-4592-aed6-b373c043377fn%40chromium.org.
