AITB Documentation← Back to app
← All documents

WCAG 2.1 AA Accessibility Audit

System: MSF AI Training Bot (AITB) · ITQ: CDVHQ0ETQ26000013 (para 6.3 — accessibility)
Supplier: Tiny Codes Software Pte Ltd (UEN 202405170H)
Date: 30 June 2026 · Target conformance: WCAG 2.1 Level AA


1. Scope & method

Automated testing with axe-core 4.10.2 (Deque) — the standard accessibility engine, whose rules map directly to WCAG success criteria — run against the live build in Chromium, filtered to the wcag2a, wcag2aa, wcag21a, wcag21aa rule sets. Supplemented by manual code/CSS review for criteria automation cannot decide.

Pages audited: /login, /app (officer voice session), /admin (dashboard), /admin/analytics (data tables), /admin/users (forms).

Automated tooling reliably decides roughly a third to a half of WCAG criteria; the remainder (meaningful alt text, focus order, assistive-technology behaviour) require human/AT review. This report documents the automated layer (clean) plus a manual checklist; the formal conformance sign-off is completed with the screen-reader testing scheduled in Phase 4 (Testing & AI Assurance).

2. Automated results

Page Violations (initial) Violations (after fix) Checks passed
/login 1 0 21
/app 1 0 24
/admin 1 0 23
/admin/analytics 1 0 24
/admin/users 1 0 24

Result: 0 automated WCAG 2.1 A/AA violations across all audited pages, 0 "incomplete" items requiring review.

3. Finding & remediation

# Criterion Severity Finding Remediation Status
1 1.4.4 Resize text (AA) Critical The viewport meta set maximum-scale=1, disabling pinch-zoom on mobile — users could not enlarge text to 200%. (Global, all pages.) Removed maximumScale/userScalable limits in the root layout; zoom is now unrestricted. Fixed & re-verified (0 violations)

4. Manual review checklist

WCAG criterion Status Notes
1.1.1 Non-text content (A) Pass image-alt passes; persona portraits have alt text, the audio-reactive orb is decorative canvas.
1.3.1 Info & relationships (A) Pass Semantic landmarks, table headers, associated form labels (axe-verified).
1.4.3 Contrast minimum (AA) Pass color-contrast passes across the light theme tokens.
1.4.4 Resize text (AA) Pass Fixed (see para 3); pinch-zoom to ≥200% now permitted.
1.4.10 Reflow (AA) Pass (design) Responsive layout with desktop/tablet (≥768px)/mobile (≥375px) breakpoints per para 6.3; no horizontal scroll at 320px.
2.1.1 Keyboard (A) Pass (by construction) All non-conversational controls are native button/input/select/a and keyboard-operable; speech is the conversational input by design (para 6.3), with captions as read-only AT support.
2.4.7 Focus visible (AA) Pass Global :focus-visible outline (2px, --accent-strong).
4.1.2 Name, role, value (A) Pass button-name, label, ARIA checks pass.
4.1.3 Status messages (AA) Pass Live regions added: session status and queue position (role="status"), errors (role="alert"), and the conversation transcript (role="log", aria-live="polite").
Screen readers — NVDA / JAWS / VoiceOver (para 6.3) Phase 4 Requires human assistive-technology testing — scheduled in Phase 4 with remediation backlog.

5. Conformance statement

As of the audit date, the AITB build shows no automated WCAG 2.1 Level A/AA violations across the audited pages, and the manual code-level checks above pass. The outstanding item — full screen-reader walkthroughs on NVDA/JAWS/VoiceOver — is scheduled in Phase 4 (Testing & AI Assurance) ahead of UAT, consistent with the para 6.3 commitment to "Full compliance with WCAG 2.1 AA."

Reproduce: run axe-core 4.10.2 against each page filtered to the WCAG 2.1 A/AA tag set; expected result is 0 violations.