Voluntary Product Accessibility Template — VPAT® 2.5 · WCAG + Section 508 edition
iMath — Accessibility Conformance Report
This is a first-party self-evaluation, prepared with the measurements cited above rather than assertions. Where the product takes a WCAG exception (notably essential timing in the arcade layer), the exception and its mitigation are stated plainly. The plain-language companion for teachers and families is at /docs/accessibility.html.
Table 1 — WCAG 2.1 Level A
| Criterion | Conformance | Remarks |
|---|---|---|
| 1.1.1 Non-text Content | Supports | All images carry meaningful alt text. Game canvases are decorative to AT (aria-hidden); the live math problem, answers and outcomes are mirrored into words ("7 times 8") in DOM live regions in all seven games. |
| 1.2.1 Audio-only (Prerecorded) | Supports | All 63 recorded character lines display synchronized on-screen captions with the speaker's name — including when sound is muted. |
| 1.2.2 Captions (Prerecorded) | Not Applicable | No synchronized video media. |
| 1.2.3 Audio Description / Media Alternative | Not Applicable | No video media. |
| 1.3.1 Info and Relationships | Supports | Landmarks, heading hierarchy, real labels on all form fields, grouped keypads, dialog roles; teacher heat-map states carry symbol + word + color. |
| 1.3.2 Meaningful Sequence | Supports | DOM order matches reading order throughout. |
| 1.3.3 Sensory Characteristics | Supports | Instructions never rely on shape or position alone. |
| 1.4.1 Use of Color | Supports | Locked booths carry padlocks; assessment progress pips pair color with shape (square / filled / dashed-hollow); feedback is worded; fluency carries a star; heat map carries symbols and a legend. |
| 1.4.2 Audio Control | Supports | A single mute control is fixed above every overlay on every page, operable at any moment including during voiced sequences; the setting persists on the device across pages and sessions. Captions continue while muted. |
| 2.1.1 Keyboard | Supports | The entire product is keyboard-operable: island walking (arrows/WASD), entering activities (Enter/Space at a highlighted booth), every numeric answer (physical keys + Enter to submit), all modals, popovers, games and teacher pages. |
| 2.1.2 No Keyboard Trap | Supports | Dialogs trap intentionally while open and restore focus on close; Escape dismisses every dismissible dialog; verified by scripted walkthrough. |
| 2.1.4 Character Key Shortcuts | Supports | Single-key movement (WASD) is inert whenever any form control, button or dialog has focus, so it cannot collide with typing or AT input. |
| 2.2.1 Timing Adjustable | Partially Supports | Timed challenge is essential to the arcade layer (the WCAG 2.2.1 essential exception) and to the measured construct itself — math-fact automaticity is defined by response latency. Mitigations: every game starts with generous pacing; per-student typing calibration adds each child's measured input time into every speed judgment; a single slow answer is never penalized in placement; untimed alternatives (Critter Garden practice before its win, the untimed strategy board in Axel's Gym) are always available and earn full credit; a game ending never removes earned progress. |
| 2.2.2 Pause, Stop, Hide | Partially Supports | All games have a real pause ("Done for now"). Ambient island animation stops fully under the platform's reduced-motion setting rather than a dedicated on-page control. |
| 2.3.1 Three Flashes or Below Threshold | Supports | Frame-capture measurement: worst case 2 flashes/second in a single non-repeating transition; sustained effects ≤1.2 Hz; full-screen flashes are rate-limited in code and disabled under reduced motion. |
| 2.4.1 Bypass Blocks | Supports | Skip links on the island, teacher guide and documents. |
| 2.4.2 Page Titled | Supports | Descriptive titles on all pages. |
| 2.4.3 Focus Order | Supports | Managed dialog focus (initial placement, trap, restore); 34-assertion scripted keyboard walk passes. |
| 2.4.4 Link Purpose (In Context) | Supports | Link text states destinations. |
| 2.5.1 Pointer Gestures | Supports | No multipoint or path-based gestures; everything is single taps. |
| 2.5.2 Pointer Cancellation | Partially Supports | Answer-keypad keys register on pointer-down because answer latency is the educational construct being measured (essential); a stray press is always recoverable via backspace before submission. All other controls activate on the up-event. |
| 2.5.3 Label in Name | Supports | Accessible names contain the visible text. |
| 2.5.4 Motion Actuation | Not Applicable | No motion-operated features. |
| 3.1.1 Language of Page | Supports | lang="en" on every page. |
| 3.2.1 On Focus / 3.2.2 On Input | Supports | No context changes on focus or input. |
| 3.3.1 Error Identification | Supports | Errors are announced (alert roles) and described in words; wrong answers show the correct answer. |
| 3.3.2 Labels or Instructions | Supports | Real labels on all inputs; instructions at third-grade reading level. |
| 4.1.1 Parsing | Supports | Valid, well-formed markup (criterion obsolete in WCAG 2.2; reported for 2.1 completeness). |
| 4.1.2 Name, Role, Value | Supports | All controls expose name/role/state, including toggle states (aria-pressed on mute, aria-expanded on popovers) and image-role status indicators with live labels. |
Table 2 — WCAG 2.1 Level AA
| Criterion | Conformance | Remarks |
|---|---|---|
| 1.2.4 Captions (Live) / 1.2.5 Audio Description | Not Applicable | No live or synchronized media. |
| 1.3.4 Orientation | Supports | Both orientations work; no lock. |
| 1.3.5 Identify Input Purpose | Supports | The only text field collects a made-up nickname (deliberately not autofilled — no personal data is collected by design). |
| 1.4.3 Contrast (Minimum) | Supports | 449 rendered samples measured; all text meets 4.5:1 (3:1 large). Brand hues have darker text-safe variants used wherever color carries words. Automated scans report zero contrast violations across all pages and states. |
| 1.4.4 Resize Text | Supports | Text scales to 200% without loss of content or function (verified via equivalent-viewport testing). |
| 1.4.5 Images of Text | Supports | UI text is real text. In-game pixel signage is either mirrored into DOM text or decorative. |
| 1.4.10 Reflow | Supports | No two-dimensional scrolling at 320 CSS px; chrome wraps. The island map itself pans with the player by design (excepted content: a two-dimensional world); every destination remains reachable as a DOM control. |
| 1.4.11 Non-text Contrast | Supports | Measured and corrected: focus indicators, progress rings, meter tracks, coins and status pips all ≥3:1 against adjacents. |
| 1.4.12 Text Spacing | Supports | Relative units and flexible containers; spot-checked with spacing overrides without clipping. |
| 1.4.13 Content on Hover or Focus | Supports | Popovers are click-invoked, persistent, and dismissible (Escape / outside click). |
| 2.4.5 Multiple Ways | Supports | Activities are reachable via the island, direct links, and the teacher guide's navigation. |
| 2.4.6 Headings and Labels | Supports | Descriptive throughout; verified hierarchy. |
| 2.4.7 Focus Visible | Supports | Owned focus style: 3px ink outline with a yellow halo, measured ≥3:1 on its grounds. |
| 3.1.2 Language of Parts | Supports | Single-language product. |
| 3.2.3 Consistent Navigation / 3.2.4 Consistent Identification | Supports | Same chrome, same controls, same names everywhere. |
| 3.3.3 Error Suggestion | Supports | Wrong answers show the correct answer; PIN errors say what to do. |
| 3.3.4 Error Prevention (Legal, Financial, Data) | Not Applicable | No such transactions. |
| 4.1.3 Status Messages | Supports | Polite live regions announce problems, feedback, round changes, wins, strikes/downs/hull changes, goal progress and captions without moving focus. |
Table 3 — Revised Section 508: Functional Performance Criteria (302)
| Criterion | Conformance | Remarks |
|---|---|---|
| 302.1 Without Vision | Partially Supports | Every page, flow, setting and the full math loop of all seven games is operable with a screen reader (problems, feedback and outcomes are announced). The games' real-time spatial presentation (dodging birds, watching defenders) is inherently visual; its outcomes are announced but its moment-to-moment play is not non-visually operable. The untimed practice paths provide the complete learning function non-visually. |
| 302.2 With Limited Vision | Supports | Measured contrast, 200% zoom, reflow, large targets, owned focus indicators. |
| 302.3 Without Perception of Color | Supports | Color is never the only signal (symbols, words, shapes throughout). |
| 302.4 Without Hearing | Supports | All speech is captioned (even while muted); every sound cue has a visual twin; nothing depends on audio. |
| 302.5 With Limited Hearing | Supports | As 302.4; audio is supplementary. |
| 302.6 Without Speech | Supports | No speech input anywhere. |
| 302.7 With Limited Manipulation | Supports | No gestures, no dragging, no simultaneous actions; full keyboard operation; large touch targets; per-student typing calibration removes motor speed from every scored judgment. |
| 302.8 With Limited Reach and Strength | Supports | Standard single-pointer/keyboard operation. |
| 302.9 With Limited Language, Cognitive, and Learning Abilities | Supports | Third-grade reading level, consistent layout, one-step instructions, gentle worded errors, no punished failure, progress never removed. |
Section 508 chapters 4–6
Chapter 4 (Hardware): Not Applicable — web software only. Chapter 5 (Software): the product is a web application evaluated against WCAG 2.1 per the 508 safe-harbor; interoperability with assistive technology is covered by Tables 1–2 (504.2 content creation is Not Applicable — the product authors no documents). Chapter 6 (Support documentation): the Teacher's Guide, the printable Game Designer packet and the accessibility statement are themselves conformant HTML (zero automated violations) and available at no additional charge.
Known limitations & roadmap
The two Partially Supports entries (essential timing; pointer-down answer keys) are deliberate, documented product decisions with mitigations, re-examined each release. The ambient-motion pause control (2.2.2) currently relies on the platform reduced-motion setting; an in-app "calm island" toggle is a candidate improvement. Feedback: justin@teachinge.org.
“Voluntary Product Accessibility Template” and “VPAT” are registered service marks of the Information Technology Industry Council (ITI). This report follows the VPAT 2.5 WCAG + 508 edition structure as a self-evaluation.