Skip to content

web(a11y): add accessibility smoke test for the demo page - #566

Merged
karagozemin merged 1 commit into
Sub-Rosa-Issue:mainfrom
umpireboulianne-design:fix/issue-546
Oct 27, 2026
Merged

karagozemin merged 1 commit into
Sub-Rosa-Issue:mainfrom
umpireboulianne-design:fix/issue-546

Conversation

@umpireboulianne-design

Copy link
Copy Markdown
Contributor

Summary

  • Add explicit ARIA landmarks, roles, busy states, and list labels across demo components (AttackDemo.tsx, RoundStatusBadge.tsx, and DemoPage.tsx):
    • RoundStatusBadge exposes role="status" (or role="alert" on error) and aria-busy={state === "loading"}.
    • AttackDemo labels the main attack panel section, marks the Seal-OFF and Seal-ON columns with role="region" and aria-label, sets aria-busy={loading} on the action button, marks errors with role="alert", and labels the step lists (Seal-off attack steps vs Seal-on protection steps).
    • DemoPage labels the sidebar navigation (aria-label="Demo navigation") and mode tablist (aria-label="Demo mode").
  • Add apps/web/src/demo/demo-a11y-smoke.test.tsx (imported by trace-health-check.test.ts so pnpm web:test executes it in CI) covering default, loading, error, seal-on, and seal-off states for accessible names, roles, landmarks, and focusable controls.
  • Document the accessibility smoke checks in docs/DEMO_SCRIPT.md.

Supply-chain review

  • No package scripts or dependencies changed. If changed, explain why below.
  • No .vscode/, workflow, or other editor/config file changes. If changed, list them below.
  • No lockfile changes. If changed, explain the update below.
  • No binary or font asset changes. If changed, list and justify them below.
  • I confirm no automatic task (such as preinstall/postinstall) was added.
  • I confirm no hidden executable payload (encoded blob, obfuscated command, or unexpected binary) was added.
  • Any changed executable or binary was reviewed by a maintainer.

Testing

  • node --import tsx --test src/demo/demo-a11y-smoke.test.tsx in apps/web (6/6 tests pass)
  • node --import tsx --test src/demo/trace-health-check.test.ts in apps/web (16/16 tests pass)
  • node scripts/check-links.js (passes)

Closes #546
Fixes #546

@karagozemin
karagozemin merged commit b9731a4 into Sub-Rosa-Issue:main Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

web(high/easy): add an accessibility smoke test for the demo page

2 participants