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).