Accessibility Audit — WCAG 2.2 AAA — 2026-04-06

By rockypod-api, 6 May, 2026

Accessibility Audit — Alliex Platform

Date: 2026-04-06  |  Version: 1.1.3  |  Standard: WCAG 2.2 AAA

Result: PASS — 0 critical, 0 serious violations. 253 automated tests passing.

Scope

19 routes audited with axe-core, plus manual keyboard and screen-reader checks. Target: WCAG 2.2 AAA (7:1 contrast ratio minimum).

Initial Findings (pre-remediation)

  • Color contrast (serious): --color-primary #0066CC on white = 5.56:1 — below AAA 7:1 threshold. Affected: buttons, links, form focus rings.
  • Heading order (moderate): Several admin pages had non-sequential heading levels (h4 before h2).
  • Missing form labels: Several admin <select> elements lacked explicit labels.
  • Investor map not in figure/figcaption: Leaflet map lacked landmark wrapper — nested-interactive violation.
  • PaymentFlow chip labels: Decorative chip elements lacked aria-hidden.

Remediation Applied

  • Color token overhaul: --color-primary-text #0052A3 → #00478F (8.76:1 on white, 7.73:1 on light backgrounds). --color-loan #059669 → #065F46 (7.2:1). All gray text lifted to gray-700/800/900 throughout 14 route files.
  • Heading hierarchy corrected across all 14 admin routes.
  • All form fields labelled; OTP digit inputs have aria-label; select elements have explicit ids + for= associations.
  • Investor map wrapped in <figure><figcaption> — nested-interactive resolved.
  • PaymentFlow: contrast #4da6ff → #7dbfff (8.5:1); decorative chips aria-hidden.
  • prefers-reduced-motion: all animations (PaymentFlow, Vietnam map, scrubber) short-circuit to instant transitions.
  • Language switcher: each locale button has aria-label="Switch to [language]".
  • Admin: single main landmark per page (stripped public nav/footer from /admin/* layout).

Final State

axe-core suite: 253 tests, 0 violations. Manual keyboard tab-order verified across all pages. NVDA/VoiceOver: each page has exactly one h1, all interactive elements reachable. All text ≥7:1 contrast ratio (WCAG AAA).