WCAG 2.2 Level AA

Voluntary Product Accessibility Template (VPAT)

Version 2.5 — WCAG 2.2 Level AA Conformance Report

Product Name
Cocovox Learning Platform
Report Date
2026-03-23
Contact
Corey Preston, Accessibility Coordinator — accessibility@cocovox.ai
Applicable Standards
WCAG 2.2 Level AA, Section 508 (2017), EN 301 549 (2021)
Evaluation Methods
Manual testing, axe-core automated scanning, assistive technology testing (NVDA, VoiceOver), E2E test suites

Terms

Supports
The functionality of the product has at least one method that meets the criterion without known defects or meets with equivalent facilitation.
Partially Supports
Some functionality of the product does not meet the criterion.
Does Not Support
The majority of product functionality does not meet the criterion.
Not Applicable
The criterion is not relevant to the product.
Not Evaluated
The product has not been evaluated against the criterion.

Table 1: Success Criteria, Level A

CriteriaLevelRemarks
1.1.1 Non-text ContentSupportsAll images include alt text. Interactive controls use aria-label or aria-labelledby. ARASAAC symbol support for AAC users.
1.2.1 Audio-only and Video-onlySupportsVoice sessions provide real-time transcripts. Transcript visibility is user-configurable.
1.2.2 Captions (Prerecorded)Partially SupportsCaptions toggleable (default: on). Lecture recordings include auto-generated transcripts. User-generated video may not have captions.
1.2.3 Audio Description or Media AlternativePartially SupportsText alternatives for instructional content. Some animation content lacks audio descriptions.
1.3.1 Info and RelationshipsSupportsSemantic HTML throughout. Heading hierarchy maintained. Form labels with for attributes. ARIA roles on interactive widgets.
1.3.2 Meaningful SequenceSupportsDOM order follows visual reading order.
1.3.3 Sensory CharacteristicsSupportsInstructions do not rely solely on sensory characteristics. Error states use text + color + icon.
1.4.1 Use of ColorSupportsColor is never the sole indicator. Color-blind modes available (protanopia, deuteranopia, tritanopia, achromatopsia).
1.4.2 Audio ControlSupportsVoice mode audio is user-initiated. No auto-playing audio. TTS volume and speed configurable.
2.1.1 KeyboardSupportsAll interactive functionality operable via keyboard. Skip link, focus management, command palette (Ctrl+K).
2.1.2 No Keyboard TrapSupportsModal dialogs have Escape key exit. All focus traps have documented exit mechanisms.
2.1.4 Character Key ShortcutsSupportsSingle-character shortcuts limited. Command palette uses multi-key activation.
2.2.1 Timing AdjustableSupportsToast duration configurable. Error toasts never auto-dismiss. Timing multiplier for motor impairments.
2.2.2 Pause, Stop, HideSupportsAnimations respect prefers-reduced-motion. Animation controls in accessibility settings.
2.3.1 Three Flashes or BelowSupportsNo content flashes more than three times per second.
2.4.1 Bypass BlocksSupportsSkip link component with 44px minimum touch target, visible on keyboard focus.
2.4.2 Page TitledSupportsSvelteKit route system provides contextual page titles.
2.4.3 Focus OrderSupportsTab order follows logical document flow.
2.4.4 Link Purpose (In Context)SupportsLinks describe their destination. Navigation items use descriptive labels.
2.5.1 Pointer GesturesSupportsAll gestures have single pointer alternatives. Pull-to-refresh has button alternative.
2.5.2 Pointer CancellationSupportsActions use up-event. No down-event-only actions.
2.5.3 Label in NameSupportsVisible labels match accessible names.
2.5.4 Motion ActuationSupportsNo functionality requires device motion.
3.1.1 Language of PageSupportshtml lang="en" declared. Language updated for multilingual content.
3.2.1 On FocusSupportsNo context changes occur on focus.
3.2.2 On InputSupportsForm submissions require explicit user action.
3.3.1 Error IdentificationSupportsErrors announced via role="alert" with aria-live. Field-level error messages provided.
3.3.2 Labels or InstructionsSupportsAll form fields have labels. Required fields indicated. Input format hints provided.
4.1.1 ParsingSupportsSvelteKit generates valid HTML. No duplicate IDs.
4.1.2 Name, Role, ValueSupportsARIA roles, states, and properties used correctly. Dynamic states updated programmatically.

Table 2: Success Criteria, Level AA

CriteriaLevelRemarks
1.2.4 Captions (Live)Partially SupportsReal-time text transcript for AI speech. Live captions for peer interactions not yet implemented.
1.2.5 Audio DescriptionPartially SupportsText alternatives for instructional content. No dedicated audio description track for animations.
1.3.4 OrientationSupportsContent not restricted to portrait or landscape.
1.3.5 Identify Input PurposeSupportsAppropriate autocomplete attributes for name, email, and address fields.
1.4.3 Contrast (Minimum)Partially SupportsThe Modern theme has known contrast issues: some interface elements fall below 4.5:1. Other themes are available in Settings, but no theme has yet passed a complete rendered contrast audit; see Known Limitations. Contrast validation utility in codebase.
1.4.4 Resize TextSupportsText resizable up to 200%. Font size scale 0.8x to 2.0x. Large text mode available.
1.4.5 Images of TextSupportsReal text used instead of images of text throughout.
1.4.10 ReflowSupportsContent reflows to single column at 320px. No horizontal scrolling at 400% zoom.
1.4.11 Non-text ContrastSupportsUI components meet 3:1 contrast. Focus indicators use 3px gold outline in high-contrast theme.
1.4.12 Text SpacingSupportsContent functions with overridden text spacing. Letter and word spacing controls available.
1.4.13 Content on Hover or FocusSupportsTooltips are dismissible (Escape), hoverable, and persistent.
2.4.5 Multiple WaysSupportsSidebar navigation, bottom tab bar, command palette, and search functionality.
2.4.6 Headings and LabelsSupportsHeadings describe topic. Labels describe input purpose.
2.4.7 Focus VisibleSupportsAll interactive elements show visible focus indicators.
2.4.11 Focus Not ObscuredSupportsFocused elements not covered by author-created content.
2.5.7 Dragging MovementsSupportsAll drag operations have single-pointer alternatives.
2.5.8 Target Size (Minimum)Supports24x24px minimum. Touch targets at 44px. High-contrast theme sets 48px.
3.1.2 Language of PartsSupportsLanguage attributes for content in different languages.
3.2.3 Consistent NavigationSupportsNavigation menus appear in consistent locations across all routes.
3.2.4 Consistent IdentificationSupportsSame functionality uses consistent labels and icons.
3.3.3 Error SuggestionSupportsForm validation provides specific correction suggestions.
3.3.4 Error PreventionSupportsAccount deletion requires 2-stage confirmation with 30-day grace period.
3.3.7 Redundant EntrySupportsPreviously entered information auto-populated.
3.3.8 Accessible AuthenticationSupportsPassword manager compatible. QR login for pre-literate users. No CAPTCHA.
4.1.3 Status MessagesSupportsStatus announced via aria-live regions. Toasts use role="status" or role="alert".

Assistive Technology Support

TechnologySupport LevelNotes
NVDA (Windows)TestedScreen reader navigation, ARIA landmarks, live regions
JAWS (Windows)CompatibleStandard ARIA implementation
VoiceOver (macOS/iOS)TestedMobile and desktop support
Switch AccessInfrastructureInput method supports switch mode with timing multiplier
Eye GazeInfrastructureInput method supports eyegaze mode

Additional Accessibility Features

OpenDyslexic Font

Toggleable dyslexia-friendly font with letter/word spacing controls

Lexend Font

Alternative readability-optimized font option

Reading Guide Overlay

Colored underline guide for reading assistance

Color Blind Modes

Protanopia, deuteranopia, tritanopia, achromatopsia CSS filters

13 Theme Variants

Including high-contrast, dark mode, and multiple color schemes

AAC Symbol Support

ARASAAC integration for pre-literate and non-verbal users

Simplified Language

Reduces cognitive complexity of interface text

Extended Time

Configurable timing multiplier for motor impairments

Voice-First Input

Primary interaction via speech removes reading/typing barriers

QR Login

Pre-literate authentication without text entry

50+ Preference Fields

Granular accessibility customization stored per user

Known Limitations

  1. Modern theme contrast: Some interface elements in the Modern theme do not meet the 4.5:1 minimum contrast ratio. Contrast problems have also been found outside the Modern theme, and no theme has yet passed a complete rendered contrast audit, so changing theme may not fix one. Please report any you find to the address under Feedback and Contact.
  2. Live captions for peer interactions: Real-time captions available for AI-generated speech but not yet for student-to-student voice interactions.
  3. Audio descriptions for animations: Procedurally generated celebration animations do not have dedicated audio description tracks. Animations can be disabled via prefers-reduced-motion.
  4. Third-party content: User-uploaded images may lack alt text. The system prompts for alt text but does not enforce it.
  5. PDF export accessibility: IEP export PDFs are generated server-side and may not be fully tagged for screen reader navigation.

Testing Methodology

Automated Testing

  • axe-core integration in E2E test suite (WCAG 2A/2AA violation scanning)
  • Contrast validation utility with WCAG luminance calculations
  • 7+ accessibility-specific E2E test suites

Manual Testing

  • Keyboard-only navigation across all major user flows
  • Screen reader testing with NVDA and VoiceOver
  • High-contrast mode visual verification
  • Touch target size validation

Assistive Technology

  • NVDA + Chrome (Windows)
  • VoiceOver + Safari (macOS/iOS)
  • Keyboard-only navigation (all browsers)

Feedback and Contact

Users who encounter accessibility barriers are encouraged to contact:

We aim to respond to accessibility feedback within 5 business days and to implement fixes for critical barriers within 30 days.

This VPAT was prepared based on evaluation of the Cocovox Learning Platform as of 2026-03-23. Accessibility conformance is an ongoing effort and this document will be updated as the product evolves.

← Back to Accessibility Statement

The patient tutor every kid deserves.