Skip to content

feat(a11y): accessibility audit for settings pages (#612)#783

Open
AnnieIj wants to merge 1 commit into
Calebux:mainfrom
AnnieIj:feat/612-settings-a11y-audit
Open

feat(a11y): accessibility audit for settings pages (#612)#783
AnnieIj wants to merge 1 commit into
Calebux:mainfrom
AnnieIj:feat/612-settings-a11y-audit

Conversation

@AnnieIj
Copy link
Copy Markdown
Contributor

@AnnieIj AnnieIj commented May 31, 2026

Summary

Resolves #612 — P1 accessibility audit for client/app/settings/.

Changes

  • settings/page.tsx — wrap body in <main id="main-content"> landmark
  • settings/privacy/page.tsx — explicit htmlFor/id on delete modal textarea; autoFocus on Cancel button so focus enters dialog on open
  • settings/notifications/page.tsx — decorative SVGs marked aria-hidden; aria-current="page" on active nav tab
  • ReminderSettings.tsxaria-label on remove-day buttons; X icon marked aria-hidden
  • settings-a11y.test.tsx — 15 axe + structural tests covering all 4 pages

Acceptance Criteria

  • Settings, privacy, notifications, and security pages pass axe checks
  • Focus order and labels are fixed
  • Regressions are covered in CI

Testing

cd client && npm test -- --run app/settings/__tests__/settings-a11y.test.tsx
15/15 pass

Security

No auth, data handling, or infrastructure changes.

- Add <main id="main-content"> landmark to settings index page
- Add explicit htmlFor/id label association on delete modal textarea
- Add autoFocus to first focusable element in delete confirmation dialog
- Mark decorative SVG icons aria-hidden across settings pages
- Ensure aria-current="page" on active nav tab (notifications page)
- Ensure remove buttons have aria-label in ReminderSettings
- Add jest-axe devDependency for axe-based assertions
- Add settings-a11y.test.tsx: 15 axe + structural tests covering
  settings, privacy, notifications, and security pages

Closes Calebux#612
@AnnieIj AnnieIj requested a review from Calebux as a code owner May 31, 2026 00:21
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.

[P1] Add accessibility audit for settings pages

1 participant