diff --git a/README b/README index 1c74874..97d8280 100644 --- a/README +++ b/README @@ -18,10 +18,10 @@ Requirements ============= Because this document uses OpenType and TrueType fonts and produces -tagged, accessible PDF/UA-2 output, it requires LuaLaTeX rather than -standard LaTeX. It is supported by Overleaf (https://overleaf.com/) -although it is not the default. More details on LuaTeX are available -here: https://www.luatex.org/ +tagged, accessible PDF/UA-2 output, it requires LuaLaTeX +(https://www.luatex.org/) (not XeLaTeX or PDFLaTeX). LuaLaTeX is +supported by Overleaf (https://overleaf.com/) although it is not the +default. On Debian or Ubuntu, install the following packages: @@ -33,16 +33,13 @@ On Debian or Ubuntu, install the following packages: apt install latexmk texlive-luatex texlive-latex-recommended \ texlive-latex-extra -On other systems, installing a full TeX Live distribution should -provide everything needed. +On other systems, installing a full TeX Live distribution should provide +everything needed. The tagging code requires TeX Live 2025 or later. On +Overleaf, set the version under Menu > Settings > TeX Live version. TeX +Live 2025 is not in Debian Trixie, but it can be installed from sid +(unstable) without pulling in too many other packages. -TeX Live 2025 or later is required. The tagging code is not in TeX -Live 2024, where the build stops with "the key -'document/metadata/tagging' is unknown". Debian trixie ships TeX Live -2024. On Overleaf, set the version under Menu > Settings > TeX Live -version; it is not always high enough by default on an older project. - -The two required fonts Matrix-II and OpenSans are both included in +The two required fonts, Matrix-II and OpenSans, are both included in this repository, so no additional font packages are needed. @@ -53,28 +50,28 @@ The letter is a tagged PDF declaring PDF/UA-2 (ISO 14289-2). Two keys in the \DocumentMetadata block at the top of the .tex file do this, and both are needed: tagging=on loads the kernel code that puts the text into the PDF's structure tree, and pdfstandard=ua-2 writes the -conformance claim. The claim without the tagging produces a letter -that passes a conformance checker while containing nothing a screen -reader can read, so keep them together. +conformance claim. -Check a built letter with veraPDF (https://verapdf.org/, not packaged -in Debian): +You can check a built letter with veraPDF (https://verapdf.org/): verapdf -f ua2 washington_letterhead_letter-matrix-deptartment.pdf Note that a PASS is necessary but not sufficient. A letter whose body text is all marked as artifact passes too, because the standard only -requires that content which is not real be an artifact. Confirm there -is something in the structure tree as well: +requires that content which is not real be an artifact. + +You can confirm there is something in the structure tree as well: python3 -c "import pikepdf,sys; d=pikepdf.open(sys.argv[1]); \ print(d.Root.get('/StructTreeRoot') and 'tagged' or 'UNTAGGED')" file.pdf The signature image carries an alt= description, which is what a screen reader announces in place of it. Keep that in place if you -swap in your own signature. The letterhead graphic in the page header -is treated as an artifact, like other running header content, so it -is skipped rather than described. +swap in your own signature. + +The letterhead graphic in the page header is treated as an artifact, +like other running header content, so it is skipped rather than +described. Encrypted signature files diff --git a/washington_letterhead_letter-matrix-deptartment.tex b/washington_letterhead_letter-matrix-deptartment.tex index c57002a..c96c89c 100644 --- a/washington_letterhead_letter-matrix-deptartment.tex +++ b/washington_letterhead_letter-matrix-deptartment.tex @@ -1,13 +1,4 @@ % Tagged PDF (PDF/UA-2) accessibility setup. -% -% tagging=on is what actually builds the structure tree: it loads the -% kernel code that tags paragraphs, headings, and figures. Declaring -% pdfstandard=ua-2 on its own only writes the claim into the metadata. -% Without tagging=on this letter validated as PDF/UA-2 while its -% structure tree held nothing but /Document, its body text was marked -% as artifact, and the alt= descriptions below were silently dropped: -% a file that passes the checker and is unreadable to a screen reader. -% Needs TeX Live 2025 or later. \DocumentMetadata{ tagging=on, pdfversion=2.0,