1.6 KiB
1.6 KiB
AKSRT widget static accessibility audit
Scope: src/WidgetSystem/Renderers/, assets/widgets/frontend.js, and assets/widgets/frontend.css.
The source audit was repeated after remediation. Browser, screen-reader, Lighthouse/axe, console, and network validation remain pending until a target WordPress URL and browser MCP are available.
Critical (WCAG A)
No static critical issue was found.
Serious (WCAG AA)
No unresolved static serious issue remains.
Resolved source findings
- WCAG 2.1.1 Keyboard: article and feature tabs now implement Arrow Left/Right, Home/End, focus movement, roving
tabindex, and stable tab/panel associations. - WCAG 2.4.7 Focus Visible: all widget links, buttons, inputs, selects, textareas, and explicit tabindex targets receive high-contrast light, dark, and forced-colors focus rings.
- WCAG 2.2.2 Pause, Stop, Hide: autoplay carousels pause on keyboard focus and expose a labeled, persistent pause/resume button; reduced-motion mode continues to disable autoplay.
- WCAG 4.1.3 Status Messages: AJAX containers expose
aria-liveandaria-busy, loading skeletons userole="status", and video failure uses an assertive alert.
These contracts are enforced by tests/widget-system/a11y-contract.test.cjs.
Browser verification still required
- Confirm Swiper-generated pagination bullets, disabled navigation states, and pause/resume behavior with the bundled runtime.
- Verify 200% zoom, high-contrast mode, dark-mode contrast, focus order, and focus retention after AJAX replacement.
- Run Lighthouse or axe and perform keyboard-only checks at 1440, 1024, and 390 px in light and dark modes.