Accessibility
This statement covers the public pages of llmeu.com, served as a static export. It does not cover the API or the operator console, which are not part of this export and are not reachable from this site.
We do not claim conformance with WCAG 2.2, or with WCAG 2.1, at any level — not A, not AA, not AAA. No third party has audited this site and no assistive-technology testing has been performed. What follows is a list of things that were measured, how they were measured, and what is still unknown.
What was verified
Each line names what was measured and the tool that measured it. None of these are a certified result; they are measurements taken on this build, and they are re-measurable.
- Content arrives without JavaScript on this page and every other public page. Almost every page is HTML and one stylesheet; there is no third-party script, no framework, no hydration. One route — the model playground — carries a single inline script, and it is marked noindex and is not part of the crawlable site.
- The page renders in system fonts and contains no images. There is no web font and no image on any public page; the only image asset is the site icon. Layout therefore cannot shift when a font finishes downloading or an image arrives late.
- Every table header is associated with its cells. All th cells on public pages carry an explicit scope, and the check that enforces it renders the pages and reads the HTML rather than the template. This exists because exported pages used to ship unscoped headers, which is how a screen reader ends up reading a comparison table as a wall of numbers.
- Keyboard focus is visible. The skip link is the first focusable element on every page, it becomes visible when focused, and the focus indicator is read from the rendered style rather than from the stylesheet, in a real browser.
- Every page declares its language. Each document states lang="en" or lang="de" on the root element, so a screen reader picks the right pronunciation rules, and each page declares both language alternates.
- Colour contrast passes WCAG AA on the design-critical pairs, with no headroom on one. 21 pairs were computed from the design tokens; the tightest is 4.69:1 against an AA floor of 4.5:1. Focus indicators pass the 3:1 non-text requirement in both the light and the dark context.
How each of these was measured
- The table-header, language and catalogue-contract checks run in the automated suites and drive the real page functions.
- Focus visibility and the rendered layout were measured in headless Chromium with animation and transition disabled first, so a measurement is never taken mid-slide, and read back with getComputedStyle and getBoundingClientRect — a class in the stylesheet is not evidence that anything renders.
- Contrast was computed from the resolved token values in the stylesheet, not from getComputedStyle in a live engine. If any rule overrides a token locally, that pair is not covered by the number above.
- The scoped-table, language and no-JavaScript statements were re-derived from this build when the statement was written; a change to the stylesheet or a page template can invalidate one of them, which is why each names the file that carries it.
What has not been verified
Stated plainly, because an accessibility claim that overstates itself is worse than no claim — and because this site's whole proposition is that its claims can be checked:
- No screen-reader testing has been performed. Not with NVDA, JAWS, VoiceOver, TalkBack or Orca. Nothing here should be read as a statement about what a screen reader announces.
- No third-party audit — no accessibility consultancy, no automated conformance scan, no VPAT or Accessibility Conformance Report.
- No conformance claim against WCAG 2.2 (or 2.1) at any level. Passing a contrast calculation and marking table headers is not conformance: it is two of the success criteria, on the surfaces that were measured.
- No user testing with disabled users.
- Browser and assistive-technology coverage is not characterised. The site is plain HTML and CSS with no JavaScript, which usually means wide support, but "usually" is not a measurement and we are not presenting it as one.
Known limitations
These are things we already know are imperfect, listed rather than left for a reader to discover:
- The console is not covered by this statement. It is not part of the static export, and its tables do not carry the header associations the public pages do. If the console becomes publicly reachable, this statement does not apply to it.
- The skip link and the site header and footer are hidden when printing. Printing a page therefore gives you content with no navigation and no skip link.
- The language switch is a pair of links, not a <select> or a locale menu. It is keyboard reachable and labelled, but it is not the control some users expect for switching language.
- There is no accessibility-specific contact or response-time commitment. Reports go to a general mailbox; we do not yet undertake to answer within a fixed time.
- Live status and cost figures on product pages are static text. They do not update in the browser, because there is no browser code. On this deployment that is the intended behaviour, not an animation that failed.
- The playground, when it is deployed, is the one interactive surface. It is a form with text labels and it degrades to an explanation when the API is not hosted, but its status announcements during a request have not been tested with a screen reader.
Reporting a problem
If something on this site is unusable for you, write to mail@llmeu.com and say which page and what happened. Accessibility defects are treated like any other defect on this site: they are fixed in the source and verified on the exported page. We will not quietly add a conformance badge to make the report go away.
This statement describes this build. If a measurement above stops being true, the defect is the measurement or the page — not the statement.