Reference

FAQ

Scope, limits, and where booklens fits next to the tools you already use.

Questions

Does my book leave my machine?

No. The CLI and the library have no network code, and the browser playground unzips and parses everything locally. Nothing is uploaded and no request is made.

What exactly gets fixed?

Missing dc:language, dc:title, and the five schema:* accessibility metas; missing lang / xml:lang; missing alt attributes as logged TODO placeholders; and navigation landmarks, page-lists, or a whole navigation document (with its manifest entry).

Why are some rules reported but not fixed?

Because a repair needs judgement. Guessing a heading level or a link label can silently corrupt a book, so booklens reports those and leaves the decision to a human.

Can it run in CI and fail a pull request?

Yes. audit exits 1 on any finding at or above the threshold and can emit SARIF 2.1.0 for GitHub code scanning. --fail-on controls the threshold.

What do the exit codes mean?

0 for success with no findings at or above --fail-on; 1 for findings at or above the threshold or invalid arguments; and 2 when the input could not be read or is not a valid EPUB.

Does it handle other file formats?

No. booklens is EPUB only. Office, ODF, and SVG formats are covered by sibling tools in the suite, linked in the footer.

Limitations

Repair with judgement left in

booklens handles EPUB only. It fixes metadata, language, alt placeholders, and navigation. It does not repair layout or reading order, and it does not invent alt text: it writes alt="TODO: describe image" and logs each change for a human to replace.

  • It does not reconstruct reading order or layout.
  • It does not generate alt text; placeholders are logged, not guessed.
  • It does not handle other formats. The rest of the suite covers DOCX/PPTX (officelens), ODF (odflens), and standalone SVG (iconlens).

How it compares

DAISY ACE
Reports on EPUB Accessibility 1.1 and WCAG 2.x and produces a human-readable report. It audits but does not write a corrected book. github.com/daisy/ace
EPUBCheck
Validates EPUB conformance. It says whether a book is valid, not whether it is accessible, and it does not repair it. github.com/w3c/epubcheck
Access-Aide
A Sigil GUI plugin that repairs content. It is not scriptable, cannot run in CI, and pauses for manual alt-text entry. github.com/kevinhendricks/Access-Aide
EPUB Accessibility 1.1
Defines the metadata and WCAG conformance requirements an accessible EPUB must meet, but ships no implementation you can run in CI. w3.org/TR/epub-a11y-11