...
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.
Using a PDF editor, check that a text alternative is displayed for each image.
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.
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 element is read in the correct order.
Use a tool that exposes the document through the accessibility API, and verify that the reading 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.
(forms only) Form controls
- Procedure
For each form field that is required, verify that validation information and instructions are provided by applying the following:
Check that the required status is indicated in the form control's label.
Leave the field blank and submit the form. Check that an alert describing the error is provided.
Use a tool that exposes the document through the accessibility API, and verify that the required property is indicated.
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 way that preserves logical relationships among the table header and data 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 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.
Procedure
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 abbreviations.
Use a tool that exposes the document through the accessibility API and verify that the text expansion of the abbreviation is properly implemented.
- (forms only) Interactive form controls
Procedure
For all PDF content that is divided into separate sections, use one of the following to verify that headings are tagged correctly:
(forms only) Labels
(forms only) Informative form fields
(forms only) Submit Buttons
(forms only) Values input
Read the PDF document with a screen reader, listening to hear that the list of headings is announced correctly.
Using a PDF editor, 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 exposed (for screen magnifier users and sighted users with cognitive disabilities).
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 text.
Tab to each link and check that it can be followed to its target by pressing Enter.
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.
Procedure
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.
Procedure
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
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 agent title 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 is correctly structured.
PDF Forms
Forms require additional attention to accessibility measures. Incorporate all of the above content, plus the following.
Procedure
For each form field that is required, verify that validation information and instructions are provided by applying the following:
Check that the required status is indicated in the form control's label.
Leave the field blank and submit the form. Check that an alert describing the error is provided.
Use a tool that exposes the document through the accessibility API, and verify that the required property is indicated.
Procedure
For each form control, verify visually that the label is positioned correctly in relation to the control.
For each form control, verify that the name is programmatically associated with the control by one of the following:
Open the PDF document with a tool that is capable of showing the name associated with the control and verify that the name is associated correctly with the control.
Use a tool that exposes the document through the accessibility API, and verify that the name is associated correctly with the control.
Procedure
For the form control, verify that name, role, and value/state are specified by one of the following:
Use a screen reader to navigate to the form control and check that it can be activated or that its value can be changed. Verify that the name (tooltip) and role are announced.
Use a tool capable of showing the form field information to open the PDF document and verify that the form control has the correct name, role, value, and state (if appropriate) information.
Use a tool that exposes the document through the accessibility API, and verify that the form control has the correct name, role, value, and state (if appropriate) information.
Procedure
For each page that submits a form, visually verify that the form contains a submit button and check one of the following:
Tab to the button and check that it submits the form in response to user action to select the button.
Open the PDF document with a tool that is capable of showing the submit-form action and check that the button action is to submit the form.
Procedure
For each form field that requires specific input, verify that validation information and instructions are provided by applying the following:
Check that the format or value that is required is indicated in the form control's label.
Use an erroneous format or value and move off the field: make sure that an alert describing the error is provided.
Procedure
For each form control, verify that it is properly implemented by tabbing to each form control and checking that it can be activated or that its value can be changed from the keyboard.