Skip to content

mobile + web: implement end-to-end Accessibility audit and WCAG 2.1 AA compliance #39

@ShantKhatri

Description

@ShantKhatri

Summary

Product doc section 5.11 specifies 'Accessibility First' as a core product value. Conduct a systematic accessibility audit across both the mobile app and web app, document all failures, and fix all WCAG 2.1 AA-level issues.

Context

No accessibility audit has been performed on the codebase to date. This is a senior-level contribution because it requires both technical fixes and a documented reporting process that will guide future contributors.

Tasks

Web (apps/web)

  • run axe-core (via @axe-core/playwright or browser extension) against all pages: /, /u/[username], /devcard screens.
  • document all violations in a new ACCESSIBILITY.md at repo root, grouped by page and severity.
  • fix all AA-level color contrast violations in apps/web/src/app.css.
  • ensure all form inputs have associated <label> elements in web forms.
  • add aria-label to all icon-only buttons.
  • ensure keyboard tab order is logical on the profile page — platform connect buttons should be reachable without mouse.
  • add aria-live="polite" regions for toast/notification messages.
  • all QR code images must have descriptive alt text.

Mobile (apps/mobile)

  • add accessibilityLabel and accessibilityRole to all TouchableOpacity and Pressable elements across screens.
  • ensure accessibilityHint is provided for non-obvious controls (QR scan, card switch).
  • test with TalkBack (Android) and VoiceOver (iOS) — document any screen reader navigation failures.
  • fix text scaling: all font sizes should use the system sp scale — avoid fixing sizes in apps/mobile/src/theme/tokens.ts that prevent dynamic type.

Acceptance Criteria

  • ACCESSIBILITY.md documents audit findings and resolution status.
  • zero AA-level axe violations on web pages.
  • all mobile controls have proper accessibility attributes.
  • screen reader navigation on at least one core flow (view a DevCard) is verified and documented.

Difficulty

senior — requires domain expertise in WCAG 2.1, assistive technology testing, and both web and native accessibility APIs.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions