PDF/UA - Matterhorn Protocol 1.02 Accessibility Standard
The Matterhorn Protocol is a set of 31 checkpoints comprised of 136 failure conditions for file format requirements specified in PDF/UA-1.
Rules
This section lists the 9 rules covering 7 checkpoints for Matterhorn 1.02 supported by the current version of the product.
Checkpoint 01: Real content tagged
01-001 Artifact is tagged as real content - No rules (human testing required)
01-002 Real content is marked as artifact - No rules (human testing required)
01-003 Content marked as Artifact is present inside tagged content - No rules (machine testable)
01-004 Tagged content is present inside content marked as Artifact - No rules (machine testable)
01-005 Content is neither marked as Artifact nor tagged as real content - 1 rule (machine testable)
- PDF not tagged (PDF)
01-006 Type and attributes of a structure element are not semantically appropriate - No rules (human testing required)
01-007 Suspect entry has a value of true - No rules (machine testable)
Checkpoint 02: Role Mapping
02-001 Non-standard role does not map to a standard role - No rules (machine testable)
02-002 Non-standard role maps to an inappropriate standard role - No rules (human testing required)
02-003 Circular role mapping - No rules (machine testable)
02-004 A standard role has been remapped - No rules (machine testable)
Checkpoint 03: Flickering
03-001 An action causes flickering - No rules (human testing required)
03-002 A multimedia object contains flickering - No rules (human testing required)
03-003 JavaScript causes flickering - No rules (human testing required)
Checkpoint 04: Color and Contrast
04-001 Information presented using color, contrast format or layout is not tagged - No rules (human testing required)
Checkpoint 05: Sound
05-001 Media annotation present, but audio content not available in another form - No rules (human testing required)
05-002 Audio annotation present, but content not available in another form. - No rules (human testing required)
05-003 JavaScript uses beep function but does not provide another means of notification. - No rules (human testing required)
Checkpoint 06: Metadata
06-001 Document does not contain XMP metadata stream - 1 rule (machine testable)
- PDF without XMP metadata (PDF)
06-002 The metadata stream in the Catalog
dictionary does not include the PDF/UA identifier - 1 rule (machine testable)
06-003 Metadata stream does not contain dc:title
- 1 rule (machine testable)
- Document title missing (PDF and HTML)
06-004 dc:title
does not clearly identify the document - 2 rules (human testing required)
- Document title is blank (PDF and HTML)
- Document title is placeholder (PDF and HTML)
Checkpoint 07: Dictionary
07-001 ViewerPreferences
dictionary of the Catalog
dictionary does not contain DisplayDocTitle
key - No rules (machine testable)
07-002 ViewerPreferences
dictionary of the Catalog
dictionary contains DisplayDocTitle
key with a value of false - No rules (machine testable)
Checkpoint 08: OCR Validation
08-001 OCR-generated text contains significant errors - No rules (human testing required)
08-002 OCR-generated text is not tagged - No rules (human testing required)
Checkpoint 09: Appropriate Tags
09-001 Tags are not in logical reading order - No rules (human testing required)
09-002 Structure elements are nested in a semantically inappropriate manner - No rules (human testing required)
09-003 The structure type of a structure element is not semantically appropriate - No rules (human testing required)
09-004 A table-related structure element is used in a way that does not conform to the syntax defined in ISO 32000-1, Table 337 - No rules (machine testable)
09-005 A list-related structure element is used in a way that does not conform to Table 336 in ISO 32000-1 - No rules (machine testable)
09-006 A TOC-related structure element is used in a way that does not conform to Table 333 in ISO 32000-1 - No rules (machine testable)
09-007 A Ruby-related structure element is used in a way that does not conform to Table 338 in ISO 32000-1 - No rules (machine testable)
09-008 A Warichu-related structure element is used in a way that does not conform to Table 338 in ISO 32000-1 - No rules (machine testable)
Checkpoint 10: Character Mappings
10-001 Character code cannot be mapped to Unicode - No rules (machine testable)
Checkpoint 11: Declared Natural Language
11-001 Natural language for text in page content cannot be determined - 1 rule (machine testable)
- Missing page language (PDF and HTML)
11-002 Natural language for text in Alt
, ActualText
and E
attributes cannot be determined - No rules (machine testable)
11-003 Natural language in the Outline
entries cannot be determined - No rules (machine testable)
11-004 Natural language in the Contents
entry for annotations cannot be determined - No rules (machine testable)
11-005 Natural language in the TU
key for form fields cannot be determined - No rules (machine testable)
11-006 Natural language for document metadata cannot be determined - No rules (machine testable)
11-007 Natural language is not appropriate - No rules (human testing required)
Checkpoint 12: Stretchable Characters
12-001 Stretched characters are not represented appropriately - No rules (human testing required)
Checkpoint 13: Graphics
13-001 Graphics objects other than text objects and artifacts are not tagged with a Figure
tag - No rules (human testing required)
13-002 A link with a meaningful background does not include alternative text describing both the link and the graphic’s purpose - No rules (human testing required)
13-003 A caption is not tagged with a Caption
tag - No rules (human testing required)
13-004 Figure tag alternative or replacement text missing - 2 rules (machine testable)
alt
is image file name (PDF and HTML)- PDF graphic has no accessible name (PDF)
13-005 Actual text used for a Figure for which Alternative text is more appropriate - No rules (human testing required)
13-006 Graphics objects that possess semantic value only within a group of graphics objects is tagged on its own - No rules (human testing required)
13-007 A more accessible representation is not used - No rules (human testing required)
Checkpoint 14: Headings
14-001 Headings are not tagged - No rules (human testing required)
14-002 Does use numbered headings, but the first heading tag is not H1 - No rules (machine testable)
14-003 Numbered heading levels in descending sequence are skipped (Example: H3 follows directly after H1) - No rules (machine testable)
14-004 Numbered heading tags do not use Arabic numerals - No rules (human testing required)
14-005 Content representing a 7th level (or higher) heading does not use an H7 (or higher) tag - No rules (human testing required)
14-006 A node contains more than one H tag - No rules (machine testable)
14-007 Document uses both H and H# tags - No rules (machine testable)
Checkpoint 15: Tables
15-001 A row has a header cell, but that header cell is not tagged as a header - No rules (human testing required)
15-002 A column has a header cell, but that header cell is not tagged as a header - No rules (human testing required)
15-003 In a table not organized with Headers attributes and IDs, a TH cell does not contain a Scope attribute - No rules (machine testable)
15-004 Content is tagged as a table for information that is not organized in rows and columns - No rules (human testing required)
15-005 A given cell’s header cannot be unambiguously determined - No rules (human testing required)
Checkpoint 16: Lists
16-001 List is an ordered list, but no value for the ListNumbering
attribute is present - No rules (human testing required)
16-002 List is an ordered list, but the ListNumbering
value is not one of the following: Decimal
, UpperRoman
, LowerRoman
, UpperAlpha
, LowerAlpha
- No rules (human testing required)
16-003 Content is a list but is not tagged as a list - No rules (human testing required)
Checkpoint 17: Mathematical Expressions
17-001 Content is a mathematical expression but is not tagged with a Formula
tag - No rules (human testing required)
17-002 Formula tag is missing an Alt
attribute - No rules (machine testable)
17-003 Unicode mapping requirements are not met - No rules (machine testable)
Checkpoint 18: Page Headers and Footers
18-001 Headers and footers are not marked as pagination artifacts - No rules (human testing required)
18-002 Header or footer artifacts are not classified as Header
or Footer
subtypes - No rules (human testing required)
Checkpoint 19: Notes and References
19-001 Footnotes, endnotes, note labels are not tagged as Note
- No rules (human testing required)
19-002 References are not tagged as Reference
- No rules (human testing required)
19-003 ID key of the Note
tag is not present - No rules (machine testable)
19-004 ID key of the Note
tag is non-unique - No rules (machine testable)
Checkpoint 20: Optional Content
20-001 Name entry is missing or has an empty string as its value in an Optional Content Configuration Dictionary in the Configs
entry in the OCProperties
entry in the Catalog
dictionary - No rules (machine testable)
20-002 Name entry is missing or has an empty string as its value in an Optional Content Configuration Dictionary that is the value of the D
entry in the OCProperties
entry in the Catalog
dictionary - No rules (machine testable)
20-003 The AS key appears in an Optional Content Configuration Dictionary - No rules (machine testable)
Checkpoint 21: Embedded Files
21-001 The file specification dictionary for an embedded file does not contain F
and UF
keys - No rules (machine testable)
Checkpoint 22: Article Threads
22-001 Article threads do not reflect logical reading order - No rules (human testing required)
Checkpoint 23: Digital Signatures
23-001 No test specific to digital signatures is required, however other provisions apply (form fields) - No rules (no testing required)
Checkpoint 24: Non-Interactive Forms
24-001 Non-interactive forms are not tagged with the PrintFields
attribute - No rules (human testing required)
Checkpoint 25: XFA
25-001 File contains the dynamicRender element with value ‘required’ - No rules (machine testable)
Checkpoint 26: Security
26-001 The file is encrypted but does not contain a P
key in its encryption dictionary - No rules (machine testable)
26-002 The file is encrypted and does contain a P
key but the 10th bit position of the P
key is false. - No rules (machine testable)
Checkpoint 27: Navigation
27-001 No tests specific to navigation are required; use appropriate semantics - No rules (no testing required)
Checkpoint 28: Annotations
28-001 An annotation whose hidden flag is not set and whose rectangle is not outside the crop-box is not in correct reading order - No rules (human testing required)
28-002 An annotation, excluding annotations of subtype Widget
, Popup
or Link
, is not nested within an Annot
tag - No rules (machine testable)
28-003 An annotation whose hidden flag is not set and whose rectangle is not outside the crop-box is used for visual formatting but is not tagged according to its semantic function - No rules (human testing required)
28-004 An annotation other than annotations of type Link, Widget or Popup whose hidden flag is not set and whose rectangle is not outside the crop-box and does not have a Contents
key does not have an alternative description (in the form of an Alt
entry in the enclosing structure element) - No rules (machine testable)
28-005 A form field whose hidden flag is not set and whose rectangle is not outside the crop-box and does not have a TU
key does not have an alternative description (in the form of an Alt
entry in the enclosing structure element) - No rules (machine testable)
28-006 An annotation with subtype undefined in ISO 32000 does not meet 7.18.1 - No rules (machine testable)
28-007 An annotation of subtype TrapNet
exists - No rules (machine testable)
28-008 A page containing an annotation does not contain a Tabs
key - No rules (machine testable)
28-009 A page containing an annotation has a Tabs
key with a value other than S - No rules (machine testable)
28-010 A widget annotation is not nested within a Form
tag - No rules (machine testable)
28-011 A link annotation is not nested within a Link
tag - No rules (machine testable)
28-012 A link annotation does not include an alternate description in the Contents
Key - No rules (machine testable)
28-013 The IsMap
key is present with a value of true but the functionality is not provided in some other way - No rules (human testing required)
28-014 CT
key is missing from the media clip data dictionary - No rules (machine testable)
28-015 Alt
key is missing from the media clip data dictionary - No rules (machine testable)
28-016 File attachment annotations do not conform to 7.11 - No rules (machine testable)
28-017 A PrinterMark
annotation is included in logical structure - No rules (machine testable)
28-018 The appearance stream of a PrinterMark
annotation is not marked as Artifact - No rules (machine testable)
Checkpoint 29: Actions
29-001 A script requires specific timing for individual keystrokes - No rules (human testing required)
Checkpoint 30: XObjects
30-001 A reference XObject
is present - No rules (machine testable)
30-002 Form XObject
contains MCIDs and is referenced more than once - No rules (machine testable)
Checkpoint 31: Fonts
31-001 A Type 0 font dictionary with encoding other than Identity-H and Identity-V has values for Registry in both CIDSystemInfo dictionaries that are not identical - No rules (machine testable)
31-002 A Type 0 font dictionary with encoding other than Identity-H and Identity-V has values for Ordering in both CIDSystemInfo dictionaries that are not identical - No rules (machine testable)
31-003 A Type 0 font dictionary with encoding other than Identity-H and Identity-V has a value for Supplement in the CIDSystemInfo dictionary of the CID font that is less than the value for Supplement in the CIDSystemInfo dictionary of the CMap
- No rules (machine testable)
31-004 A Type 2 CID font contains neither a stream nor the name Identity as the value of the CIDToGIDMap entry - No rules (machine testable)
31-005 A Type 2 CID font does not contain a CIDToGIDMap
entry - No rules (machine testable)
31-006 A CMap
is neither listed as described in ISO 32000-1:2008, 9.7.5.2, Table 118 nor is it embedded - No rules (machine testable)
31-007 The WMode
entry in a CMap
dictionary is not identical to the WMode
value in the CMap
stream - No rules (machine testable)
31-008 A CMap
references another CMap
which is not listed in ISO 32000-1:2008, 9.7.5.2, Table 118 - No rules (machine testable)
31-009 For a font used by text intended to be rendered the font program is not embedded - No rules (machine testable)
31-010 A font program is embedded that is not legally embeddable for unlimited, universal rendering - No rules (human testing required)
31-011 For a font used by text the font program is embedded but it does not contain glyphs for all of the glyphs referenced by the text used for rendering - No rules (machine testable)
31-012 The FontDescriptor
dictionary of an embedded Type 1 font contains a CharSet
string, but at least one of the glyphs present in the font program is not listed in the CharSet
string - No rules (machine testable)
31-013 The FontDescriptor
dictionary of an embedded Type 1 font contains a CharSet
string, but at least one of the glyphs listed in the CharSet
string is not present in the font program - No rules (machine testable)
31-014 The FontDescriptor
dictionary of an embedded CID font contains a CIDSet
string, but at least one of the glyphs present in the font program is not listed in the CIDSet
string - No rules (machine testable)
31-015 The FontDescriptor
dictionary of an embedded CID font contains a CIDSet
string, but at least one of the glyphs listed in the CIDSet
string is not present in the font program - No rules (machine testable)
31-016 For one or more glyphs, the glyph width information in the font dictionary and in the embedded font program differ by more than 1/1000 unit - No rules (machine testable)
31-017 A non-symbolic TrueType font is used for rendering, but none of the cmap
entries in the embedded font program is a non-symbolic cmap
- No rules (machine testable)
31-018 A non-symbolic TrueType font is used for rendering, but for at least one glyph to be rendered the glyph cannot be looked up by any of the non-symbolic cmap
entries in the embedded font program - No rules (machine testable)
31-019 The font dictionary for a non-symbolic TrueType font does not contain an Encoding entry - No rules (machine testable)
31-020 The font dictionary for a non-symbolic TrueType font contains an Encoding dictionary which does not contain a BaseEncoding
entry - No rules (machine testable)
31-021 The value for either the Encoding
entry or the BaseEncoding
entry in the Encoding dictionary in a non-symbolic TrueType font dictionary is neither MacRomanEncoding nor WinAnsiEncoding - No rules (machine testable)
31-022 The Differences array in the Encoding entry in a non-symbolic TrueType font dictionary contains one or more glyph names which are not listed in the Adobe Glyph List - No rules (machine testable)
31-023 The Differences array is present in the Encoding entry in a non-symbolic TrueType font dictionary but the embedded font program does not contain a (3,1) Microsoft Unicode cmap
- No rules (machine testable)
31-024 The Encoding entry is present in the font dictionary for a symbolic TrueType font - No rules (machine testable)
31-025 The embedded font program for a symbolic TrueType font contains no cmap
- No rules (machine testable)
31-026 The embedded font program for a symbolic TrueType font contains more than one cmap
, but none of the cmap
entries is a (3,0) Microsoft Symbol cmap
- No rules (machine testable)
31-027 A font dictionary does not contain the ToUnicode
entry and none of the following is true… - No rules (machine testable)
31-028 One or more Unicode values specified in the ToUnicode
CMap
are zero - No rules (machine testable)
31-029 One or more Unicode values specified in the ToUnicode
CMap
are equal to either U+FEFF or U+FFFE - No rules (machine testable)
31-030 One or more characters used in text showing operators reference the .notdef
glyph - No rules (machine testable)