ReferenceLayout
media-controls
Container component for composing and auto-hiding video player controls on user interaction
Import
Anatomy
Import the component and assemble its parts:
Behavior
If the user is active, or if the video is paused, this component will show controls. Otherwise, it will hide them after a short delay.
User activity is tracked via pointer movement, keyboard input, and focus events on the player container. On touch devices, a quick tap toggles visibility. mouseleave immediately sets the user as inactive.
visibility selects between the two modes. The default, auto, follows the player’s controls visibility state as described above. always keeps the controls visible and reports the user as active regardless of playback or idle state, and works without the controls feature. The idle delay itself is not configurable.
Styling
<media-controls> is a state and context provider that also reflects the controls state data attributes. <media-controls-content> is the interactive controls surface and receives the same controls state data attributes.
<media-controls-backdrop> is an optional presentational sibling of <media-controls-content>. It receives the same controls state data attributes, allowing its styling and transitions to be authored independently from the controls surface.
By default, controls have the following styles:
Accessibility
No ARIA role is applied to <media-controls> or <media-controls-content> — they provide state and layout, not a landmark. <media-controls-backdrop> is always hidden from assistive technology. <media-controls-group> automatically receives role="group" when an aria-label or aria-labelledby attribute is provided; otherwise no role is assigned.
Examples
Basic Usage
API Reference
media-controls
Tracks controls visibility, reflects it as data attributes, and shares it with its descendant controls parts. Hiding the controls closes any popup open inside it.