Add accessible digital booklet output #7

Merged
clawlter merged 10 commits from audit/pdf-accessibility-baseline into main 2026-07-13 07:40:01 -04:00
Owner

Summary

  • tag the digital pages PDF with language, headings, metadata, and neutral image alternatives
  • make every printed QR destination clickable in the digital PDF
  • add behavior-focused qpdf, pdfinfo, and pdftotext checks and document the digital-vs-print accessibility policy
  • use reviewed, content-addressed headshots and QR images so ordinary generation and CI are deterministic and offline
  • record reviewed media provenance in data/media-manifest.json and provide an explicit refresh workflow

Verification

  • make test (18 passed; accessibility suite skips until the PDF is built)
  • make clean && make build
  • make check-accessibility (5 passed)
  • qpdf --check build/booklet-pages.pdf
  • qpdf --check build/booklet-print.pdf
  • git lfs fsck
  • Forgejo Booklet CI on the current PR head

The accessible digital pages PDF remains the maintained reading copy. The imposed print PDF remains intentionally untagged because its two-up folding order is not a linear reading order. Ordinary generation now resolves all candidate media from reviewed local inputs; network access occurs only through the explicit make refresh-media maintainer workflow.

## Summary - tag the digital pages PDF with language, headings, metadata, and neutral image alternatives - make every printed QR destination clickable in the digital PDF - add behavior-focused `qpdf`, `pdfinfo`, and `pdftotext` checks and document the digital-vs-print accessibility policy - use reviewed, content-addressed headshots and QR images so ordinary generation and CI are deterministic and offline - record reviewed media provenance in `data/media-manifest.json` and provide an explicit refresh workflow ## Verification - `make test` (18 passed; accessibility suite skips until the PDF is built) - `make clean && make build` - `make check-accessibility` (5 passed) - `qpdf --check build/booklet-pages.pdf` - `qpdf --check build/booklet-print.pdf` - `git lfs fsck` - Forgejo Booklet CI on the current PR head The accessible digital pages PDF remains the maintained reading copy. The imposed print PDF remains intentionally untagged because its two-up folding order is not a linear reading order. Ordinary generation now resolves all candidate media from reviewed local inputs; network access occurs only through the explicit `make refresh-media` maintainer workflow.
feat: add accessible digital booklet output
Some checks failed
Booklet CI / Validate and build booklet PDFs (pull_request) Failing after 11m39s
82dcfacffd
fix: scope PDF heading semantics
Some checks failed
Booklet CI / Validate and build booklet PDFs (pull_request) Failing after 9m24s
4d41707c4f
fix(booklet): pin reviewed media inputs
All checks were successful
Booklet CI / Validate and build booklet PDFs (pull_request) Successful in 8m1s
e97e8a1d2b
fix(booklet): refresh media from source bytes
All checks were successful
Booklet CI / Validate and build booklet PDFs (pull_request) Successful in 7m55s
2546bc85af
fix(booklet): persist fetched QR provenance
All checks were successful
Booklet CI / Validate and build booklet PDFs (pull_request) Successful in 18m27s
44fddd79a8
merge: add deterministic media inputs to accessible PDF
Some checks failed
Booklet CI / Validate and build booklet PDFs (pull_request) Failing after 12m32s
b4e671d473
ci: build accessible PDF with TeX Live 2026
Some checks failed
Booklet CI / Validate and build booklet PDFs (pull_request) Has been cancelled
3231421bf6
ci: install only required TeX packages
Some checks failed
Booklet CI / Validate and build booklet PDFs (pull_request) Failing after 28m28s
db1b2c3f23
ci: use current PDF management package
All checks were successful
Booklet CI / Validate and build booklet PDFs (pull_request) Successful in 13m0s
Booklet CI / Validate and build booklet PDFs (push) Successful in 6m8s
aab6f0b19b
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
clawlter/chamblee-2026-booklet!7
No description provided.