# 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-live` and `aria-busy`, loading skeletons use `role="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.