Remediating a real course module to WCAG 2.1 AA

A real, openly licensed university course unit was audited against WCAG 2.1 AA with automated and manual methods, rebuilt as accessible HTML, and documented with a criterion-by-criterion conformance report, before/after evidence, a catalog-scale prioritization model, and a faculty prevention guide. Prepared as the pilot for Lakeside State University, a fictional US public university preparing for ADA Title II digital accessibility compliance.

Evaluation status. Automated accessibility testing and agent-based design reviews are complete. AI-simulated learner and review-panel evaluations are pending. No real learners have tested this yet. See evaluation/METHODS.

Before and after

Before — the original 2011–2012 MIT OCW unit page (still viewable: open the original unit page): no landmarks, two h1s per page (the site logo image first, then the page topic buried after the sidebar’s 15 third-level headings), an unlabeled search field, a skip link keyboard users cannot reach, and a video behind a Flash-era popup with no captions or transcript.
Screenshot of the original 2012 MIT OpenCourseWare unit page: dense three-column layout with a long sidebar of course links, a search box, and the session content on the right.
After — the remediated module: landmarks, a single content h1 per page, a keyboard-reachable skip link, a labeled navigation, a readable palette, and every content type rebuilt accessibly (screenshots and raw tool exports in audit/).
Screenshot of the remediated module overview page: a clean single-column layout with a heading, module navigation, an accessible data table of module contents, and a clearly labeled footer.

The module

The subject is Unit 1 (“Introduction”) of 9.00SC Introduction to Psychology, Fall 2011 by Prof. John Gabrieli, published by MIT OpenCourseWare under CC BY-NC-SA 3.0 US (license verified on the retrieved page; see attribution). One week of real content in every format the plan calls for:

The problems are real — nothing here was staged: the original page’s video is a Flash-era popup with no captions and no transcript; the slide PDF’s figure alt text is export junk (“Text Box:”, “scan569.jpg”); the exam PDF’s brain diagram has no text alternative; and the fixed-width layout cannot reflow to a 320 px screen.

Findings

33 issues logged across the original module (issue-log.csv, issue-log.md):

Issues by severity, with the audit method that caught them
SeverityCountExamplesCaught by
Critical3No captions for the lecture video; no audio description for an inherently visual lecture; unlabeled search field on every pageScripted media check; markup inspection; axe (label)
High10Duplicate logo-first h1 on every page (topic heading buried after 15 sidebar h3s); unreachable skip link; fixed-width layout fails 320 px reflow; slide figures with junk alt; exam diagram with no text alternativeDOM inspection; scripted reflow; PDF tag-tree inspection
Medium14No landmarks; heading-order skips; identical download-link names; popup opens without moving focus; undersized touch targets (WCAG 2.2 best practice)axe; pa11y; Lighthouse; scripted keyboard tests
Low6Typo’d hhttp:// link; deprecated table summary; white-on-white image-replacement textScripted link inventory; contrast measurement

Automated tool results, before: axe-core 4.11.1 found 13 violations across the three pages (3 critical, 1 serious, 9 moderate); Lighthouse 13.0.1 scored accessibility 77 / 81 / 79 with 24–35 undersized touch targets per page; pa11y 9.0.0 added broken in-page anchors (href="#?w=535") and the unlabeled search field. Automated tools caught only part of the picture — most logged issues (captions, heading meaning, link purpose, PDF structure) required the scripted manual pass and file inspection. Raw exports: audit/automated-results/.

Fixes

Every content type, rebuilt accessibly — each fix traces to an issue ID in the log
Content typeOriginalRemediatedIssues fixed
VideoFlash-era popup, no captions, no transcript, identically-named download linksVideo page: standard <video> with a captions track built from the publisher’s official transcript, chapter buttons, text description of the visuals, and a full transcriptI-01–I-09
Slides54-page image-heavy PDF, junk alt text, chart data invisible to text readersHTML deck: one section per slide, real text, figure descriptions, speaker notes, and chart data as tablesI-24–I-26
Reading10-page PDF; references textbook-only tablesSemantic HTML lesson with a self-contained summary table built from the outline’s own textI-27, I-28, I-31
QuizPDF exams, not fillable or navigable as a quizAccessible quiz: fieldset/legend, labels, arrow-key radio groups, live-region feedback, no time limitI-30
Page structureNo landmarks; logo-h1; unreachable skip link; unlabeled search; fixed widthLandmarks, one content h1 per page, working skip link, labeled controls, fluid layout with a tested palette (every pair ≥ 4.5:1)I-10–I-23

Evidence — and what it can and cannot show

What was measured

What this evidence cannot show

Methods, labels, and authorship

All methods, tools, versions, and dates are documented in audit/methodology.md and evaluation/METHODS. Every automated or scripted result is labeled as agent-produced. The site, the remediated module, the caption timing alignment, and the written materials were produced with AI assistance as part of a portfolio build; the underlying course content is MIT OpenCourseWare’s, and every claim above is reproducible from the repository.

Demo video (scripted keyboard navigation)

What this video is: a scripted keyboard navigation demo of the remediated module, recorded automatically. It is not a screen reader demonstration — VoiceOver automation is unavailable on macOS 27 (see limitations), and no screen reader results are claimed anywhere in this repository. The captions and the transcript describe the scripted steps.

Scripted keyboard navigation demo (automated). Captions describe the scripted steps. A full transcript is on the transcript page.

Scaling to 300 courses

One module proves the craft; the program view makes it survivable at catalog scale:

Regulatory anchor, verified 2026-10-25: the DOJ’s ADA Title II rule requires WCAG 2.1 AA for state and local government web content and mobile apps; the deadline for large covered public entities, originally April 24, 2026, was extended on April 20, 2026 to April 26, 2027, with requirements unchanged and limited exceptions (including archived web content). Sources: Purdue Innovative Learning, CSU Stanislaus.

License and attribution

Repository documents

Rendered on this site where possible; the full Markdown sources are in the repository.