Findings No. 53
Automated accessibility scans skip content hidden in inactive tabs
Tab interfaces hide inactive panels with display:none, and axe-core and visibility-filtered checks skip them. A green scan covers only the tab that was open.
An automated accessibility scan only checks what is rendered. Tab interfaces usually hide inactive panels with display: none, so axe-core, and any scripted check that filters on visibility, skips everything in them.
Our low-vision audit of the CCRTA website's route pages ran three passes: a code-level analysis with no browser, axe-core 4.10.2 plus scripted checks in Chromium at phone widths, and physical testing on an iPhone. The route page has three tabs. The browser pass under-covered the panels that were not open when it scanned, and one of the twelve findings came from the code-level pass precisely because the scanner structurally could not see the content in an inactive tab.
The fix for audits is procedural: activate each tab and scan it in turn, and keep a pass that reads the code and data directly rather than the rendered page.
The general rule: "axe was green" is evidence only for what was visible when it ran. For tabbed, collapsed or otherwise hidden content, either reveal each state before scanning or audit it another way.
Receipt: CCRTA Website low-vision audit, October 2026 (docs/a11y/2026-10-low-vision-audit.md, docs/2026-10-a11y-sprint.md; FINDINGS.md, "Svelte 5 / SvelteKit").