Native playlist support in HTML for <audio>
and <video>
#11317
Labels
addition/proposal
New features or enhancements
needs implementer interest
Moving the issue forward requires implementers to express interest
Uh oh!
There was an error while loading. Please reload this page.
What problem are you trying to solve?
Right now, there's no native way to define a playlist of
<audio>
or<video>
files using just HTML. If you want a simple media queue — like a list of songs, podcast or episodes — you have to reimplement the logic entirely in JavaScript. That includes:<source>
and<track>
elements manuallyMediaSession
API for previous/next buttonsThis creates a lot of boilerplate even for very simple use cases where media is static and known ahead of time. There’s also no built-in support for declaring a media queue declaratively in the markup.
What solutions exist today?
Today, the only way to implement media playlists is through JavaScript. Authors must:
<track>
), posters, and titles per itemended
, etc.There’s no built-in HTML element or pattern for sequencing audio/video playback.
How would you solve it?
Introduce a new declarative construct that allows authors to define a sequence of media files, each with its own
<source>
,<track>
, and optionalposter
+ title. This could be implemented in a few ways:Option A: A new
<playlist>
elementThis element would contain
<item>
children, and each<item>
would define a playable media unit:or just include it directly inside
The
<video>
or<audio>
element would play through the queue automatically. This would work much like how<track>
and<source>
are used today, but expanded to multiple items.MediaSession integration
When a media playlist is defined natively, the browser could also automatically populate the MediaSession metadata and enable hardware/software media controls like "previous" and "next" without manually creating action handler
The default behavior could be to play items in order, with loop, shuffle, and basic JS API support (e.g.,
.playlist.next()
) available for more advanced use cases.Anything else?
<source>
and<track>
, and extending them into a structured listThe text was updated successfully, but these errors were encountered: