Contact emails
foo...@chromium.org
Specification
https://html.spec.whatwg.org/multipage/semantics-other.html#pseudo-classes
Summary
The :playing, :paused, :seeking, :buffering, :stalled, :muted, and :volume-locked CSS pseudo-classes match <audio> and <video> elements based on their state.
This is one of the focus areas in
https://wpt.fyi/interop-2026.
Blink component
Blink>Media
Web Feature ID
media-pseudos
Motivation
Allows styling of media elements or custom media controls based on the state of the media element. For example, a large play button overlaying a video could be hidden while playing.
There is no expectation that custom media controls can be implemented entirely with CSS, as there is still a lot of state not exposed to CSS.
Initial public proposal
No information provided
TAG review
No information provided
TAG review status
Not applicable
Goals for experimentation
None
Risks
Debuggability
No information provided
Will this feature be supported on all six Blink platforms
(Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
Yes
Yes
https://wpt.fyi/results/?q=feature%3Amedia-pseudos
The remaining failure in sound-state.html depends on a change to how the muted content attribute should work in HTML:
https://crbug.com/509570175
https://crrev.com/c/7831199
Flag name on about://flags
No information provided
Finch feature name
CSSMediaElementPseudos
Rollout plan
Will ship enabled for all users
Requires code in //chrome?
False
Tracking bug
https://crbug.com/40246121
Measurement
https://chromestatus.com/metrics/webfeature/timeline/popularity/436
Estimated milestones
| Shipping on desktop | 150 |
| Shipping on Android | 150 |
| Shipping on WebView | 150 |
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).
No information provided
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5068277495758848?gate=4768460324339712
Links to previous Intent discussions
Intent to Prototype:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/691af1b8.050a0220.b6611.0871.GAE%40google.com