Skip to main content
Updated to 2025
Source Link
Ulrike Fischer
  • 352.6k
  • 22
  • 553
  • 1.1k

Link to the main entry page of the Tagged PDF project: https://latex3.github.io/tagging-project/

Accessibility requires a number of settings in the PDF. Some of them are rather easy to implement (e.g. that a title and the language should be set) other are more difficult. The most difficult part is the requirement that the PDF should be "tagged", this means that it contains structure informationsinformation.

The current state ofmain entry page to the project is that paragraphs and links can be tagged automatically. This requires a current LaTeX, a current pdfmanagement-testphase and the current version of the experimental research package tagpdf (and currently still lualatex):

%this is outdated code! See below for a newer version \RequirePackage{pdfmanagement-testphase} \DeclareDocumentMetadata{uncompress,pdfversion=2.0} \documentclass{book} \usepackage{tagpdf} \tagpdfsetup{activate,paratagging,interwordspace} \usepackage{hyperref,lipsum} \begin{document} Tagged project: \url{https://www.latex-project.org/news/2020/11/30/tagged-pdf-FS-study/} \lipsum[1-4] \end{document} 

The structure of the PDF (compile twice) can be inspected at https://ngpdf.com.

Other structure elements can be tagged too, but this has to be done manually (or by patching commands)https://latex3.github.io/tagging-project/. The next task will be to add automatic tagging to basic structures like sections There is also a prototype example and lists.

The coming TUG conference will have a few talks about the progress of the project https://www.tug.org/tug2021/index.html

Update April 2023

with the latest latex-dev release more tagging related test code has been released https://www.latex-project.org/news/2023/03/13/latex-dev-1/. So now this here can be tagged

\DocumentMetadata{testphase=phase-III,testphase=math} \documentclass{article} \begin{document} \tableofcontents \section{section} \subsection{Subsection}% some text with a \footnote{a footnote} \begin{enumerate} \item a list \begin{itemize} \item more list \end{itemize} \end{enumerate} \begin{verbatim} some verbatim some verbatim \end{verbatim} inline math $a=b$ display math \begin{equation} x=y \end{equation} \end{document} 

The tagginglist of graphics is under development (there is already branch in the github),compatible packages and floats are handled soon too. With the june release it should be possible to tag most standard commandsclasses.

Update February 2024

With the newest LaTeX release in june and november 2023 support for graphics, floats and support for basic tables has been added. The newestIn a current LaTeX-dev in february 2024 corrected various issues and added support for marginpar (thatas time of writing/editing this is loaded automatically in phase2025-III), for \maketitle (this must currently be loaded explicitly as title module). The math module has been reworked and extended and now contains code to attach semi06-automatically mathml representations of equations. It now also handles the amsmath \text command (but some other commands which internally use \mathchoice are still open and can led to faulty structures). Some examples that has been tagged with the new code are at https://github.com/latex3/tagging-project/discussions/56.

In summary that means that (with the exception of the tabbing environment01) almost everything described in the Leslie Lamport manual can now be tagged.

Documentations about the various modules can be found with texdoc -l latex-lab. They describe options but also restrictions and open problems.

We created a special repository for issues, discussions and feedback: https://github.com/latex3/tagging-project

Update August 2025

Now nearly allmost standard document elements are tagged automatically. For For math it is recommended to use lualatex and unicode-math.

For online testing you can use

Link to the main entry page of the Tagged PDF project: https://latex3.github.io/tagging-project/

Accessibility requires a number of settings in the PDF. Some of them are rather easy to implement (e.g. that a title and the language should be set) other are more difficult. The most difficult part is the requirement that the PDF should be "tagged", this means that it contains structure informations.

The current state of the project is that paragraphs and links can be tagged automatically. This requires a current LaTeX, a current pdfmanagement-testphase and the current version of the experimental research package tagpdf (and currently still lualatex):

%this is outdated code! See below for a newer version \RequirePackage{pdfmanagement-testphase} \DeclareDocumentMetadata{uncompress,pdfversion=2.0} \documentclass{book} \usepackage{tagpdf} \tagpdfsetup{activate,paratagging,interwordspace} \usepackage{hyperref,lipsum} \begin{document} Tagged project: \url{https://www.latex-project.org/news/2020/11/30/tagged-pdf-FS-study/} \lipsum[1-4] \end{document} 

The structure of the PDF (compile twice) can be inspected at https://ngpdf.com.

Other structure elements can be tagged too, but this has to be done manually (or by patching commands). The next task will be to add automatic tagging to basic structures like sections and lists.

The coming TUG conference will have a few talks about the progress of the project https://www.tug.org/tug2021/index.html

Update April 2023

with the latest latex-dev release more tagging related test code has been released https://www.latex-project.org/news/2023/03/13/latex-dev-1/. So now this here can be tagged

\DocumentMetadata{testphase=phase-III,testphase=math} \documentclass{article} \begin{document} \tableofcontents \section{section} \subsection{Subsection}% some text with a \footnote{a footnote} \begin{enumerate} \item a list \begin{itemize} \item more list \end{itemize} \end{enumerate} \begin{verbatim} some verbatim some verbatim \end{verbatim} inline math $a=b$ display math \begin{equation} x=y \end{equation} \end{document} 

The tagging of graphics is under development (there is already branch in the github), and floats are handled soon too. With the june release it should be possible to tag most standard commands.

Update February 2024

With the newest LaTeX release in june and november 2023 support for graphics, floats and support for basic tables has been added. The newest LaTeX-dev in february 2024 corrected various issues and added support for marginpar (that is loaded automatically in phase-III), for \maketitle (this must currently be loaded explicitly as title module). The math module has been reworked and extended and now contains code to attach semi-automatically mathml representations of equations. It now also handles the amsmath \text command (but some other commands which internally use \mathchoice are still open and can led to faulty structures). Some examples that has been tagged with the new code are at https://github.com/latex3/tagging-project/discussions/56.

In summary that means that (with the exception of the tabbing environment) almost everything described in the Leslie Lamport manual can now be tagged.

Documentations about the various modules can be found with texdoc -l latex-lab. They describe options but also restrictions and open problems.

We created a special repository for issues, discussions and feedback: https://github.com/latex3/tagging-project

Update August 2025

Now nearly all standard elements are tagged automatically. For math it is recommended to use lualatex and unicode-math.

Accessibility requires a number of settings in the PDF. Some of them are rather easy to implement (e.g. that a title and the language should be set) other are more difficult. The most difficult part is the requirement that the PDF should be "tagged", this means that it contains structure information.

The main entry page to the project is https://latex3.github.io/tagging-project/. There is also a prototype example and a list of compatible packages and classes.

In a current LaTeX (as time of writing/editing this is 2025-06-01) most standard document elements are tagged automatically. For math it is recommended to use lualatex and unicode-math.

For online testing you can use

added 105 characters in body
Source Link
Ulrike Fischer
  • 352.6k
  • 22
  • 553
  • 1.1k

Link to the main entry page of the Tagged PDF project: https://latex3.github.io/tagging-project/

Accessibility requires a number of settings in the PDF. Some of them are rather easy to implement (e.g. that a title and the language should be set) other are more difficult. The most difficult part is the requirement that the PDF should be "tagged", this means that it contains structure informations.

Accessibility requires a number of settings in the PDF. Some of them are rather easy to implement (e.g. that a title and the language should be set) other are more difficult. The most difficult part is the requirement that the PDF should be "tagged", this means that it contains structure informations.

Link to the main entry page of the Tagged PDF project: https://latex3.github.io/tagging-project/

Accessibility requires a number of settings in the PDF. Some of them are rather easy to implement (e.g. that a title and the language should be set) other are more difficult. The most difficult part is the requirement that the PDF should be "tagged", this means that it contains structure informations.

added 682 characters in body
Source Link
Ulrike Fischer
  • 352.6k
  • 22
  • 553
  • 1.1k
%this is outdated code! See below for a newer version \RequirePackage{pdfmanagement-testphase} \DeclareDocumentMetadata{uncompress,pdfversion=2.0} \documentclass{book} \usepackage{tagpdf} \tagpdfsetup{activate,paratagging,interwordspace} \usepackage{hyperref,lipsum} \begin{document} Tagged project: \url{https://www.latex-project.org/news/2020/11/30/tagged-pdf-FS-study/} \lipsum[1-4] \end{document} 

We created a special repository for issues, discussions and feedback: https://github.com/latex3/tagging-project

Update August 2025

Now nearly all standard elements are tagged automatically. For math it is recommended to use lualatex and unicode-math.

\DocumentMetadata{tagging=on} \documentclass{article} \usepackage{unicode-math} \begin{document} \tableofcontents \section{section} \subsection{Subsection}% some text with a \footnote{a footnote} \begin{enumerate} \item a list \begin{itemize} \item more list \end{itemize} \end{enumerate} \begin{verbatim} some verbatim some verbatim \end{verbatim} inline math $a=b$ display math \begin{equation} x=y \end{equation} \end{document} 
\RequirePackage{pdfmanagement-testphase} \DeclareDocumentMetadata{uncompress,pdfversion=2.0} \documentclass{book} \usepackage{tagpdf} \tagpdfsetup{activate,paratagging,interwordspace} \usepackage{hyperref,lipsum} \begin{document} Tagged project: \url{https://www.latex-project.org/news/2020/11/30/tagged-pdf-FS-study/} \lipsum[1-4] \end{document} 

We created a special repository for issues, discussions and feedback: https://github.com/latex3/tagging-project

%this is outdated code! See below for a newer version \RequirePackage{pdfmanagement-testphase} \DeclareDocumentMetadata{uncompress,pdfversion=2.0} \documentclass{book} \usepackage{tagpdf} \tagpdfsetup{activate,paratagging,interwordspace} \usepackage{hyperref,lipsum} \begin{document} Tagged project: \url{https://www.latex-project.org/news/2020/11/30/tagged-pdf-FS-study/} \lipsum[1-4] \end{document} 

We created a special repository for issues, discussions and feedback: https://github.com/latex3/tagging-project

Update August 2025

Now nearly all standard elements are tagged automatically. For math it is recommended to use lualatex and unicode-math.

\DocumentMetadata{tagging=on} \documentclass{article} \usepackage{unicode-math} \begin{document} \tableofcontents \section{section} \subsection{Subsection}% some text with a \footnote{a footnote} \begin{enumerate} \item a list \begin{itemize} \item more list \end{itemize} \end{enumerate} \begin{verbatim} some verbatim some verbatim \end{verbatim} inline math $a=b$ display math \begin{equation} x=y \end{equation} \end{document} 
added 1213 characters in body
Source Link
Ulrike Fischer
  • 352.6k
  • 22
  • 553
  • 1.1k
Loading
added 896 characters in body
Source Link
Ulrike Fischer
  • 352.6k
  • 22
  • 553
  • 1.1k
Loading
Bounty Awarded with 50 reputation awarded by Ben Bolker
Source Link
Ulrike Fischer
  • 352.6k
  • 22
  • 553
  • 1.1k
Loading