← All tips

Accessibility since June 2025: where do I actually stand?

The call rarely comes from the authority, usually from a competitor: they have taken a complaint, and now management wants to know how their own site stands. Since 28 June 2025 the European Accessibility Act has applied — in Austria as the Barrierefreiheitsgesetz, in Germany as the BFSG — to online shops, booking flows and banking services; for services, only microenterprises under 10 employees and 2 million euros of turnover are exempt. The audit is not what gets expensive. Not knowing is: a quote calculated per page cannot be negotiated as long as nobody can say how many of the findings are in truth the same three lines in one template.

How to go about it in JMX

  1. Start a crawl. Enter the start address, set depth and limit under Settings → Crawl. Without a license every analysis stops at 25 pages — enough for a first look, not for a number you pass on.
  2. The “Accessibility” tab. It gives the score, the four rule families — structure, forms, controls, content — with the share of HTML pages carrying at least one finding, and below that every finding with the pages concerned. The last section is called “What a crawl cannot establish”. Read that one first.
  3. The “Issues” tab, Accessibility category. 20 rules, grouped by rule rather than by URL, each with an explanation, a recommendation and the full list of occurrences. If you have described shop, blog and careers under Settings → Segments, you see the breakdown with findings per page — and with it, whose template this is.
  4. The “Tasks” tab. The same findings with what the issue list lacks: estimated effort, impact in points, leverage, and the classification into Do now, Schedule, Alongside, Defer. A form field without a label repeats per page, a missing skip link sits in the shell. As a PDF for the client, as an Excel workbook for whoever works through it.
  5. Web Vitals with “Include lab data”. The Lighthouse run delivers all 4 categories; the A11y column assesses accessibility in the rendered state and sees colour contrasts and computed styles while doing so. It complements the built-in score but does not replace it.
  6. The “Report” tab. Tick the Accessibility section, choose a template, output as HTML or PDF. The note on the limits of a static check goes along with it — so that a clean section is not read as a sign-off.
  7. Keep track. jmx-cli in the task scheduler, plus the “History” tab: the accessibility curve across the stored runs shows fixed against new instead of the same snapshot every month.

What to watch out for

The most common misreading is right on the tile: 100 points does not mean “accessible” but “these classes of defect are absent”. Whether every function can be reached without a mouse, whether the focus stays visible, whether an alt text that exists also describes the image — that is decided by no markup test but by a person with a keyboard and a screen reader.

The 20 rules read the HTML as served. A menu that only comes into being in the browser is not in there — the Rendering view shows the difference, the findings themselves come from the source. What is not HTML stays unchecked: the price list as a PDF is counted by the crawl as an address, but it is not audited.

A special case for everyone running nightly checks: none of the 20 rules is classified as “Critical”, the heaviest level is “Error” — a button without a name, an area hidden via aria-hidden that stays tabbable anyway. A run with --fail-on Critical therefore stays green even when the checkout is unusable. Here the switch is --fail-on Error.

The check does not replace the test with a screen reader. It only decides how much of it you still have to pay for.

TippsBarrierefreiheit