Accessibility
What we aim for, what works, and what does not yet.
We build this site to WCAG 2.2 AA. That is the target for every page, not an average across the site: a page that does not meet it has a fault, and the faults we know about are listed further down, each with the date we found it and what we intend to do.
Nobody outside the label has audited this site. Everything below is our own testing, and every limitation on this page is one we found ourselves. Weigh it accordingly, and if you hit something that is not on the list, the address for it is at the end.
What kind of statement this is
This is a statement of what we aim at and where we currently fall short of it. It is not a claim that this site conforms to WCAG 2.2 AA. Nobody outside the label has audited it, there is no screen-reader pass of the player on the record, and a conformance claim made on our own say-so would be worth nothing to the reader who needs it most. What we can show you is what we measure, what those measurements cover, and what they do not.
What we check before a page ships
These checks run against the design system this site is built from, and they run on every build of it: a failing check stops the build rather than becoming a note for later. They do not yet run against the pages this site serves you. Those are assembled from the measured system and checked by hand, which is weaker, and it is on the list of faults below.
- Every page is rendered at 320, 768 and 1280 pixels wide, and the document is measured: any sideways scroll at any of the three fails the build, and the check names the element that caused it (SC 1.4.10 Reflow).
- Every page is rendered again at 1280 with the reader's own text size doubled to 32 pixels, and sideways scroll fails it there too (SC 1.4.4 Resize Text).
- The text-spacing values the criterion allows — line height 1.5, paragraph spacing twice the font size, letter spacing 0.12em, word spacing 0.16em — are applied to every component and nothing may clip or be lost (SC 1.4.12).
- Every colour pair the system defines is resolved in a real browser and measured off the pixels it actually paints, in both light and dark, rather than from a table of values written down once (SC 1.4.3, 1.4.11).
- Every keyboard stop must visibly gain a focus ring, measured as the difference between the focused control and the same control at rest — and the ring is restored in forced-colours mode, where the shadows several components draw it with are not painted at all (SC 2.4.7, 2.4.11).
- Targets are measured, not assumed, against the 24 by 24 pixel floor of SC 2.5.8. Anything a finger lands on is built to 44.
- Under reduced motion, no animation may keep looping — the record stops spinning rather than spinning faster (SC 2.2.2 Pause, Stop, Hide). Alongside it, and answering no success criterion, no duration is allowed to resolve to exactly zero: a zero-length transition never reports that it finished, and anything waiting for that hangs for reduced-motion readers alone. That second one is a guard of our own.
- Every in-page link is measured against the header that is actually pinned above it, so a jump to a heading lands where you can read it rather than underneath the bar.
They are not a substitute for a person. A machine can prove that a ring is visible and that a box is wide enough; it cannot tell you that an order of controls makes sense.
The player
The record on a release page can be scrubbed with a pointer or with the keyboard. Once the page's script has run, the record becomes a slider you can reach with Tab: ← and →, or ↓ and ↑, move one second; Page Up and Page Down move five; Home and End go to the two ends. What the record scrubs is the preview and not the whole track, so a one-second step crosses the whole of it in about a minute of pressing rather than the six a full record would take. ↑ and ↓ are load-bearing rather than a courtesy: VoiceOver and TalkBack intercept a bare ← or → on some platforms before it reaches the page. There are no other seek keys — no digits, no percentages — and this list is the whole of it. Before the script runs the record is not focusable at all, because a control that does nothing is worse than no control.
Every play control keeps one name whatever it is doing: Play Midnight Violet
whether it
is playing or not, with the state carried as pressed or not pressed. A control that renames
itself mid-press announces the same event twice and, for the moment between the two, describes
itself as the thing it is not.
Dragging the record is never the only way to reach anything. A short press seeks straight to that point, the keyboard steps above do the same job, and the drag can be cancelled with Esc.
What does not work yet
Written from what the site actually does, not from what the design intends. Each one carries the date we found it and what happens next.
- Player shortcut keys
- Beyond the record itself there are no player shortcuts: no key for play and pause from elsewhere on the page, no key for ten seconds back or forward, no key for mute, and no list of shortcuts to call up. Every one of those controls is on the screen and reachable with Tab; what is missing is the shorter way to them. Found ; the set goes in with the player script, scoped to the player so it cannot fire while you are typing, and it will be listed here and on the controls themselves.
- Previews need JavaScript
- With scripting off there is no player at all. Nothing is hidden and no control is dead — every play control is a real link, to the preview file itself or, on a released record's main control, to the first service that streams it, so a press opens the audio in your browser's own player or takes you to the service — but the in-page player is not there. ; this is the floor we build on rather than a fault we plan to remove.
- No transcripts
- The previews are music with no speech in them, and we publish no transcript. ; if we release a record with spoken word on it, that record's page carries a transcript on the day it goes out.
- Two widths we check by eye
- The automatic reflow check runs at 320, 768 and 1280, and the doubled-text check runs at 1280 only. A 375-pixel phone, and doubled text at the narrow widths, are checked by hand and are not in the build. ; 375 goes into the automatic set next, and the narrow doubled-text case follows once it can report the real failures without burying them in things the criterion exempts.
- No screen-reader pass on the record yet
- We have not yet recorded a full VoiceOver and TalkBack pass of
the player. The record is a
divthat the script givesrole="slider"and its own key handling, not a native range input, so the increment and decrement actions those two readers offer on a slider are not guaranteed to reach it. We have not tested it, and this page will not claim it works. ; the pass is the next thing on this page, and its date and its findings go here when it is done. - The automatic checks do not run on this site's own pages
- Every check listed above is run against the design system this site is built from, in a real browser, on every build of it. None of them is yet run against the pages jwmusic.uk serves, which are rendered by a different application whose own build opens no browser — so a component that reflows correctly on its own can still be composed into a page that does not, and nothing would catch it. ; the fix is to point the same checks at the rendered pages rather than at the system's demonstrations of them, and until that is done the sentence above this list is the honest scope of what we measure.
Motion
There is nothing on the site that turns that back on. The setting is read in the stylesheet rather than by a script, so it holds with scripting off, and it is the only thing that decides it: we offer no switch of our own to argue with your device.
Light and dark
The site is dark throughout and there is no control that changes it. Nothing about the colour scheme is kept in your browser and nothing about it is sent to us — the cookies page lists everything that is.
If something here does not work
Use the contact form and tell us the page, what you were reading it with — browser, screen reader, magnifier, keyboard alone — and what happened. We reply to every one. If it is a fault, we will tell you when we expect to fix it, and it goes on the list above in the meantime.
If your complaint is about personal data rather than the site — what we hold, or getting a copy of it or having it deleted — you can also complain to the Information Commissioner's Office at ico.org.uk.
This statement describes the site as it stood on . It is rewritten from measured results, not from intentions, every time the list above changes — including when an entry comes off it.