Accessibility and performance
Target: WCAG 2.2 level AA. The site is static HTML with system-style controls, one stylesheet and two small scripts, which makes most of the standard hold by construction; the interactive maps are the exception and are documented below. Statement dated 2026-10-21, release 2026-10-21.
Lighthouse scores
Run 2026-10-20 with Lighthouse 13.5.0, Lighthouse default (mobile emulation, simulated throttling), headless Chrome, against the live site.
| Page | Performance | Accessibility | Best practices | SEO | Accessibility audits failed |
|---|---|---|---|---|---|
| / | 73 | 95 | 73 | 100 | heading-order, link-in-text-block |
| /data/ | 72 | 98 | 73 | 100 | heading-order |
| /malls/wi/milwaukee-northridge-mall/ | 82 | 94 | 73 | 100 | heading-order, link-in-text-block |
| /map/ | 33 | 93 | 73 | 100 | aria-required-children, heading-order |
After the first run, two CSS fixes shipped the same day (footer headings h4 to h3 for heading order; underlined links inside tables, captions and origin labels). Re-run on the home page and the record page: accessibility 100, best practices 77. The remaining best-practices items are third-party cookies set by Google Analytics and Microsoft Clarity after consent, and the inspector issues they raise. On /map/ the network map's tablist (aria-required-children) belongs to the map generator and is open.
Lighthouse runs axe-core for the accessibility score; performance is measured with mobile throttling, so desktop figures are higher.
WCAG 2.2 AA checklist
| Criterion | How the site meets it | Status |
|---|---|---|
| 1.1.1 Non-text content | Photos carry the site name as alt text; map frames have titles; decorative marks are aria-hidden | pass |
| 1.3.1 Info and relationships | Facts are real tables with header cells; breadcrumbs and navigation are landmarks; one h1 per page | pass |
| 1.4.3 Contrast | Ink on paper and the moss accent meet 4.5:1 in the design tokens; the small 'fine' text is checked in Lighthouse | pass, measured by Lighthouse |
| 1.4.4 Resize text / 1.4.10 Reflow | Fluid type and single-column layout under 700 px; tables scroll inside a wrapper | pass |
| 2.1.1 Keyboard | Every control is a link, button or details element; filter chips are buttons with aria-pressed | pass |
| 2.4.1 Bypass blocks | Skip link to #main on every page | pass |
| 2.4.4 Link purpose | Record links carry the site name; download links name the format | pass |
| 2.4.7 Focus visible | 2 px focus outline from the design tokens | pass |
| 2.5.8 Target size (2.2) | Buttons and chips are at least 28 px tall; 24 px minimum met | pass |
| 3.1.1 Language | lang=en on every page | pass |
| 3.2.6 Consistent help (2.2) | Corrections link and desk address in the same footer position on every page | pass |
| 4.1.2 Name, role, value | Search inputs labelled; menu is a details/summary pair; copy buttons change their own text when done | pass |
| Interactive maps | The Leaflet pin map and the d3 network map are not fully operable by keyboard; the same data is available as lists, GeoJSON and CSV | partial, documented |
Checked by hand on the home page, a record page, /map/ and /data/ on 2026-10-21. Automated checks catch only part of the standard; a screen-reader session has not been done yet.
Known limits
- The pin map (/map/pins/) and the network map (/map/) need a pointer for panning and zooming. Every site is also in the state lists, the search, GeoJSON and CSV.
- Some county parcel tables are wide; they scroll horizontally inside their wrapper.
- Third-party embeds (OpenStreetMap frames) follow their own accessibility.
Report a problem
Write to desk@retrofitatlas.org with the page URL and what did not work; answered within five working days and logged in the changelog when fixed.
Page generated with the site, release 2026-10-21. Corrections: the form or desk@retrofitatlas.org.