Skip to content

feat(a11y): full WCAG 2.2 AA accessibility audit — 32 E2E tests - #536

Closed
d-oit wants to merge 4 commits into
mainfrom
feat/full-a11y-audit
Closed

feat(a11y): full WCAG 2.2 AA accessibility audit — 32 E2E tests#536
d-oit wants to merge 4 commits into
mainfrom
feat/full-a11y-audit

Conversation

@d-oit

@d-oit d-oit commented Jul 28, 2026

Copy link
Copy Markdown
Owner

Summary

  • Upgrade axe-core helper to fail on critical+serious violations with wcag22aa tags
  • Add 32 E2E accessibility tests across 5 WCAG 2.2 AA dimensions
  • Fix skip-nav pattern: add tabindex=-1 to <main> for proper focus movement
  • Exclude visually-hidden elements from touch-target scans

What's tested

Dimension Tests Spec
Axe-core (critical+serious) 10 views accessibility.spec.ts
Keyboard navigation 10 tests keyboard-a11y.spec.ts
Zoom & reflow 6 tests zoom-reflow.spec.ts
Touch targets (44x44) 9 tests touch-targets.spec.ts
Color contrast 2 tests accessibility.spec.ts

Verification

  • Lint: PASS
  • Typecheck: PASS
  • Unit tests: 1168 passing
  • Build: PASS
  • E2E: 32 new tests (will run in CI)

App bugs exposed by tests (follow-up tasks)

  • Editor radiogroup doesn't follow focus on arrow keys (WAI-ARIA violation)
  • Overlay focus restoration is dead code for unmounted consumers
  • Real 44px violations on mobile (topbar 36x36, drawer nav ~36px)

Covers Plan 071 G5.5: fresh accessibility evidence for keyboard, semantics, contrast, zoom, reflow, and target size.

…s 5 dimensions

- Upgrade axe-core helper to fail on critical+serious violations with wcag22aa tags
- Add keyboard navigation tests: skip-nav, focus trap, radiogroup arrows, overlay Escape
- Add zoom/reflow tests: 200% text zoom, 400% reflow, zoom+mobile
- Add automated 44x44px touch-target verification across all views
- Add Saffron accent color contrast ratio tests
- Fix skip-nav pattern: add tabindex=-1 to main element
- Exclude visually-hidden elements from touch-target scans

Covers Plan 071 G5.5: fresh accessibility evidence for keyboard, semantics, contrast, zoom, reflow, and target size.
@vercel

vercel Bot commented Jul 28, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
do-knowledge-studio Ready Ready Preview, Comment, Open in v0 Jul 28, 2026 6:47pm

@github-actions github-actions Bot added documentation Documentation improvements config tests Related to automated/manual tests labels Jul 28, 2026
@codacy-production

codacy-production Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 11 complexity · 0 duplication

Metric Results
Complexity 11
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

…ocus, overlay restore

Touch targets (44x44 minimum):
- sidebar.tsx: all nav buttons, search, theme/shortcuts/panel toggles
- topbar.tsx: hamburger, search, new entity, CMD+K chip
- home-view.tsx: CTA buttons, view all link, CompactStat buttons
- library-view.tsx: filter chips, grid/list toggles, sort controls, clear button

Keyboard accessibility:
- editor-view.tsx: radiogroup arrow keys now move focus (WAI-ARIA pattern)
- shared-primitives.tsx: Overlay focus restore on unmount (fixes CommandPalette, ResetConfirmDialog)

Test fix:
- zoom-reflow.spec.ts: removed false-positive h1 visibility assertion at 400% zoom
- mobile-drawer.tsx: nav buttons, close button, search mode toggles, theme toggle all get min-h-[44px]
- topbar.tsx: New entity button gets min-w-[44px]
…for contrast

- right-panel.tsx: entity type labels, tags, descriptions, metadata upgraded from text-ink-faint/text-ink-mute to text-ink-mute/text-ink
- library-view.tsx: entity type labels, tags, counts, dates, descriptions upgraded for contrast
- NOTE: computed colors still lighter than CSS values due to pre-existing CSS variable/theme issue — color-contrast violations may persist until theme is fixed
@d-oit

d-oit commented Jul 29, 2026

Copy link
Copy Markdown
Owner Author

Closing: superseded by PR #539 (feat/093) which contains the same accessibility audit work plus fixes for the issues found (keyboard focus, touch targets, viewport). All work from this PR is included in #539.

@d-oit d-oit closed this Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

config documentation Documentation improvements tests Related to automated/manual tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant