← Back to WillIFit.ai

Accessibility Statement

Our target, our current status, and an honest list of exactly what's not there yet.

WillIFit.ai exists to keep drivers from finding out the hard way that their vehicle doesn't fit. That only works if the site itself doesn't put up its own barriers. This page says exactly where we stand — the same way we label a clearance reading "imported" instead of dressing it up as verified.

Conformance target

We aim for WCAG 2.1 Level AA. Current status: partially conformant — an initial audit turned up 47 issues; a same-day remediation pass fixed both Critical findings and the large majority of the Serious and Moderate ones. What's genuinely left is itemized below, same as before — nothing gets quietly dropped from this list, it just moves to "fixed."

Target: WCAG 2.1 AA Status: Partially conformant Last reviewed: August 16, 2026
August 16, 2026 — remediation pass. Following the audit below, we fixed both Critical findings and most of the Serious ones in the same session: the city picker (search, ZIP/address lookup, browse-by-state) is now fully keyboard-operable; status updates, load states, and form results are announced to screen readers; all dialogs and the detail panel manage focus correctly; the color-only fit indicators now carry a non-color signal too; the contrast failures we measured are corrected; and the mislabeled link repeated across all 226 city pages is fixed. What didn't get fixed yet is listed honestly below, not hidden.

How this was assessed

This is a self-evaluation: an internal code review against WCAG 2.1, originally done by four focused passes covering semantic structure, keyboard and focus behavior, color and contrast, and page content — not a certified third-party audit, and not tested with real assistive-technology users. Automated and code-level review catches real, citable issues, but it can miss things only a person using a screen reader or switch device day-to-day would notice. If something here is wrong or incomplete, tell us — that's more reliable than any review we can do of our own code.

What's solid

Not all of this is new — some held up well from the start. Some of it is exactly what changed today:

The city picker — search, ZIP lookup, address lookup, and browse-by-state — is fully keyboard-operable, with proper button semantics and a screen-reader label on every result row.
Status updates reach screen readers: result counts, loading/error states, geolocation status, and all three report forms' submit results now announce through live regions.
All five dialogs (the welcome screen, city picker, and three report forms) are marked as dialogs with a real accessible name, and the city picker's tabs use proper tab/tabpanel semantics.
The garage detail panel now manages focus correctly: it moves focus in on open, restores it to the right place on close — even after the list has re-rendered underneath it — and is removed from the tab order and accessibility tree while closed, via inert.
A real focus trap on every modal — Tab and Shift+Tab wrap correctly, Escape closes the top one first, and focus returns to whatever opened it.
The "fits / tight / won't fit" color coding now carries a non-color signal too (a ✓ / ~ / ✗ mark on every badge, plus a spoken verdict in its accessible name) — color-vision deficiency no longer makes two different verdicts look identical.
Every color pairing we measured as failing — badge borders, map-marker text, the "won't fit" label, UI borders site-wide — now clears its WCAG contrast minimum, checked with calculated ratios, not eyeballed.
A working skip link that actually moves focus (not just scrolls), one clear page heading, and a visible focus ring everywhere — no component silently disables it.
Body text contrast is strong throughout (15:1+ on the main text, 5:1+ on secondary text).
Reduced-motion, reduced-transparency, and increased-contrast preferences are all respected — including the map's own pan/zoom animation, which needed an explicit check since CSS alone can't reach it.
Every page — all 226 city pages included — has a language attribute, one clear heading, a descriptive unique title, and a <main> landmark.
No unlabeled images anywhere on the site, because the site doesn't use any.

Known issues

What's left after the pass above — all Moderate or Minor at this point, nothing that blocks a core action the way the two Critical findings did.

Heading structure inside the app

  • Moderate The main app still has only two real heading elements. Modal titles, the garage name in the detail panel, and its section headers are styled to look like headings but are still <div>s — a screen reader user jumping by heading can't use that to navigate within the app the way they can on every content page. (WCAG 1.3.1, 2.4.6)

Smaller gaps

  • Minor The vehicle-height preset button declares itself as opening a menu (aria-haspopup="menu") but the dropdown is really a plain list of buttons, not a full ARIA menu with arrow-key navigation — worth resolving the mismatch so a screen reader doesn't set the wrong expectation. (WCAG 4.1.2)
  • Minor A couple of small icon-only buttons (clear search, clear vehicle height) are named only through a title attribute, which not every assistive technology reads consistently — an explicit aria-label would be more robust. (WCAG 4.1.2)
  • Minor The data tables on the clearance guide and the Lowest Bridges page now have proper column headers (scope="col"), but still don't have a <caption> element describing the table as a whole. (WCAG 1.3.1)

What we're doing about it

What's left is logged and all Moderate or Minor — nothing here blocks a core action. We'll keep updating this page as things close, not just when new findings show up.

Report a problem

If you hit an access barrier anywhere on the site — something above, or something we missed — we'd genuinely rather hear about it than not:

Read more about who builds this and why, or go back to the map.