Accessibility
Accessibility statement
The standard this site is built to, what has been tested, and what has not.
The standard I build to
Ontario's accessibility regulation requires designated public-sector organizations, and businesses and non-profits with 50 or more employees, to meet WCAG 2.0 Level AA on their public websites. That is the floor, and it is a seventeen-year-old standard.
This site targets WCAG 2.1 Level AA, the version federal procurement uses and the one the sector is moving to.
Current status — partially conformant
This site is partially conformant with WCAG 2.1 Level AA. It has been through a measured audit: automated checks on every page, and a keyboard pass. What that audit found has been fixed and re-verified. I still will not claim full conformance, because the tests that need a human have not all been done yet: screen readers, zoom, other browsers.
It is the same distinction I would insist on for a client. A conformance claim ahead of its evidence is worse than no claim, because it is the first thing quoted back at you in a complaint. This statement moves to full conformance when the manual half of the testing backs it, not before.
What has actually been tested
Measured, not assumed:
- Automated checks on every page — axe-core, run with the full WCAG 2.0 and 2.1 A and AA rulesets. Zero violations, most recently on September 10, 2026. One scripted command rebuilds the site and re-runs the automated set — axe on every page, the viewport sweep, the focus-ring measurement — and I run it before each deploy.
- A keyboard-only pass across five pages, September 5, 2026 — 209 focus stops, every one with an indicator that clears the 3:1 minimum against the surface it paints on. The skip link is the first tab stop on every page and genuinely skips the navigation, and both forms can be completed by keyboard alone.
- Focus-ring contrast against every surface the ring paints on: 5.98:1 on the light ground, 6.31:1 on white, 15.87:1 on the dark bands, where 3:1 is the minimum. Off-the-shelf checkers do not test focus indicators.
- No page scrolls horizontally at 375px, or at 320px.
- Semantic structure — one
h1per page, no skipped heading levels, real landmarks, resolved region labels, motion behindprefers-reduced-motion— verified on the built HTML.
The audit of September 5, 2026 found four real failures: inline links distinguished by colour alone, a Level A failure; a focus ring below the 3:1 minimum on the dark bands; and footer text and section markers below the contrast minimum. All four were fixed the same day and re-verified. Lighthouse, run on five pages, flagged the same rules axe did and nothing more.
Known gaps
What has not been tested yet. None of these is a known failure — they are the parts of WCAG that automated tooling cannot reach.
- End-to-end screen reader testing with NVDA, JAWS and VoiceOver.
- Reflow at 400% zoom and text-spacing overrides (WCAG 1.4.10 and 1.4.12).
- Repeating the measurements in Safari and Firefox — everything above was measured in Chrome.
- Touch target sizes, and Windows High Contrast Mode.
All of these are scheduled before this statement's next review in February 2027, and this page will record what they find.
If something does not work for you
Tell me and I will fix it. A barrier you hit is a defect in my work, and I would rather hear about it than not. The same goes for format: if something here is in a form you cannot use, ask and I will send it in one you can.
- Email — m@koval.email
- Or the contact form, if that is easier.
Useful if you have it: the page, what you were trying to do, and what you were using — browser, screen reader, magnification. Rough detail is fine. I aim to reply within two business days and to fix barriers within 30 days, or to tell you why it will take longer.
If I do not resolve it, you can raise a complaint with the Government of Ontario under the Accessibility for Ontarians with Disabilities Act.
About this statement
- Applies to https://koval.dev, prepared by Mike Koval.
- Last updated September 10, 2026.
- Next review February 2027, or sooner if the site changes materially.
- Assessment method: self-assessment, measured — axe-core, Lighthouse, a manual keyboard pass, and contrast from rendered pixels. No third-party audit.
If accessibility is what brought you here, that is what I do for a living.