Accessibility
What this site does, and one thing it knowingly does not
Checked with axe-core against WCAG 2.1 AA on one page of each template in English, plus the Dutch and Arabic homepages, on every build. This page says what passes, what does not, and why.
The one exception, stated plainly
The brand colours carry text and fail the contrast requirement doing it.
White on the brand blue measures 3.8:1 and the teal 2.6:1 against white; WCAG 2.1 AA asks 4.5:1 for body text. Across the site that is roughly 1,100 elements, all one rule, all colour contrast.
Darker twins of both colours were built and then reversed at board level in September 2026, on the grounds that a darker blue reads as a different company. The failure is therefore accepted knowingly rather than missed, and the variables to restore the accessible twins are still in the stylesheet: it is two edits, not a rewrite, if the decision changes.
What we have checked
Keyboard operation
Interactive elements are reachable and operable by keyboard, with a visible focus ring. Choices in the free tools and the price calculator are radio groups: the selection is announced, and marked with a dot and a heavier border as well as colour.
Structure
One main landmark and one h1 per page, headings in order, and lists marked up as lists. Checked on every build on each template.
Text alternatives
Images that carry meaning have alternative text; decorative marks and diagrams are hidden from assistive technology rather than described twice.
Right to left
The Arabic build is a second layout rather than a translation: everything directional uses logical properties, so the interface mirrors instead of leaking.
Motion
Scroll-driven animation is guarded and degrades to its finished state. Nothing moves for a reader who has asked their system for reduced motion.
Text and zoom
Pages are tested at 320, 390, 768 and 1280 pixels wide without sideways scrolling of the page; wide tables scroll inside their own container.
How this is checked
Every build runs axe-core over one page of each template in English, plus the Dutch and Arabic homepages, and fails on anything that is not the accepted contrast exception.
The exception is matched on the colours axe computed rather than on a class list, so a new component landing on the brand ground is counted as accepted and a genuinely new contrast bug is not buried under a thousand of them.
Automated testing finds a minority of accessibility problems. We have not commissioned an independent audit or user testing with assistive technology, and we would rather say so than imply a level of assurance we cannot evidence.
If something here blocks you, tell us
Say which page and what happened. A reply comes from a person within one working day, and if it is a defect rather than the accepted exception it gets fixed rather than logged.