What we meet, and what we don't yet.
We treat accessibility as a requirement from the first commit, not a phase that gets cut when deadlines bite. Here's what that means on this site, including what we meet and what we don't yet.
Conformance status
Partially conformant with WCAG 2.2 level AA. Partially because the review is ours and ongoing, not a third-party certification: when we find something that doesn't meet the criteria, we write it down here rather than waiting until we've fixed it.
Last reviewed: 18 August 2026.
How we checked
By going through the accessibility tree —what a screen reader actually reads— page by page, and navigating with the keyboard: heading hierarchy, accessible names, landmarks, form labels and visible focus. Contrast ratios are calculated and verified in the browser, and you can see them live on the foundations page.
What's covered
- Contrast ratios calculated and verified in the browser, in both light and dark themes. You can check them live on the foundations page.
- Full keyboard navigation, with a visible focus indicator and a skip-to-content link.
- The mobile menu moves focus when it opens, returns it when it closes, and closes with Escape.
- Form with real labels, errors tied to their field, and a summary announced to screen readers.
- The system's reduced-motion preference is honoured: animations are switched off, smooth scrolling included.
- Touch targets of at least 24×24 pixels on list, menu and footer links.
- Consistent heading structure and alternative text on images that carry content: one h1 per page and no skipped levels.
- Content written in a language other than the page's is marked as such. Blog articles are in Spanish on the English site too, and they're flagged so a screen reader doesn't read them with an English voice.
Known limitations
- It hasn't been tested with an actual screen reader. Our review covers the accessibility tree and keyboard behaviour, which is what a screen reader consumes, but it's no substitute for listening: reading order and the timing of announcements are only properly judged by ear.
- Form field errors aren't announced one by one; the summary is. Enough to know something went wrong, but it could be better.
- The browser chrome always takes its colour from the light theme, even in dark mode. That's a deliberate brand decision.
- Blog articles exist in Spanish only. They're marked with their language, but anyone reading the site in English won't find their content translated.
If you hit a barrier
Write to us at raul.lopez@plazoleta.dev and we'll fix it. Tell us what you were trying to do, on which page, and what assistive technology you use, if any. We reply within 24 working hours.