Accessibility Conformance Report
Based on VPAT® Version 2.5Rev — WCAG Edition
EduFlip Accessibility Conformance Report
| Report Title | EduFlip Accessibility Conformance Report |
| VPAT® Version | 2.5Rev — WCAG Edition |
| Product Name / Version | EduFlip Platform v1.0 |
| Report Date | March 2026 |
| Product Description | EduFlip is a structured literacy and dyslexia intervention platform grounded in Orton-Gillingham (OG) methodology. It delivers explicit, systematic, cumulative phonics instruction through a web-based Progressive Web Application (PWA) designed for use by Certified Academic Language Therapists (CALTs), classroom practitioners, dyslexia clinics, school districts, and homeschool families. The platform includes learner-facing lesson activities, practitioner dashboards, progress monitoring reporting, and administrative management tools. |
| Contact Information | [email protected] |
| Notes | This report covers the EduFlip web application in its v1.0 release. EduFlip is designed for students with dyslexia and language-based learning differences; accessibility is a core design requirement, not a retrofit. This report will be updated with each major product release. Questions or concerns regarding accessibility should be directed to [email protected]. |
| Evaluation Methods Used |
Evaluation was conducted by the EduFlip development team in March 2026 using the following methods:
Testing covered WCAG 2.1 Level A and Level AA criteria. Level AAA criteria were not evaluated for this release. |
Applicable Standards/Guidelines
| Standard/Guideline | Included in Report |
|---|---|
| Web Content Accessibility Guidelines 2.0 | No |
| Web Content Accessibility Guidelines 2.1 | Yes |
| Web Content Accessibility Guidelines 2.2 | No |
Terms
The terms used in the Conformance Level information are defined as follows:
- 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. This can only be used in WCAG Level AAA criteria.
Table 1: Success Criteria, Level A
Criteria evaluated against WCAG 2.1.
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 1.1.1 Non-text Content | Supports | All images and SVGs use aria-hidden="true" for decorative content or descriptive alt text/aria-labels for meaningful content. Audio playback buttons have descriptive labels. |
| 1.2.1 Audio-only and Video-only (Prerecorded) | Not Applicable | The platform does not include prerecorded audio-only or video-only content. Audio assets are phonics pronunciation clips that serve as the primary instructional content. |
| 1.2.2 Captions (Prerecorded) | Not Applicable | No prerecorded video content is included in the platform. |
| 1.2.3 Audio Description or Media Alternative (Prerecorded) | Not Applicable | No prerecorded video content is included in the platform. |
| 1.2.5 Audio Description (Prerecorded) (2.1 and 2.2) | Not Applicable | No prerecorded video content is included in the platform. |
| 1.3.1 Info and Relationships | Supports | Semantic HTML structure used throughout: headings, lists, tables with thead/tbody/caption, forms with explicit label associations via for attribute, error messages linked via aria-describedby. |
| 1.3.2 Meaningful Sequence | Supports | DOM order matches visual reading order. Flexbox and grid layouts do not reverse logical sequence. Skip navigation link is the first focusable element. |
| 1.3.3 Sensory Characteristics | Supports | Instructions and status indicators use text labels alongside visual cues. Error states include text messages with role="alert", not color alone. |
| 1.3.4 Orientation (2.1 and 2.2) | Supports | Responsive design supports both portrait and landscape orientations. No orientation lock is enforced. |
| 1.4.1 Use of Color | Supports | Color is never the sole means of conveying information. Error states use text + color + aria-invalid. Status badges include text labels. Role indicators combine color with text. |
| 1.4.2 Audio Control | Supports | All audio playback requires explicit user interaction (click/tap). No auto-playing audio content. |
| 2.1.1 Keyboard | Supports | All interactive elements are keyboard accessible. Modals support Tab/Shift+Tab focus trapping with Escape to close. Dropdowns support Arrow keys and Escape. Tabs support Arrow keys, Home, and End. Audio buttons are keyboard-activated. |
| 2.1.2 No Keyboard Trap | Supports | Modal focus traps include Escape key exit that restores focus to the triggering element. All dropdowns can be dismissed via Escape. No keyboard traps exist. |
| 2.1.4 Character Key Shortcuts (2.1 and 2.2) | Not Applicable | No single-character keyboard shortcuts are implemented. |
| 2.2.1 Timing Adjustable | Supports | No timed content or auto-advancing content. Session lifetime is configurable and does not impose mandatory timeouts on content interaction. |
| 2.2.2 Pause, Stop, Hide | Not Applicable | No auto-updating, moving, blinking, or scrolling content. All transitions use motion-safe: prefix and respect prefers-reduced-motion. |
| 2.3.1 Three Flashes or Below Threshold | Supports | No flashing content. All transitions are subtle and brief. |
| 2.4.1 Bypass Blocks | Supports | Skip navigation link ("Skip to main content") is implemented in both application and marketing layouts. Visible on focus, targets #main-content. |
| 2.4.2 Page Titled | Supports | All pages have descriptive titles. Marketing pages use unique titles via slot. Application pages include tenant name. Admin pages include section context. |
| 2.4.3 Focus Order | Supports | Tab order follows logical reading sequence. Dynamic tabindex management (0 for active, -1 for inactive) in tab components. Modal focus trapped within dialog bounds. |
| 2.4.4 Link Purpose (In Context) | Supports | All links have descriptive text. No ambiguous "click here" links. Icon-only buttons use aria-label attributes. |
| 2.5.1 Pointer Gestures (2.1 and 2.2) | Supports | No multipoint or path-based gestures required. All interactions can be completed with simple clicks/taps. |
| 2.5.2 Pointer Cancellation (2.1 and 2.2) | Supports | Standard browser click/tap behavior used throughout. No custom pointer event handling that would prevent cancellation. |
| 2.5.3 Label in Name (2.1 and 2.2) | Supports | Accessible names match visible text labels for all interactive controls. |
| 2.5.4 Motion Actuation (2.1 and 2.2) | Not Applicable | No functionality is triggered by device motion or user motion. |
| 3.1.1 Language of Page | Supports | HTML lang attribute is set on all pages. Marketing layout uses lang="en". Application layout uses dynamic locale. |
| 3.2.1 On Focus | Supports | Receiving focus does not trigger context changes. Dropdowns open on click, not focus. No auto-navigation on focus. |
| 3.2.2 On Input | Supports | Form inputs do not auto-submit. User search uses 300ms debounce with expected, non-disruptive behavior. |
| 3.3.1 Error Identification | Supports | Form errors displayed with role="alert", aria-invalid="true" on the errored field, and error text linked via aria-describedby. |
| 3.3.2 Labels or Instructions | Supports | All form inputs have associated label elements. Help text linked via aria-describedby where applicable. |
| 4.1.2 Name, Role, Value | Supports | ARIA roles and states properly implemented: modals (role="dialog", aria-modal), tabs (role="tablist/tab/tabpanel", aria-selected, aria-controls), dropdowns (role="menu", aria-expanded), alerts (role="alert"/"status", aria-live), combobox (role="combobox", aria-expanded, aria-activedescendant). |
Table 2: Success Criteria, Level AA
Criteria evaluated against WCAG 2.1.
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 1.2.4 Captions (Live) | Not Applicable | The platform does not include live audio or video content. |
| 1.2.5 Audio Description (Prerecorded) | Not Applicable | No prerecorded video content is included in the platform. |
| 1.3.5 Identify Input Purpose (2.1 and 2.2) | Supports | Form inputs use appropriate autocomplete attributes: username, current-password, new-password, given-name, family-name. Semantic input types used throughout. |
| 1.4.3 Contrast (Minimum) | Supports | Accessible color palette with documented contrast ratios: primary text 13.9:1, muted text 7.0:1, links 6.6:1, error text 6.0:1, success text 4.8:1, warning text 5.9:1. All exceed WCAG AA 4.5:1 minimum for normal text. |
| 1.4.4 Resize Text | Supports | All text is rendered in scalable units. No fixed font sizes prevent browser zoom to 200%. Responsive typography scales with viewport. |
| 1.4.5 Images of Text | Supports | All text is rendered as semantic HTML. SVG elements use actual text elements or aria-labels. No text rendered as images. |
| 1.4.10 Reflow (2.1 and 2.2) | Supports | Responsive design with mobile-first approach. Content reflows at 320px viewport width without horizontal scrolling. Flexbox and grid layouts adapt to all viewport sizes. |
| 1.4.11 Non-text Contrast (2.1 and 2.2) | Supports | UI components meet 3:1 contrast minimum. Focus rings use indigo-500 (6.6:1 on white). Form input borders, buttons, and icons all meet contrast requirements. |
| 1.4.12 Text Spacing (2.1 and 2.2) | Supports | Layout uses flexible Tailwind spacing utilities. No fixed-height containers that would clip text when spacing is modified. Line heights are proportional. |
| 1.4.13 Content on Hover or Focus (2.1 and 2.2) | Supports | Dropdowns are dismissible via Escape key and click outside. Content on hover/focus is persistent and hoverable. No content disappears unexpectedly. |
| 2.4.5 Multiple Ways | Supports | Multiple navigation paths: primary navigation menu, footer links with categorized sections, breadcrumbs, direct links from related content, and search functionality. |
| 2.4.6 Headings and Labels | Supports | All headings are descriptive and meaningful. Form labels clearly identify their purpose. Section headings describe content accurately. |
| 2.4.7 Focus Visible | Supports | Visible focus indicators on all interactive elements: focus-visible:ring-2 with ring-offset-2. Marketing site uses teal-light ring color. Application uses indigo-500 ring color. Skip navigation link becomes visible on focus. |
| 3.1.2 Language of Parts | Supports | Page language properly declared via html lang attribute. No content in languages other than the declared page language. |
| 3.2.3 Consistent Navigation | Supports | Navigation is consistent across all pages within each application context (marketing, admin, tenant). Header, footer, and sidebar navigation maintain consistent position and order. |
| 3.2.4 Consistent Identification | Supports | Components with the same function use consistent labels and icons throughout. Button labels, navigation items, and action terminology are uniform. |
| 3.3.3 Error Suggestion | Supports | Form validation provides specific, descriptive error messages. Server-side validation returns helpful correction suggestions, not generic error text. |
| 3.3.4 Error Prevention (Legal, Financial, Data) | Supports | Billing actions are processed through PCI-compliant Stripe with its own confirmation flows. Administrative actions include confirmation dialogs. Soft-delete is used before permanent deletion. |
| 4.1.3 Status Messages (2.1 and 2.2) | Supports | Status messages use appropriate ARIA roles: role="alert" for errors and urgent notifications, role="status" with aria-live="polite" for informational messages and success confirmations. |
Table 3: Success Criteria, Level AAA
Level AAA criteria were not evaluated for this release. All entries are marked “Not Evaluated.”
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 1.2.6 Sign Language (Prerecorded) | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 1.2.7 Extended Audio Description (Prerecorded) | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 1.2.8 Media Alternative (Prerecorded) | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 1.2.9 Audio-only (Live) | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 1.3.6 Identify Purpose (2.1 and 2.2) | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 1.4.6 Contrast (Enhanced) | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 1.4.7 Low or No Background Audio | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 1.4.8 Visual Presentation | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 1.4.9 Images of Text (No Exception) | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 2.1.3 Keyboard (No Exception) | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 2.2.3 No Timing | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 2.2.4 Interruptions | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 2.2.5 Re-authenticating | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 2.2.6 Timeouts (2.1 and 2.2) | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 2.3.2 Three Flashes | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 2.3.3 Animation from Interactions (2.1 and 2.2) | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 2.4.8 Location | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 2.4.9 Link Purpose (Link Only) | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 2.4.10 Section Headings | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 2.5.5 Target Size (Enhanced) (2.1 and 2.2) | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 2.5.6 Concurrent Input Mechanisms (2.1 and 2.2) | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 3.1.3 Unusual Words | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 3.1.4 Abbreviations | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 3.1.5 Reading Level | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 3.1.6 Pronunciation | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 3.2.5 Change on Request | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 3.3.5 Help | Not Evaluated | Level AAA criteria were not evaluated for this release. |
| 3.3.6 Error Prevention (All) | Not Evaluated | Level AAA criteria were not evaluated for this release. |
Dyslexia-Specific Accessibility Features
In addition to WCAG 2.1 AA conformance, EduFlip implements the following accessibility features designed specifically for learners with dyslexia and language-based learning differences:
- OpenDyslexic font available as a user preference toggle
- Atkinson Hyperlegible font (designed for low-vision readability) as default marketing typography
- High-contrast color palette with all colors exceeding WCAG AA 4.5:1 contrast ratio
- Minimum 44x44px touch targets on all interactive elements (exceeds WCAG 2.5.8 minimum)
- All transitions respect prefers-reduced-motion system preference via motion-safe: utility
- Minimal cognitive load UI informed by VAKT (Visual-Auditory-Kinesthetic-Tactile) principles
- No auto-playing audio or video content
- Keyboard-navigable interfaces for all core flows
VPAT® is a registered service mark of the Information Technology Industry Council (ITI). This report will be updated with each major product release.
For accessibility questions or to report an accessibility issue, contact [email protected].
EduFlip, LLC · eduflip.org · March 2026