Summary
This page summarizes WCAG 2.1 AA standards for creating accessible PDFs. If any conflict exists, follow the WCAG documentation.
Best Practices
Create your document in Microsoft Word, using built-in features for lists, headings, tables, etc, then export to PDF.
Simplify charts, tables and graphs to the best of your ability. Only use built-in features to create these items, and provide alternative methods of accessing the content where possible.
Details
All PDF Types
Procedure
Verify the images which need equivalents have /Alt entries on an enclosing tag by one of the following:
Read the PDF document with a screen reader, listening to hear that the equivalent text is read when tabbing to the non-text object (if it is tabbable) or hearing the alternative text read when reading the content line-by-line.
Use a tool which is capable of showing the /Alt entry value, such as aDesigner, to open the PDF document and view the GUI summary to read the text alternatives for images.
Use a tool that exposes the document through the accessibility API and verify that images have required text equivalents
Using a PDF editor, check that a text alternative is displayed for each image.
For an image that is purely decorative, make sure the decorative image is marked as an artifact.
Procedure
Check that the Bookmarks panel displays bookmarks.
Check that the bookmarks link to the correct sections in the document.
Procedure
Verify that the content
is in the correct reading order by one of the following:Read the PDF document with a screen reader or a tool that reads aloud, listening to hear that each elementis
readin the correct
order.Use a tool that exposes the document through the accessibility API, and verify that thereading order
is correct.Verify that the tab order is correct for focusable content by one of the following:Use the tab key to traverse the focus order in the document.
Use a tool that is capable of showing the page object entry that specifies the tab order setting to open the PDF document and view the setting.
Procedure
For an image that is purely decorative, use one of the following to verify that it is marked as an artifact:
Read the PDF document with a screen reader, listening to hear that the decorative image is not announced when reading the content line-by-line.
Using a PDF editor, make sure the decorative image is marked as an artifact.
Reflow the document and make sure the decorative image does not appear on the page.
Use a tool that is capable of showing the /Artifact entry or property list, such as aDesigner, to open the PDF document and verify that decorative images are marked as artifacts.
Use a tool that exposes the document through the accessibility API and verify that the decorative image is not exposed through the API.
Procedure
For each table, confirm
one of the following:Read the PDF document with a screen reader, listening to hear that the tabular information is presented in a waythat
preserves logical relationships amongthe
table header and data cells.Using a PDF editor, verify that theappropriate TR, TH, and TD tags are in the proper reading order and hierarchy in the table tree
.Use a tool which is capable of showing the table elements to open the PDF document, view the table structure, and verify that it contains the appropriate TR, TH, and TD structures.
Use a tool that exposes the document through the accessibility API, and verify that the table structure contains the appropriate TR, TH, and TD structures, and that they are in the proper reading order and hierarchy
.
Procedure
For each page converted to text using OCR, ensure that the resulting PDF has been converted correctly,
using one of the following ways:Read the PDF document with a screen reader or a tool that reads aloud, listening to hear that all text is read correctly and in the correct reading order.
Save the document as text and check that the converted text is complete and in the correct reading order.
Use a tool that is capable of showing the converted content to open the PDF document and verify that all text was converted and is in the correct reading order.
Use a tool that exposes the document through the accessibility API and verify that all text was converted and is in the correct reading order.
Procedurevia manual review in ABBYY Finereader.
Verify that the first occurrence of abbreviations that require expansion text have /E entries on an enclosing tag by one of the following and that both the abbreviation and the expansion text are provided:
In Windows, use Microsoft's Inspect.exe tool, or some other tool that allows inspection of the MSAA interface, to locate the text of the abbreviation in the document tree and ensure that the value of the abbreviation is in the expansion text.
In a PDF editor, locate the tag for the text that is the abbreviation, and check that an expansion or definition is provided for each abbreviation in the Expansion Text field in the corresponding tag's properties
.Read the PDF document with a screen reader, listening to hear that on the first occurrence, the abbreviation and expansion are read when the screen reader reads the content line-by-line.
Use a tool that is capable of showing the /E entry value, such as aDesigner to open the PDF document and view the GUI summary to read the text expansions for abbreviationsUse a tool that exposes the document through the accessibility API and verify that the text expansion of the abbreviation is properly implemented.
.
For all PDF content that is divided into separate sections, use
one of the following to verify that headings are tagged correctly:Read the PDF document witha
screen reader, listening to hear that the list of headings is announced correctly.Using aPDF editor
,to make sure the headings are tagged correctly.
Use a tool that is capable of showing the /Headn entries to open the PDF document and verify that headings are tagged correctly.
Use a tool that exposes the document through the accessibility API and verify that the headings are tagged correctly.
Procedure
For each hyperlink, verify that the link is correctly tagged and the link text is properly exposed:
Read the PDF document with a screen reader, listening to hear that the link is read correctly and that it describes the purpose of the link (i.e., its destination).
Visually scan the tag tree to verify that the link is tagged correctly and the link text is Use a tool that is capable of showing the /Link entry value to open the PDF document and view the hyperlink and link text.
Use a tool that exposes the document through the accessibility API and verify that the link has the correct link textTab to each link and check that it can be followed to its target by pressing Enter.
exposed
(for screen magnifier users and sighted users with cognitive disabilities)..
Procedure
For the hyperlink, verify that the alternate link text is properly coded
by one of the following:Read the PDF document with a screen reader, listening to hear that the alternate link text is read correctly.
Use a tool that is capable of showing the /Alt entry to open the PDF document and view the hyperlink and alternate link text.
Use a tool that exposes the document through the accessibility API and verify that the alternate link text is the text for the link
.
Check that running headers and/or footers are provided and contain information to help users locate themselves within the document (such as page numbers or chapter numbers).
If section headers are used in the running header or footer, check that the section header and the running header or footer are consistent.
Verify that the default language for the document is correctly specified
by applying one of the following:Read the PDF document with a screen reader, listening to hear that the text is read in the correct natural language.
Using a PDF editor, check that the language is set to the default document language.
Use a tool which is capable of showing the /Lang entry value in the document catalog to open the PDF document and view the language settings.
Use a tool that exposes the document through the accessibility API and verify that the language is set to the default language.
Procedure.
Verify that the language of a passage, phrase, or word that differs from the language of the surrounding text is correctly specified by a /Lang entry on an enclosing tag or container.
For every section in the document that uses a different pagination format, check that the page navigation feature uses the same format used on the document pages
:Select the pages that begin a new pagination format and visually verify that the same format and page number is shown in the page navigation feature.
Using a screen reader, check that the page number announced in the page navigation feature is the same as the page number announced on the document page.
Using a tool that is capable of showing the /PageLabels entries, open the PDF document and view the entries.
Use a tool that exposes the document through the accessibility API, and verify that the /PageLabels entries are specified correctly.
Procedure
Verify that the title for the document is correctly specified and displayed in the
user agenttitle bar
by applying one of the following:Open the PDF document with a screen reader, listening to hear that the document title is read correctly.
Using a PDF editor, check that the document title is specified. Select the Initial View tab to check that the title will be displayed.
Use a tool which is capable of showing the /Title entry value in the document catalog to open the PDF document and view the /Title entry and /DisplayDocTitle flag settings.
Procedure
Verify that the language of a passage, phrase, or word that differs from the language of the surrounding text is correctly specified by a /Lang entry on an enclosing tag or container:
Read the PDF document with a screen reader that supports the language of the phrase and the language of the surrounding text, listening to hear that the text is read in the correct natural language.
Using a PDF editor, select the word or phrase that is in the different language and check that the language is set correctly.
Use a tool which is capable of showing the /Lang entry value to open the PDF document and view the language settings.
Use a tool that exposes the document through the accessibility API and verify that the language for the passage or phrase is set correctly.
Verify that if the container or tag contains the entire document, the language setting is the language intended as the default for the document.
Procedure
For a table that has been repaired with the Table Editor, confirm one of the following:
Read the PDF document with a screen reader, listening to hear that the tabular information is presented in a way that preserves logical relationships among the table header and data cells. (Configure the screen reader to not use heuristics to read table header cells.)Using a PDF editor, verify that the appropriate TR, TH, and TD tags are in the proper reading order and hierarchy in the table tree
.Use a tool which is capable of showing the table elements to open the PDF document, view the table structure, and verify that it contains the appropriate TR, TH, and TD structures.
Use a tool that exposes the document through the accessibility API, and verify that the table structure contains the appropriate TR, TH, and TD structures, and that they are in the proper reading order and hierarchy.
Procedure
For a list in a PDF document, verify in one of the following ways:
Read the PDF document with a screen reader, listening to hear that list is read correctly when reading the content line-by-line.
Use a tool that is capable of showing lists to open the PDF document and view the list to check that it is correctly structured.
Inspect the tag tree to verify that the list is structured
according to the PDF specification.Use a tool that exposes the document through the accessibility API and verify that the list iscorrectly
structured.
PDF Forms
Forms require additional attention to accessibility measures. Incorporate all of the above content, plus the following.
...