Oppia's mission is to provide free, effective education to under-resourced communities worldwide. This audit applies a mission lens to every finding: issues that are 'minor' on a commercial platform can be critical barriers when the user has limited bandwidth, limited device access, limited time online, and no alternative educational resource. Severity ratings throughout this report reflect this context.
Oppia has strong content quality, excellent onboarding guidance, and a coherent brand — but three systemic failures undermine the learning loop for everyone: progress is lost after every session even for logged-in users, the lesson player traps users with no visible exit, and every lesson load shows a blank screen that looks broken on slow connections.
Before using this interface at scale, fix progress persistence first: lesson progress is currently lost for all users at session end regardless of login status, which breaks Oppia's core learning continuity.
HIL auditor confirmed: progress fails to save for authenticated users, not only guests. The 0% progress ring never updates. Users who complete chapters return to find no record of their work. No warning is shown before leaving a lesson. No 'continue where you left off' path exists. For Oppia's target users with intermittent internet access, this removes the primary motivator to return and eliminates learning continuity.
| Sprint | Action |
|---|---|
| Immediate | Audit and fix authenticated user progress persistence pipeline |
| Immediate | Add 'Sign in to save progress' prompt at lesson start for guests |
| Sprint 1 | Add skeleton screen / branded spinner to lesson player loading state |
| Sprint 1 | Add visible 'Back to [Topic]' button in lesson player header |
| Sprint 1 | Fix Angular router to set meaningful initial page title |
| Sprint 1 | Add ARIA live region for SPA navigation announcements |
| Sprint 2 | Add 'Continue where you left off' widget on homepage and classrooms |
| Sprint 2 | Demote Android CTA to secondary on homepage hero |
| Sprint 2 | Standardize vocabulary across nav, headings, breadcrumbs, and URLs |
| Sprint 3 | Fix H1 heading hierarchy on all classroom pages |
| Sprint 3 | Persist cookie consent dismissal and add decline option |
| Sprint 3 | Run full axe-core accessibility scan — surface audit only covers visible issues |
Scope: 4 pages audited — homepage, Math classroom, Place Values topic, lesson player. Authenticated post-completion flows, error states, and mobile views not captured.
H11 Accessibility: Surface audit only — not a full WCAG 2.1/2.2 compliance test. Actual accessibility severity may be significantly higher. A dedicated axe-core or manual screen reader audit is strongly recommended.
H09 Error Recovery: Error states were not triggered during evidence capture. Error messaging quality rated with low confidence.
Progress loss: H06/H07 scores reflect unauthenticated evidence from the audit; HIL auditor confirmed authenticated users also lose progress. Scores may understate true severity.