PDF/UA-1 Validation Errors
Complete Fix Guide for Every Clause (ISO 14289-1)
PDFix Desktop fixes every PDF/UA-1 validation error – clause by clause of ISO 14289-1. Find your clause number in the reference table below and follow the step-by-step fix guide – automatically or manually.

HOW PDF/UA FIXES WORK
How to fix PDF/UA-1 validation errors using this guide
PDFix Desktop fixes every PDF/UA-1 validation error – whether veraPDF, PAC, or Adobe Preflight reported it. Three fix types cover every clause. The right one depends on whether an automatic fix exists for that specific clause.
Three ways to fix the same PDF/UA validation issue
PDFix Desktop offers three fix types – Auto-Fix, Semi-Auto, and Manual. Because the Validation panel pre-selects the problematic objects, PDFix targets the specific error – not the whole document. You can also trigger the same actions from the ribbon, menus, or panels when needed.
AUTO-FIX
Fix Error Action
WHEN TO USE
- An automatic fix exists for the clause – the Fix Error button appears in the Validation panel
- PDFix pre-selects the problematic objects for you
- The fix applies to the selection, not the whole document
HOW: Select the error type in the Validation panel → click Fix Error → Run Action → Revalidate.
SEMI-AUTO
Related Action
WHEN TO USE
- You want to apply the same fix to a different scope – the whole document, a custom selection, or specific element types
- You are working outside the Validation panel
- You need to target elements by path, pattern, regex, or a layout template.
HOW: Run the action from the ribbon, a menu, or a panel. Configure which elements to target in the action dialog.
MANUAL
Manual Editing
WHEN TO USE
- No automatic fix exists for the clause
- The error requires manual judgment – for example, whether alt text is meaningful or whether heading reflect document logic
- The fix involves correcting structure, content, or annotation properties directly
HOW: Click Show Errors in the Validation panel → locate the highlighted object in the document view → correct it in the Tags, Content, or Annotations panel.
HOW TO USE THIS GUIDE
Two steps from validation error to resolved
1. Run validation in PDFix Desktop
Open the Validation side panel → click Validate (PDF/UA-1 profile) or Validate With to choose a specific profile. PDFix runs the industry-standard veraPDF engine internally – no external tool or upload required.
2. Find your clause – click to open the fix guide
Every error maps to a clause in ISO 14289-1. First, note the exact reference from the Validation panel – for example 7.1-9. Then find the clause in the reference table below and click it. Each clause opens the rule description and a step-by-step fix guide for PDFix Desktop.
Validation Issues
Fix Error in PDFix Desktop
| Clause | Description |
|---|---|
| 5-1 | The PDF/UA version and conformance level of a file shall be specified using the PDF/UA Identification extension schema |
| 5-2 | The value of “pdfuaid:part” shall be the part number of the International Standard to which the file conforms |
| 5-3 | Property “part” of the PDF/UA Identification Schema shall have namespace prefix “pdfuaid” |
| 5-4 | Property “amd” of the PDF/UA Identification Schema shall have namespace prefix “pdfuaid” |
| 5-5 | Property “corr” of the PDF/UA Identification Schema shall have namespace prefix “pdfuaid” |
| 7.1-1 | Content marked as Artifact should not be present inside tagged content |
| 7.1-2 | Tagged content should not be present inside content marked as Artifact |
| 7.1-3 | Content shall be marked as Artifact or tagged as real content |
| 7.1-4 | Files shall have a Suspects value of false(ISO 32000-1:2008, Table 321) |
| 7.1-5 | All non-standard structure types shall be mapped to the nearest functionally equivalent standard type, as defined in ISO 32000-1:2008, 14.8.4, in the role map dictionary of the structure tree root. This mapping may be indirect; within the role map a non-standard type can map directly to another non-standard type, but eventually the mapping shall terminate at a standard type |
| 7.1-6 | A circular mapping shall not exist |
| 7.1-7 | Standard tags defined in ISO 32000-1:2008, 14.8.4, shall not be remapped |
| 7.1-8 | The Catalog dictionary of a conforming file shall contain the Metadata key whose value is a metadata stream as defined in ISO 32000-1:2008, 14.3.2. The metadata stream dictionary shall contain entry Type with value /Metadata and entry Subtype with value /XML |
| 7.1-9 | The Metadata stream in the document’s catalog dictionary shall contain a dc:title entry, where dc is the recommended prefix for the Dublin Core metadata schema as defined in the XMP specification, which clearly identifies the document |
| 7.1-10 | The document catalog dictionary shall include a ViewerPreferences dictionary containing a DisplayDocTitle key, whose value shall be true |
| 7.1-11 | The logical structure of the conforming file shall be described by a structure hierarchy rooted in the StructTreeRoot entry of the document catalog dictionary, as described in ISO 32000-1:2008, 14.7 |
| 7.1-12 | A structure element dictionary shall contain the P (parent) entry according to ISO 32000-1:2008, 14.7.2, Table 355 |
| 7.2-2 | Natural language in the Outline entries shall be determined |
| 7.2-3 | Table element may contain only TR, THead, TBody, TFoot and Caption elements |
| 7.2-4 | TR element should be contained in Table, THead, TBody or TFoot element |
| 7.2-5 | THead element should be contained in Table element |
| 7.2-6 | TBody element should be contained in Table element |
| 7.2-7 | TFoot element should be contained in Table element |
| 7.2-8 | TH element should be contained in TR element |
| 7.2-9 | TD element should be contained in TR element |
| 7.2-10 | TR element may contain only TH and TD elements |
| 7.2-11 | Table element should contain zero or one THead kid |
| 7.2-12 | Table element should contain zero or one TFoot kid |
| 7.2-13 | If Table element contains TFoot kid, Table element should contain one or more TBody kids |
| 7.2-14 | If Table element contains THead kid, Table element should contain one or more TBody kids |
| 7.2-15 | A table cell shall not have intersection with other cells |
| 7.2-16 | Table element may contain a Caption element as its first or last kid |
| 7.2-17 | LI element should be contained in L element |
| 7.2-18 | LBody element should be contained in LI element |
| 7.2-19 | L element may contain only L, LI and Caption elements |
| 7.2-20 | LI element may contain only Lbl and LBody elements |
| 7.2-21 | Natural language for text in ActualText attribute shall be determined |
| 7.2-22 | Natural language for text in Alt attribute shall be determined |
| 7.2-23 | Natural language for text in E attribute shall be determined |
| 7.2-24 | Natural language in the Contents entry for annotations shall be determined |
| 7.2-25 | Natural language in the TU key for form fields shall be determined |
| 7.2-26 | TOCI element should be contained in TOC element |
| 7.2-27 | TOC element may contain only TOC, TOCI and Caption elements |
| 7.2-28 | TOC element may contain a Caption element only as its first kid |
| 7.2-29 | If the Lang entry is present in the document’s Catalog dictionary or in a structure element dictionary or property list, its value shall be a language identifier as described in ISO 32000-1:2008, 14.9.2. A language identifier shall be a Language-Tag as defined in RFC 3066, Tags for the Identification of Languages |
| 7.2-30 | Natural language for text in ActualText attribute in Span Marked Content shall be determined |
| 7.2-31 | Natural language for text in Alt attribute in Span Marked Content shall be determined |
| 7.2-32 | Natural language for text in E attribute in Span Marked Content shall be determined |
| 7.2-33 | Natural language for document metadata shall be determined |
| 7.2-34 | Natural language for text in page content shall be determined |
| 7.2-36 | THead element may contain only TR elements |
| 7.2-37 | TBody element may contain only TR elements |
| 7.2-38 | TFoot element may contain only TR elements |
| 7.2-39 | Table element may contain only one Caption element |
| 7.2-40 | L element may contain a Caption element only as its first kid |
| 7.2-41 | Table columns shall have the same number of rows (taking into account row spans) |
| 7.2-42 | Table rows shall have the same number of columns (taking into account column spans) |
| 7.2-43 | Table rows shall have the same number of columns (taking into account column spans) |
| 7.3-1 | Figure tags shall include an alternative representation or replacement text that represents the contents marked with the Figure tag as noted in ISO 32000-1:2008, 14.7.2, Table 323 |
| 7.4.2-1 | For documents that are not strongly structured, as described in ISO 32000-1:2008, 14.8.4.3.5, heading tags shall be used as follows: () If any heading tags are used, H1 shall be the first. () A document may use more than one instance of any specific tag level. For example, a tag level may be repeated if document content requires it. () If document semantics require a descending sequence of headers, such a sequence shall proceed in strict numerical order and shall not skip an intervening heading level. () A document may increment its heading sequence without restarting at H1 if document semantics require it |
| 7.4.4-1 | Each node in the tag tree shall contain at most one child H tag |
| 7.4.4-2 | All documents shall be either strongly or weakly structured, but not both |
| 7.4.4-3 | All documents shall be either strongly or weakly structured, but not both |
| 7.5-1 | If the table’s structure is not determinable via Headers and IDs, then structure elements of type TH shall have a Scope attribute |
| 7.5-2 | If the table’s structure is not determinable via Headers and IDs, then structure elements of type TH shall have a Scope attribute |
| 7.7-1 | All mathematical expressions shall be enclosed within a Formula tag as detailed in ISO 32000-1:2008, 14.8.4.5 and shall have Alt or ActualText attributes |
| 7.9-1 | Note tag shall have ID entry |
| 7.9-2 | Each Note tag shall have unique ID key |
| 7.10-1 | Each optional content configuration dictionary that forms the value of the D key, or that is an element in the array that forms the value of the Configs key in the OCProperties dictionary, shall contain the Name key |
| 7.10-2 | The AS key shall not appear in any optional content configuration dictionary |
| 7.11-1 | The file specification dictionary for an embedded file shall contain the non-empty F and UF keys |
| 7.15-1 | Dynamic XFA forms shall not be used |
| 7.16-1 | An encrypted conforming file shall contain a P key in its encryption dictionary (ISO 32000-1:2008, 7.6.3.2, Table 21). The 10th bit position of the P key shall be true |
| 7.18.1-1 | An annotation, excluding annotations of subtype Widget, PrinterMark or Link, shall be nested within an Annot tag |
| 7.18.1-2 | An annotation (except Widget annotations or hidden annotations, or those having rectangle outside the crop-box) shall have either Contents key or an Alt entry in the enclosing structure element |
| 7.18.1-3 | A form field shall have a TU key present or all its Widget annotations shall have alternative descriptions (in the form of an Alt entry in the enclosing structure elements) |
| 7.18.2-1 | Annotations of subtype TrapNet shall not be permitted |
| 7.18.3-1 | Every page on which there is an annotation shall contain in its page dictionary the key Tabs, and its value shall be S |
| 7.18.4-1 | A Widget annotation shall be nested within a Form tag per ISO 32000-1:2008, 14.8.4.5, Table 340 |
| 7.18.4-2 | If the Form element omits a Role attribute (Table 348), it shall have only one child: an object reference (14.7.4.3) identifying the widget annotation per ISO 32000-1:2008, 14.8.4.5, Table 340 |
| 7.18.5-1 | Links shall be tagged according to ISO 32000-1:2008, 14.8.4.4.2, Link Element |
| 7.18.5-2 | Links shall contain an alternate description via their Contents key as described in ISO 32000-1:2008, 14.9.3 |
| 7.18.6.2-1 | In the media clip data dictionary, the optional CT key (ISO 32000-1:2008, 13.2.4.2, Table 274) is required |
| 7.18.6.2-2 | In the media clip data dictionary, the optional Alt key (ISO 32000-1:2008, 13.2.4.2, Table 274) is required |
| 7.18.8-1 | PrinterMark annotations, if present, shall be considered Incidental Artifacts, as if they are hidden page elements as defined in ISO 32000-1:2008, 14.8.2.2.3 |
| 7.20-1 | A conforming file shall not contain any reference XObjects |
| 7.20-2 | The content of Form XObjects shall be incorporated into structure elements according to ISO 32000-1:2008, 14.7.2 |
| 7.21.3.1-1 | For any given composite (Type 0) font within a conforming file, the CIDSystemInfo entry in its CIDFont dictionary and its Encoding dictionary shall have the following relationship: – If the Encoding key in the Type 0 font dictionary is Identity-H or Identity-V, any values of Registry, Ordering, and Supplement may be used in the CIDSystemInfo entry of the CIDFont. – Otherwise, the corresponding Registry and Ordering strings in both CIDSystemInfo dictionaries shall be identical, and the value of the Supplement key in the CIDSystemInfo dictionary of the CIDFont shall be less than or equal to the Supplement key in the CIDSystemInfo dictionary of the CMap |
| 7.21.3.2-1 | ISO 32000-1:2008, 9.7.4, Table 117 requires that all embedded Type 2 CIDFonts in the CIDFont dictionary shall contain a CIDToGIDMap entry that shall be a stream mapping from CIDs to glyph indices or the name Identity, as described in ISO 32000-1:2008, 9.7.4, Table 117 |
| 7.21.3.3-1 | All CMaps used within a PDF/UA file, except those listed in ISO 32000-1:2008, 9.7.5.2, Table 118, shall be embedded in that file as described in ISO 32000-1:2008, 9.7.5 |
| 7.21.3.3-2 | For those CMaps that are embedded, the integer value of the WMode entry in the CMap dictionary shall be identical to the WMode value in the embedded CMap stream |
| 7.21.3.3-3 | A CMap shall not reference any other CMap except those listed in ISO 32000-1:2008, 9.7.5.2, Table 118 |
| 7.21.4.1-1 | The font programs for all fonts used for rendering within a conforming file shall be embedded within that file, as defined in ISO 32000-1:2008, 9.9 |
| 7.21.4.1-2 | Embedded fonts shall define all glyphs referenced for rendering within the conforming file. A font referenced solely in text rendering mode 3 is not rendered and is thus exempt from the requirements that impact the visual representation of the glyphs of a font. In all cases for TrueType fonts that are to be rendered, character codes shall be able to be mapped to glyphs according to ISO 32000-1:2008, 9.6.6.4 without the use of a non-standard mapping chosen by the conforming processor |
| 7.21.4.2-1 | If the FontDescriptor dictionary of an embedded Type 1 font contains a CharSet string, then it shall list the character names of all glyphs present in the font program, regardless of whether a glyph in the font is referenced or used by the PDF or not |
| 7.21.4.2-2 | If the FontDescriptor dictionary of an embedded CID font contains a CIDSet stream, then it shall identify all CIDs which are present in the font program, regardless of whether a CID in the font is referenced or used by the PDF or not |
| 7.21.5-1 | For every font embedded in a conforming file and used for rendering, the glyph width information in the font dictionary and in the embedded font program shall be consistent |
| 7.21.6-1 | For all non-symbolic TrueType fonts used for rendering, the embedded TrueType font program shall contain one or several non-symbolic cmap entries such that all necessary glyph lookups can be carried out |
| 7.21.6-2 | All non-symbolic TrueType fonts shall have either MacRomanEncoding or WinAnsiEncoding as the value for the Encoding key in the Font dictionary or as the value for the BaseEncoding key in the dictionary which is the value of the Encoding key in the Font dictionary. In addition, no non-symbolic TrueType font shall define a Differences array unless all of the glyph names in the Differences array are listed in the Adobe Glyph List and, if the font program is embedded, it shall contain at least the Microsoft Unicode (3,1 – Platform ID = 3, Encoding ID = 1) encoding in the ‘cmap’ table |
| 7.21.6-3 | Symbolic TrueType fonts shall not contain an Encoding entry in the font dictionary |
| 7.21.6-4 | The ‘cmap’ table in the embedded font program for a symbolic TrueType font shall contain either exactly one encoding or it shall contain, at least, the Microsoft Symbol (3,0 – Platform ID=3, Encoding ID=0) encoding |
| 7.21.7-1 | The Font dictionary of all fonts shall define the map of all used character codes to Unicode values, either via a ToUnicode entry, or other mechanisms as defined in ISO 14289-1, 7.21.7 |
| 7.21.7-2 | The Unicode values specified in the ToUnicode CMap shall all be greater than zero (0), but not equal to either U+FEFF or U+FFFE |
| 7.21.8-1 | A PDF/UA compliant document shall not contain a reference to the .notdef glyph from any of the text showing operators, regardless of text rendering mode, in any content stream |
Frequently Asked Questions
What does “natural language cannot be determined” mean in PDF/UA validation?
It means the PDF is missing a valid language tag (Lang entry) at the document, structure element, or content level. The fix is to set a correct language identifier in the document metadata or the affected structure element. Covered under clause 7.2-34.
Why do veraPDF, PAC, Adobe Preflight, and CommonLook report different errors for the same PDF?
Each validator implements ISO 14289-1 independently and applies different logic, heuristics, and rule coverage. In our study of 155 PDF test files, the four leading validators produced inconsistent results in 50.3% of cases – meaning the same file passed one tool and failed another. This does not mean one tool is wrong. It reflects genuine differences in how each tool interprets ambiguous clauses, which errors it prioritizes, and how it handles edge cases. The practical consequence: relying on a single validator can produce incomplete compliance conclusions. Cross-checking with at least two tools is strongly recommended for any document requiring formal compliance. See also: PDF/UA Validator Comparison (155 files tested).
Can automated tools fix all PDF/UA-1 validation errors automatically?
Many can. Automated tools – including PDFix Desktop’s Auto-Fix – resolve all machine-checkable errors: missing metadata, font embedding, DisplayDocTitle, language tags, and role mapping. However, approximately one third of PDF/UA criteria require human verification and cannot be automated. Errors that need manual judgment include whether alt text meaningfully describes an image, whether reading order reflects the document’s logical structure, and whether heading levels match the actual content hierarchy. A document can pass every automated check and still fail real-world accessibility testing. Best practice is to run automated fixes first, revalidate, then manually review remaining errors.
What is the correct fix for “alternative text missing for Figure” – and when should an image be artifacted instead?
The fix depends on whether the image carries meaning – and no automated tool can decide this for you.
– Informational image – add meaningful Alt text describing what the image communicates, not just what it looks like.
– Decorative image – do not add empty alt text. Mark it as an Artifact instead. An artifacted element is excluded from the tag tree and ignored by screen readers. Adding empty alt text to a decorative image is itself a PDF/UA error.
In PDFix Desktop, use the Tags panel to set the Alt text or change the element type to Artifact depending on which applies.
What causes “font not embedded” and “character cannot be mapped to Unicode” – and are they the same error?
Related but not the same. Both are font errors that frequently appear together – but they describe different problems.
“Font not embedded” (clause 7.21.4.1-1) means the PDF references a font that is not included in the file itself. Screen readers cannot reliably read text when the font is missing, which makes the document inaccessible and causes it to fail PDF/UA validation.
“Character cannot be mapped to Unicode” (clause 7.21.7-1) means the font is present but lacks the data needed to translate its characters into readable text. The document may look correct on screen but fails when a screen reader, search tool, or copy-paste tries to extract the text.
In PDFix Desktop, use Embed Fonts to fix the first error and Add Missing Unicodes for the second. For complex cases – such as broken encoding tables or CID font errors – PDFix also offers an automated Font Fix action that detects and repairs both issues in one step.
START VALIDATING – FREE
Validate. Fix. Comply.
Run PDF/UA-1 validation free with PDFix Desktop Lite – then fix every error with the full power of PDFix Desktop Pro.








