Accessible EdTech Accelerator: Canvas accessibility at fifteen minutes a course
An audit and remediation toolkit for Canvas courses, built for Creighton's Heider College of Business. Scan, propose fixes with AI, approve, apply through the API, roll back if needed.
- Status
- in use
- Stack
- Python, Canvas API, Claude API, YouTube API
The problem
Accessibility remediation in a learning management system is mostly mechanical: alt text, heading structure, link text, table headers, captions on video. The standard tool fixes them one at a time in about an hour per course. Across a college’s worth of courses, that hour does not get spent, so the work does not get done.
The constraint
The toolkit had to work through the Canvas API on real course content without breaking anything, leave the judgment calls to a person, and be usable by a colleague who does not want to remember command-line flags.
What I built
A scanner that walks a course’s pages, assignments, quizzes, discussions and announcements, matches the coverage of the standard checker, then goes further with AI-assisted quality checks. It also scans linked PowerPoint and PDF files and checks whether YouTube videos have usable captions. The output is a readable HTML report mapped to the university’s own accessibility framework.
Remediation is a separate, deliberate pass: generate a fix plan with proposed changes, review and approve it, apply it through the API with a backup taken first, and roll back from that backup if something looks wrong. Bulk fixes take about fifteen minutes instead of an hour.
A launcher script checks the environment, tests both API keys, and offers a numbered menu, so the person running it does not need to know Python.
What it cost or taught
Splitting audit from remediation was the whole design. An audit you can run on any course, at any time, with no risk, gets run. A tool that changes things gets run once, carefully, with a backup.