A Visual AI Solution for ADA Compliance
LaTeX, Markdown, and Keynote all produce inaccessible PDFs by default. This is how to fix that.
Every semester, I post lecture slides and problem sets as PDFs. And for years, like most faculty, I assumed that was good enough.
It isn’t. PDFs generated by LaTeX, Markdown, or Keynote are typically invisible to screen readers. They lack the document structure (tags, reading order, alt text, title metadata) that federal law and university policy now require. When I ran my files through our campus accessibility checker, almost all of them failed.
Campus IT doesn’t provide a tool for this. I went looking for one and couldn’t find anything faculty-facing and practical. So I built a workflow using AI, and I’m sharing it here.
What’s actually wrong with the PDFs we generate
The issue is both the content and its the structure. A PDF from LaTeX or Keynote is a garbled mess of a document from a screen reader’s perspective. It’s missing:
A tagged structure tree — the scaffold that lets screen readers navigate headings, paragraphs, and figures
Alternative text for images and equations — including plots, diagrams, and sketches
A declared reading order — so multi-column layouts aren’t read as gibberish
Document title metadata — a field campus checkers explicitly verify
A language declaration — required for assistive technology to interpret text correctly
The AI workflow remediates all of these automatically, including using vision AI to generate meaningful alt text for figures and equations.
Two ways to run it
Paid AI service
Simpler — runs within AI app
Works with Claude Pro, Gemini 2.5 Pro, ChatGPT Pro, or any AI with code execution. No software to install—the model runs Python for you.
Free AI service
Free — needs command line
Requires installing pikepdf via the command line, plus a few extra steps. This is what I use day-to-day, even with a paid subscription.
Does it actually work?
I’ve tested the output three ways: manual inspection of the PDF structure, asking the AI model to verify the accessibility properties, and running files through UC Irvine’s online campus accessibility checker. All tests pass.
But, see the disclaimer below. I can’t speak to every document type or every version of every tool. But for LaTeX problem sets and Keynote lecture slides, which make up the bulk of my course materials, this workflow has handled them reliably.
Why isn’t campus IT doing this?
That’s a fair question, and I don’t have a satisfying answer. The tooling exists. The need is obvious. Accessible course materials aren’t optional. They’re required. But in the meantime, this works.
If you try it, I’d genuinely like to hear how it goes, especially if you hit edge cases or find improvements.
Disclaimer
These tools are not guaranteed to produce fully compliant PDFs. Results vary by document and AI model. Always verify output using your institution’s official accessibility checker, and consult your campus disability services or IT accessibility office as needed.

