The template declared pdfstandard=ua-2 and loaded tagpdf with
\tagpdfsetup{activate-all}, which sets /Marked true and writes the
conformance claim but does not turn on the kernel code that tags
document structure. The result passed veraPDF's ua2 profile while its
structure tree held nothing but /Document: every paragraph of the
letter was marked as an artifact, so the checker had no untagged real
content to complain about, and both alt= descriptions were dropped on
the floor.
That is a worse failure than an outright invalid file. A letter that
announces itself as accessible and contains nothing readable is the
one a person relying on a screen reader will trust.
Adding tagging=on fixes it: the built letter now carries twenty tagged
paragraphs and a Figure element holding the signature's alt text, and
still passes ua2. The manual tagpdf lines are dropped since the kernel
loads it.
This requires TeX Live 2025 or later; on TeX Live 2024 the key is
unknown and the build stops. The README gains that requirement, an
Accessibility section, and a warning that a veraPDF pass is necessary
but not sufficient.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The Requirements section still described the XeTeX toolchain from
before the switch to lualatex in 2d28230.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add new_tex_uwletter script (moved from ~/bin) with bug fixes: set -e,
quoted variables, WORK_DIR instead of TMPDIR, existence check for
destination, and mktemp inside the conditional. Update README to fix
stale URLs, ShareLaTeX -> Overleaf, MacOSX -> macOS, typo in
Dasgupta's email, and add script usage section.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>