Eco Heroes← Trust Centre

Accessibility Conformance Report

Based on VPAT® Version 2.5 Rev — WCAG 2.2 edition. Product: Eco Heroes (public website, Learn Hub intranet, SDG Adventure game, Trivia, Games hub, Live quiz, teacher tools) at eco-heroes.org, all 13 languages.

Report date2026-10-11
Product versionOctober 2026 release (V41)
Contact[email protected]
AuthorEco Heroes International SL — self-attested; an independent audit is scheduled before the 2027 school year

Evaluation methods

Automated testing with axe-core 4.10.2 (rule sets wcag2a, wcag2aa, wcag21a, wcag21aa, wcag22aa) over 20 page renders: 2 languages × 1 viewports (1280 px), covering the public site, the Learn Hub and every teacher page with a demo school session. Result at the report date: 0 serious or critical violations; remaining advisory findings are "best-practice" rules (regions outside landmarks on decorative blocks, heading-level hints) that do not fail a WCAG success criterion. Scripted browser checks (Chromium): keyboard operation of sign-in, class set-up, the game start, a trivia round and the live quiz; 390 px reflow with no horizontal scrolling in every language; prefers-reduced-motion; RTL (Arabic). Assistive-technology testing with VoiceOver and NVDA is scheduled as part of the independent audit and is not claimed here.

Applicable standards

WCAG 2.2 Level A and AA. EN 301 549 clauses 9 (web) map to the same criteria. Level AAA criteria are not claimed.

Summary

47 Supports4 Partially supports0 Does not support4 Not applicable

WCAG 2.2 Report — Level A and AA

CriterionLevelConformanceRemarks and explanations
1.1.1 Non-text ContentASupportsImages carry alt text or are marked decorative; the SDG wheel is a labelled group; icon-only buttons have names. Automated: image-alt, button-name, link-name clean on all tested pages.
1.2.1 Audio-only and Video-only (Prerecorded)ANot ApplicableNo audio-only or video-only media.
1.2.2 Captions (Prerecorded)ASupportsAll 221 story episodes and the teacher tutorial ship WebVTT captions in the language of the episode.
1.2.3 Audio Description or Media Alternative (Prerecorded)ASupportsEach episode has a text alternative: the same script and scene cues are printed in the handbooks; the tutorial is mirrored in the written Getting-started guide.
1.2.4 Captions (Live)AANot ApplicableNo live media.
1.2.5 Audio Description (Prerecorded)AAPartially SupportsEpisode narration already describes what is on screen (narrated picture-book style); a separate described-audio track is not provided.
1.3.1 Info and RelationshipsASupportsSemantic headings, lists, tables with headers, form labels, landmarks (header/nav/main/footer) on every page; ARIA roles only where native semantics are insufficient (tablist, dialogs, live regions).
1.3.2 Meaningful SequenceASupportsDOM order matches reading order, including RTL layouts for Arabic.
1.3.3 Sensory CharacteristicsASupportsInstructions never rely on shape, colour or position alone; answer options carry letters A–D as well as colours.
1.3.4 OrientationAASupportsNo orientation lock.
1.3.5 Identify Input PurposeAASupportsAutocomplete tokens on name, e-mail, given-name fields.
1.4.1 Use of ColorASupportsLinks in text are underlined; quiz results use icons/text in addition to colour; heat strips carry titles with the numbers.
1.4.2 Audio ControlASupportsNo audio plays automatically; sound effects are opt-in and the player has native controls.
1.4.3 Contrast (Minimum)AASupportsAll text meets 4.5:1 (3:1 for large text) after the October 2026 review; verified by axe-core on 20 page renders.
1.4.4 Resize TextAASupportsZoom is never disabled; layouts reflow to 200%% zoom.
1.4.5 Images of TextAASupportsText is real text except logos.
1.4.10 ReflowAASupportsEvery page tested at 390 px wide without horizontal scrolling (intranet audit, 13 languages).
1.4.11 Non-text ContrastAASupportsControls and focus indicators meet 3:1.
1.4.12 Text SpacingAASupportsNo fixed-height text containers; spacing overrides do not clip content.
1.4.13 Content on Hover or FocusAASupportsTooltips are native title attributes or persistent; no hover-only content.
2.1.1 KeyboardASupportsAll functionality operable by keyboard, including the game map, quizzes, live quiz and dialogs. Scrollable tables are focusable.
2.1.2 No Keyboard TrapASupportsDialogs trap focus intentionally and release on Escape.
2.1.4 Character Key ShortcutsANot ApplicableNo single-character shortcuts.
2.2.1 Timing AdjustableAPartially SupportsThe live quiz has a 20-second answer window set by the teacher; the teacher can pause between questions and the rest of the platform has no time limits.
2.2.2 Pause, Stop, HideASupportsAnimations respect prefers-reduced-motion; no auto-updating content except the live quiz the user joined.
2.3.1 Three Flashes or Below ThresholdASupportsNo flashing content.
2.4.1 Bypass BlocksASupportsSkip link to main content on every page.
2.4.2 Page TitledASupportsUnique, descriptive titles in each language.
2.4.3 Focus OrderASupportsLogical focus order; dynamic content inserted in reading order.
2.4.4 Link Purpose (In Context)ASupportsLink text describes the destination; icon links have labels.
2.4.5 Multiple WaysAASupportsNavigation bar, hub tiles, sitemap and cross-links between sections.
2.4.6 Headings and LabelsAASupportsDescriptive headings in a consistent outline; form labels visible.
2.4.7 Focus VisibleAASupportsVisible focus ring on every interactive element (focus-visible styling).
2.4.11 Focus Not Obscured (Minimum)AAPartially SupportsSticky headers are short (≤ 60 px); scroll-margin on focus targets is applied on the intranet pages and is being extended to the public pages.
2.5.1 Pointer GesturesASupportsNo path-based or multipoint gestures required.
2.5.2 Pointer CancellationASupportsActions fire on click/up events.
2.5.3 Label in NameASupportsAccessible names contain the visible text.
2.5.4 Motion ActuationANot ApplicableNo motion-operated functions.
2.5.7 Dragging MovementsAASupportsNo drag-only interactions.
2.5.8 Target Size (Minimum)AASupportsInteractive targets are at least 24×24 CSS px with spacing; verified by axe target-size.
3.1.1 Language of PageASupportsValid BCP-47 lang on every page in 13 languages (Catalan: ca).
3.1.2 Language of PartsAAPartially SupportsProduct names and a few English references inside other locales are not yet marked with their own lang attribute.
3.2.1 On FocusASupportsNo context change on focus.
3.2.2 On InputASupportsLanguage selectors change the page language on explicit selection, announced by the page reload; no other automatic submissions.
3.2.3 Consistent NavigationAASupportsSame navigation bar and hub structure across sections.
3.2.4 Consistent IdentificationAASupportsSame icons and labels for the same functions.
3.2.6 Consistent HelpAASupportsContact & suggestions is available in the same place on every page.
3.3.1 Error IdentificationASupportsForm errors described in text next to the field and announced via aria-live.
3.3.2 Labels or InstructionsASupportsEvery field has a visible label; formats are explained (class code, PIN).
3.3.3 Error SuggestionAASupportsErrors say what to correct (e.g. "Type your name, 2+ letters").
3.3.4 Error Prevention (Legal, Financial, Data)AASupportsDestructive actions (remove pupil, delete class, end quiz) ask for confirmation; quotes are reviewed before submission.
3.3.7 Redundant EntryASupportsPreviously entered information (class code, nickname, language) is remembered within the session.
3.3.8 Accessible Authentication (Minimum)AASupportsSchool code, Google/Microsoft/district SSO and e-mail login — no cognitive function test; the bot check (Turnstile) is non-interactive.
4.1.2 Name, Role, ValueASupportsCustom controls expose name/role/state (tabs with aria-selected, menu button with aria-expanded, live regions).
4.1.3 Status MessagesAASupportsToasts, quiz feedback and form results use aria-live polite regions.

Known limitations and roadmap

Legal disclaimer

This report is a self-assessment made in good faith against WCAG 2.2 using the methods above. It will be updated with every significant release; the automated audit runs in the release pipeline so regressions are caught before deployment. Feedback: [email protected] — we answer within 5 business days.