Why Queue Music skips native video controls for a custom interface

When Thomas Logan started building Queue Music with support from the Mozilla Foundation, he faced a design choice that shaped the entire project. The web player streams audio through YouTube, which meant deciding whether to rely on the browser's built-in <video> element controls or build a custom interface from scratch. The decision became central to delivering an accessible music experience for keyboard-only users and people who depend on screen readers.

For Australians navigating an ageing NBN connection in rural Queensland or a patched-together home network in suburban Hobart, the choice also shapes daily listening routines. Australians with low vision or motor impairments have long pushed for accessible web tools, supported by the Disability Discrimination Act 1992 and the Australian Human Rights Commission's guidance on digital inclusion. Queue Music's custom approach responds directly to that context.

The mismatch between <video> controls and YouTube's embedded player

The HTML5 specification defines a <video> element with native controls that browsers render with their own play, pause, seek, and volume interfaces. When Queue Music pipes audio through YouTube, the player is embedded inside an iframe that does not expose those native controls. Developers can pass parameters to YouTube's API, yet the default UI still surfaces a progress bar, a fullscreen toggle, and a settings cog that screen readers describe inconsistently.

For a music queueing application, these elements are more than visual noise. They actively interfere with adding tracks, shuffling the playlist, and jumping between songs. Queue Music's custom control layer removes the overlay entirely, leaving a clean canvas for the keyboard shortcuts and ARIA live regions the project depends on. The reasoning is documented in the project's notes on why it sacrifices visual effects for speed and access.

Native controls also assume a single linear media buffer. A queue is a series of independent tracks that may load in any order, may be reordered mid-playback, and may be saved between sessions. The <video> element has no concept of "next track" or "queue position," and bolting those concepts onto native UI produces a brittle experience that breaks whenever the embedded player updates.

Accessibility as the driving force

Australian accessibility legislation has shaped how public-facing websites approach inclusive design, and the Web Content Accessibility Guidelines are baked into procurement rules for federal agencies. Queue Music treats accessibility as the primary specification, not a polish pass at the end. ARIA live regions announce track changes, queue updates, and shuffle states in a way that native video UI does not.

The Mozilla Foundation funded this work partly because mainstream players had not solved the problem. Native <video> controls do not announce a newly queued song until playback actually begins, and they rarely support a "now playing" concept distinct from the underlying media buffer. By building custom ones, the project can announce the next item in the queue, the number of tracks remaining, and the position within a song using polite live regions that screen readers in Brisbane offices or Perth libraries handle reliably.

Custom controls also let the project standardise its announcement vocabulary across browsers. NVDA on Windows, JAWS on Windows, and VoiceOver on macOS and iPadOS each render native media controls with slightly different terminology. Queue Music's own layer speaks the same language everywhere, which matters for users who switch between devices or whose primary machine is locked down by an employer.

Performance and reliability on variable connections

The Australian internet landscape adds another wrinkle. Households on Fibre to the Premises in inner Sydney or fixed wireless in Hobart commonly reach 25 to 100 megabits per second, while remote properties in the Northern Territory or western Queensland still rely on Sky Muster connections that struggle with high-bitrate streams. A heavy custom UI is not a luxury these users can afford.

Custom controls offload less work to the browser's compositor because Queue Music hides the iframe visually while the queue runs. The project trades animated transitions and album art blurs for a leaner layout that renders quickly on mid-range Android tablets and older Chromebooks still common in community libraries. That lean profile is explained in a slot and reel modifiers guide that walks through how the interface adjusts without re-rendering every frame.

Latency matters on these connections too. Native media UI assumes the buffer is healthy and the network is fast, so it rarely surfaces a graceful "buffering" state for a queued track. Queue Music can announce queueing, preloading, and skipped tracks explicitly, which removes the silence that frustrates listeners on patchy connections in regional towns.

Keyboard-first patterns that native controls cannot match

Keyboard-only workflows are essential for many Australians with limited mobility or repetitive strain injuries, and they are central to how Queue Music is intended to be used. Native <video> controls expose a small subset of keyboard shortcuts through the browser, but the focus model is opaque to developers. The browser decides which element is active, and screen reader users frequently find themselves in unexpected focus traps.

Queue Music sidesteps this by managing focus explicitly. Each control is a real button with a label, an ARIA role, and a hotkey that the user can discover through the help dialog. Shuffling the queue, saving the queue between sessions, and controlling playback without a mouse all operate through a single keymap that does not change when the browser updates its native media controls. The result is a stable, predictable experience for someone using a refreshable Braille display in Melbourne or a switch control setup in Adelaide.

The project also exposes keyboard controls for less common actions that native UI never surfaces. Users can jump to a specific track by number, clear the queue, or copy a shareable plain-text version of the current order with a single keystroke. Those affordances make the queue feel like a first-class object rather than a side effect of the media element.

A project built around real listening habits

More than four million people in Queensland alone streamed music regularly in 2024, and Triple J remains a cultural touchstone that shapes what Australians queue up at home. Queue Music's design reflects these habits by treating the queue as the central object rather than a playlist. Users save queues between sessions, share them through plain text, and rearrange tracks with single-key shortcuts that match the muscle memory of people who already live inside their keyboard.

The Mozilla Foundation funding allowed Thomas Logan to spend the time needed to test with NVDA, JAWS, and VoiceOver across Windows, macOS, and iPadOS. Custom code allows the project to speak track names aloud, shuffle the queue, and save queue state without the inconsistencies of native <video> UI. By building these custom controls from scratch, Queue Music delivers a consistent keyboard-and-music experience that native controls cannot quietly support.

Practical guidance for accessible music players