Accessibility
Riff is a music player that sits inside someone else's site, so it has to be usable by everyone who can use the site around it. This page says what it is held to, how, and what it does not yet do.
The target
The player, Now Playing and the Listen app are built to meet the Web Content Accessibility Guidelines 2.2 at level AA, and AAA wherever it is cheap. In particular: native controls first, so the browser's own behaviour carries the keyboard and the screen reader; every control named and its state spoken; every change the listener did not make announced through WordPress's own live regions; the single-key shortcuts only for a signed-in listener, who can turn them off on their profile, as 2.1.4 asks; every swipe and drag with a button or a key that does the same; controls at least 24 pixels each way; the docked bar never covering what has focus; and nothing playing until Play is pressed, a reload included.
The theme around the player is the site's own, and what Riff cannot answer for is the theme's.
How it is tested
Every change runs the checks before it can merge. axe runs over every view of the Listen app at three widths, over Now Playing, and over a page that shows every control in every state, at the WCAG 2.2 AA rule set with axe's best practices. A test holds every text and control colour in the stylesheet to the contrast WCAG asks. Tests measure every control's size, Tab through a long post to see that the bar covers nothing with focus, keep Tab inside the modal, and read the accessibility tree directly for what a screen reader will hear: the names of the bar's buttons, the seek line's spoken time, the announcements as tracks and the queue change. Contrast themes and reduced motion are tested in the browser.
None of that is a screen reader. Before a release that touches the player, a person runs the screen-reader checklist with VoiceOver, NVDA, JAWS or TalkBack, and records the result in the release. The contributor's guide to all of this is docs/accessibility.md.
Known issues
- The checklist has been run by script, not yet by a person with a screen reader. How VoiceOver reads the seek line while it is dragged, and how the announcements sound against the music, are unverified.
- A cover Riff draws is an image whose text is the album's name and artist; its alt text says so, but the image's own type cannot be read by a screen reader.
- Video versions show captions only where a WebVTT file has been chosen for the video in the Media Library, or where the video block carries one.
Each is tracked under the Accessibility label, where new ones go.
Write to us
If something in Riff does not work with your assistive technology, open an issue and say which screen reader, browser and Riff version you used, and what you heard. A fix for an accessibility issue goes ahead of other work.
This statement was last reviewed on 25 October 2026.