Accessibility

What folkroom conforms to, how that was measured, and what is still wrong.

Last reviewed 27 August 2026

The commitment

folkroom aims to meet WCAG 2.2 Level AA on every page. An archive that exists so anyone can read the record is not doing its job if some people cannot read it.

This page is not a badge. It states what was measured, when, with what, and what still fails — because an accessibility statement that lists only successes is marketing.

How it is measured

Contrast is not eyeballed. Every colour in the design system is checked by an automated test that recomputes the WCAG 2.2 contrast formula from the shipped stylesheets on every build — if a value drifts, the build fails rather than the site quietly degrading. The same suite refuses a colour used as text that cannot carry text.

WhatMeasuredGrade
Body text on the page17.12 : 1AAA
Secondary text6.83 : 1AA
Smallest text, on the darkest surface4.56 : 1AA
Condition colours, tightest4.75 : 1AA
Family colours, tightest4.68 : 1AA
Captions — large text only3.49 : 1AA Large

Pages are also run through axe-core against the WCAG 2.2 AA rule set, in both light and dark themes, because a theme that is only tested one way is only accessible one way. That check last ran clean.

Decisions made for readers, not for looks

  • Text is sized in relative units, never pixels. Browser page-zoom copes with pixels; the “minimum font size” setting that low-vision readers actually use does not. Before this was fixed, doubling that setting left the smallest text on the site exactly where it was.
  • Colour never carries information alone. Condition is stated in words beside its colour. Uncertainty is drawn as a stripe or a dashed outline, never as a solid swatch, so it survives greyscale and colour blindness. Entity type is carried by a shape and a word, not a hue.
  • Every layout uses logical properties, so a right-to-left edition mirrors the whole page rather than being a left-to-right page with the text reversed.
  • Focus is always visible, at two pixels with an offset, in whichever ink the page is using.
  • Paging is plain links. The archive can be walked end to end with JavaScript switched off.
  • The wordmark is real text to a screen reader even though it draws as a graphic, so the site announces its own name.

Known shortfalls

Stated plainly, because you will find them anyway:

  • Caption grey is AA Large, not AA. It measures 3.49:1 and is therefore only used at 18px and above, or 14px bold. It is legal at those sizes and it is still the quietest thing on the page. If it is hard for you, tell us and we will darken it.
  • Some machine-composed entries are thin. That is a content problem rather than an access one, but a page that is mostly empty is a poor experience for everyone and worse with a screen reader, which has to travel through the structure to find that out.
  • The century map is visual. Every point is keyboard-reachable and announces its name and state, and the same numbers are given as text beneath it, but the shape of the pattern over time is not conveyed non-visually. We have not solved this.
  • Automated testing has limits. axe-core catches perhaps a third of real barriers. folkroom has not yet been tested by a screen-reader user working through real tasks, and until it has, this page should be read as a statement of intent backed by measurement rather than as proof.

Tell us when we get it wrong

Write to access@folkroom.org. Tell us the page, what happened, and what you were using — a browser and a screen reader name is plenty; you do not need to diagnose it for us.

We aim to reply within 5 working days and to say what we will do and when. If a fix will take a while we will say that rather than go quiet. Reports that reveal a shortfall get added to the list above, whether or not they are fixed yet.

Formal standing

This statement covers folkroom.org and every edition of it. It is self-assessed: no third party has audited folkroom, and we do not claim otherwise. It is reviewed whenever the design system changes, and the date at the top of this page is the date a person last read it rather than the date a script touched the file.