Intent to Ship: Pseudo target on events

70 views
Skip to first unread message

Daniil Sakhapov

unread,
Feb 20, 2026, 9:31:34 AM (6 days ago) Feb 20
to blink-dev
Contact emails
sakh...@chromium.org

Explainer
Please note, that  the spec edit has been mostly approved and finalized, but put on hold due to a major spec repo refactoring. But I don't think it should stop from shipping, since ideally it would be shipped together with CSSPseudoElement interface in M147.

Specification
https://github.com/w3c/uievents/pull/413/changes

Summary
Specific events are now extended to have `.pseudoTarget` that is either CSSPseudoElement (if interaction has been with pseudo-element) or null. This allows to have more specific information on the event origin, e.g. that not just an ultimate originating element (Event.target) has been clicked, but more specifically that it was ::after. Note that the Event.target is unchanged so event only has extra info on pseudo-element interaction. The events are UIEvent, AnimationEvent, TransitionEvent. mouseover, mouseout, mouseenter, mouseleave and their pointer* counterparts are not yet supported.

Blink component
Blink>CSS

TAG review
No information provided

TAG review status
Pending

Risks

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?
Yes
https://wpt.fyi/css/css-pseudo/events-on-pseudo-element-mutation.tentative.html http://wpt.fyi/css/css-pseudo/events-on-pseudo-element.tentative.html

Tracking bug
https://issues.chromium.org/issues/40639103

Estimated milestones
Shipping on desktop147
Shipping on Android147
Shipping on WebView147

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

This intent message was generated by Chrome Platform Status.

Vladimir Levin

unread,
Feb 20, 2026, 2:31:11 PM (6 days ago) Feb 20
to Daniil Sakhapov, blink-dev
I believe this depends on CSSPseudoElement from this feature: https://chromestatus.com/feature/5194399398756352

In the CSSPseudoElement, you noted that this is currently only for `::after` `::before` and `::marker`. Does this intent (pseudoTarget) also have similar limitations? In other words, if I have an animation on `::view-transition-group(*)`, for example, and I observe an AnimationEvent, will `pseudoTarget` be null?

Also a similar comment about developer need as the other intent: is it possible to put together a brief explainer (it could be one explainer for both intents) that captures the value of this feature?

Thanks!
Vlad


--
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 visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAH3Z92_G%2BNquVjXY1H7fT%3DpYzW8Z4cpDcqOm%3DHdQi9ErhK-u%3DA%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages