DocAble — Examples
The goal is not to eliminate human judgment.
It is to move instructors and TAs from manual remediation to targeted review.
Loading sample provenance…
How does it work?
In building DocAble, we walked a tightrope. On the one hand, generative AI is the only known method for generating contextually-appropriate judgments — like crafting the right alt text for a particular figure in a particular paragraph. On the other hand, generative AI hallucinates, deviates from plan, and in general misbehaves. To pull off the balancing act, we put careful safeguards in place, and we give you full transparency over what was changed:
- Accessibility-first design. Every check we run is anchored in a published standard. WCAG 2.2 for the web-flavored rules; PDF/UA-1 for PDF structure; the Matterhorn Protocol's 136 numbered failure conditions for the subtler PDF/UA cases the other two leave under-specified. We also go beyond the standards where they fall short of practical reality — for example, automatically downsampling over-large images so files stay usable on weaker hardware like Chromebooks and phones. No published standard requires this, but bandwidth and rendering cost are real accessibility barriers, and we treat them that way.
- LLM-as-function-call architecture. We treat the language model as one component, not the source of truth. Each fix is a single, discrete proposal that we hand to a validator before it touches your file — using a mix of industry-standard checkers and our own proprietary validation tooling. Proposals that don't pass don't go in.
- Only additive changes. We add structure, alt text, and accessibility tags around what you've written; we don't rewrite, summarize, or remove your content. Content-fidelity checks bracket each pass — when one detects drift, the job stops rather than ships.
- Reading order that follows the page. A screen reader announces a document in the order its structure is tagged, not the order text happens to sit in the file — so a two-column paper read straight across the gutter is unusable even when every word is present. We tag a meaningful reading sequence (down one column, then the next; a figure with its caption) and validate it: our checks flag both backward page jumps and within-page column interleaving, so a scrambled order is caught rather than silently shipped.
- Page-by-page changelog. A page-by-page record of every fix we made, so you can see exactly what changed.
LibreOffice — OpenDocument slides, in the editor
OpenDocument Presentation (.odp) decks — the LibreOffice Impress
slide format — open in the same accessibility editor as PowerPoint, Word,
and PDF, so you can review and fix accessibility by hand. Download a sample deck
below, then
open the accessibility editor and drop the
.odp in: the editor reads every slide, flags images that are missing
alt text, and lets you add descriptions, mark decorative images, and set the deck
title and language — saved straight back to an accessible .odp.
Full one-click remediate upload for .odp is coming soon; today the
editor is the path. This is the slides-first ODF path; Writer (.odt)
and Calc (.ods) are on the roadmap.
-
Titled deck with a chart
A two-slide deck — a title slide plus a slide whose chart image has no alt text, so the editor surfaces a “missing alt text” fixable to describe.
Download
intro-deck.odpOpen in editor -
Photo slide
A single slide with an untagged photo — the core alt-text case: one image, one description to add before the deck is accessible.
Download
photo-slide.odpOpen in editor -
Section-divider deck
Two section slides sharing a purely-decorative divider image — the case for “mark decorative,” so a screen reader skips the ornament rather than announcing it.
Download
divider-deck.odpOpen in editor
LaTeX — from the command line
LaTeX documents are remediated at the source: DocAble reads your
Overleaf-style project, adds accessibility markup to the .tex files
(a document-language + PDF-tagging switch, caption-seeded figure alt text marked
for your review, table header-row declarations), and writes the project back out
with a machine-readable account of every change — so you re-compile an
accessible, tagged PDF from your own toolchain. This runs from the command line
today; the editable accessibility view is available for PowerPoint, Word, and PDF,
not LaTeX. See
the LaTeX section of our Help/FAQ
for how to run it and its current limits.
ada-tool latex-remediate my-project.zip my-project-accessible.zip
-
Beamer deck
A multi-frame slide deck — each frame is remediated as its own unit, with caption-seeded alt text on the figure.
Download
beamer-deck.tex -
Article / paper
A sectioned paper with a captioned figure and a booktabs table — alt-text seeding plus a header-row declaration.
Download
paper.tex -
Math-heavy note
Display and inline math — the tagging switch auto-loads the engine so math is tagged on a LuaLaTeX / TeX Live 2025+ build.
Download
math-heavy.tex
\documentclass{beamer}
\begin{frame}
\frametitle{Throughput Results}
\includegraphics{throughput-plot.png}
\end{frame}
\DocumentMetadata{lang=en-US, pdfstandard=ua-2, tagging=on}
\documentclass{beamer}
\begin{frame}
\frametitle{Throughput Results}
\includegraphics[alt={Throughput by configuration: baseline, tuned, and tuned+cache.}]{throughput-plot.png}
\end{frame}
Typst — from the command line
Typst documents are remediated at the source: DocAble reads your
Typst project, adds accessibility markup to the .typ files
(a document-language switch, caption-seeded figure alt text marked for
your review, table header-row flags), and writes the project back out
with a machine-readable account of every change — so you
recompile an accessible, tagged PDF from your own toolchain (Typst
tags its PDF output by default since v0.14, so no separate tagging
switch is needed). This runs from the command line only; the editable
accessibility view is available for PowerPoint, Word, PDF, and
OpenDocument, not Typst.
ada-tool typst-remediate my-project.zip my-project-accessible.zip
-
Report with a figure
A short report with a captioned figure — the caption seeds a review-flagged alt-text proposal on the figure.
Download
report.typ -
Results table
A benchmark table with no declared header row — flagged for your review, since which row is the header is an author decision.
Download
data-table.typ
= Throughput Results
#figure(
image("throughput-plot.png"),
caption: [Throughput by configuration: baseline, tuned, and tuned+cache.],
)
#set text(lang: "en")
= Throughput Results
#figure(
image("throughput-plot.png", alt: "Throughput by configuration: baseline, tuned, and tuned+cache."),
caption: [Throughput by configuration: baseline, tuned, and tuned+cache.],
)
To learn more about DocAble's support for standards compliance,