PDF/UA checks

PDF/UA defines what a conforming document must contain; these are the 82 individual checks EqualWeb runs against a PDF to test it. Each one maps to a clause of ISO 14289-2, and most map to a WCAG 2.2 success criterion as well. Open any check for what it means in plain language, why it matters, and a step-by-step fix.

56 of them describe something an author can fix in the source document or in Acrobat. The remaining 26 are marked advanced: they describe defects inside the file's font and encoding internals, where the practical remedy is almost always to regenerate the PDF from a toolchain that produces conforming output rather than to edit the file.

PDF/UA checks, with the check identifier, what it means, severity, category and the WCAG success criteria it maps to.
Check What it means Severity Category WCAG 2.2
CHARACTER_UNICODEEvery character must map to UnicodeCriticalFonts & text encoding1.3.1 (A)
CHOICE_FIELD_OPT_TEXTDropdown options need textCriticalForms4.1.2 (A)
CONTENT_FONT_EMBEDDINGAll fonts must be embeddedCriticalFonts & text encoding
CONTENT_IS_TAGGEDAll real content must be tagged, decoration marked as artifactCriticalPage content1.3.1 (A)
DOC_ACCESSIBILITY_PERMISSIONSSecurity settings must not block assistive technologyCriticalDocument level1.3.1 (A)
DOC_LOGICAL_ORDERReading order must follow the visual orderCriticalDocument level1.3.2 (A)
DOC_TAGSThe document must be a tagged PDFCriticalDocument level1.3.1 (A)
FIGURE_ALT_TEXTImages need alternative textCriticalFigures & images1.1.1 (A)
FORM_FIELD_DESCRIPTIONForm fields need labelsCriticalForms3.3.2 (A), 4.1.2 (A)
FORMULA_ALT_TEXTFormulas need alternative textCriticalFigures & images1.1.1 (A)
IMAGE_OUTSIDE_FIGUREImages must be tagged as figuresCriticalFigures & images1.1.1 (A)
MULTIMEDIA_ALT_DESCRIPTION3D and rich media need alternative descriptionsCriticalAnnotations1.1.1 (A)
SCREEN_ANNOT_CONTENTSEmbedded media needs a text descriptionCriticalAnnotations1.1.1 (A)
TABLE_DATA_ASSOCIATIONData cells need to be linked to their headersCriticalTables1.3.1 (A)
TABLE_HEADER_SCOPEHeader cells need a scopeCriticalTables1.3.1 (A)
TABLE_HEADERS_EXISTTables need header cellsCriticalTables1.3.1 (A)
XFA_FORM_PRESENTXFA forms are not allowedCriticalForms4.1.2 (A)
ANNOT_DEPRECATED_TYPERemove deprecated annotation typesHighAnnotations
ANNOT_TAB_ORDERPages with annotations need a tab orderHighAnnotations2.4.3 (A)
ANNOT_TAGGEDAnnotations must appear in the tag treeHighAnnotations1.3.1 (A)
CODE_ALT_TEXTCode blocks need alternative textHighStructure & other1.3.1 (A)
COLOR_CONTRASTText needs sufficient contrast against its backgroundHighPage content1.4.3 (AA)
CUSTOM_TAG_MAPPINGCustom tags must be role-mappedHighStructure & other1.3.1 (A)
DOC_LANGThe document needs a primary languageHighDocument level3.1.1 (A)
FILEATTACHMENT_METADATAFile attachments need a description and relationshipHighAnnotations
FONT_CIDSYSTEMINFO_COMPATCIDSystemInfo must agree between font and CMapHighFonts & text encoding
FONT_CIDTOGIDMAPEmbedded CIDFontType2 fonts need a CIDToGIDMapHighFonts & text encoding
FONT_CMAP_EMBEDDEDCustom CMaps must be embeddedHighFonts & text encoding
FONT_TRUETYPE_NONSYMBOLIC_ENCODINGNon-symbolic TrueType fonts need a valid encodingHighFonts & text encoding
FONT_UNICODE_INVALID_VALUESToUnicode maps must not use reserved codepointsHighFonts & text encoding1.3.1 (A)
FORM_LBL_STRUCTUREVisible form labels need an Lbl elementHighForms1.3.1 (A), 3.3.2 (A)
FORM_XOBJECT_MCID_MULTIREFTagged Form XObjects must be referenced onceHighStructure & other1.3.1 (A)
H_TAG_USAGEUse numbered headings, not the generic H tagHighHeadings1.3.1 (A)
HEADER_NESTINGHeading levels must not skipHighHeadings1.3.1 (A)
LINK_PARENT_LINKLink annotations belong inside a Link elementHighLinks1.3.1 (A)
MARKUP_ANNOT_PARENT_ANNOTMarkup annotations belong inside an Annot elementHighAnnotations1.3.1 (A)
MEDIA_CLIP_ALTMedia clips need an Alt entryHighAnnotations1.2.1 (A)
NOTE_TAG_USAGEUse FENote instead of NoteHighStructure & other
REFERENCE_XOBJECTReference XObjects are not allowedHighStructure & other
STANDARD_TYPE_REMAPPEDStandard tags must not be re-mappedHighStructure & other1.3.1 (A)
TEXT_FIELD_RV_REQUIRES_VRich-text fields need a plain-text valueHighForms4.1.2 (A)
WIDGET_PARENT_FORMForm widgets belong inside a Form elementHighForms4.1.2 (A)
ANNOT_INVALID_PARENTAnnotations must not hang off headings or the document rootMediumAnnotations1.3.1 (A)
FENOTE_NOTETYPEFENote elements should declare their note typeMediumStructure & other
FIGURE_BBOXFigures need a bounding boxMediumFigures & images
FONT_CHARSET_COMPLETEType 1 CharSet must list every embedded glyphMediumFonts & text encoding
FONT_CIDSET_COMPLETECIDSet must list every embedded CIDMediumFonts & text encoding
FONT_GLYPH_WIDTH_CONSISTENTDeclared glyph widths must match the font programMediumFonts & text encoding
FONT_TRUETYPE_SYMBOLIC_ENCODINGSymbolic TrueType fonts must not declare an encodingMediumFonts & text encoding
FONT_WMODE_CONSISTENTCMap writing mode must be consistentMediumFonts & text encoding
FORM_FIELD_HIDDENForm fields must not be hidden by ancestor alt textMediumForms4.1.2 (A)
INTRA_DOC_STRUCTURE_DESTInternal links should target structure, not page numbersMediumDocument level
LINK_DESCRIPTIONLinks need a meaningful descriptionMediumLinks2.4.4 (A)
LIST_PARENT_ELEMENTList items must sit inside a listMediumLists1.3.1 (A)
MARKUP_ANNOT_DESCRIPTIONMarkup annotations need a descriptionMediumAnnotations1.1.1 (A)
MARKUP_ANNOT_TAGGEDMarkup annotations must be taggedMediumAnnotations1.3.1 (A)
MEDIA_CLIP_CTMedia clips need a content typeMediumAnnotations
MULTIPLE_H_IN_PARENTOnly one generic H per parentMediumHeadings1.3.1 (A)
OCCD_AS_KEYAutomatic layer state is not allowedMediumStructure & other
OCCD_NAMELayer configurations need a nameMediumStructure & other
OUTLINE_ACTION_ENTRYBookmarks must actually go somewhereMediumDocument level2.4.5 (AA)
POPUP_IN_STRUCTUREPopup annotations must stay out of the tag treeMediumAnnotations
PRINTERMARK_ARTIFACTPrinter marks must be artifactsMediumAnnotations
PUA_CHARACTER_USAGEAvoid Private Use Area characters for real textMediumFonts & text encoding1.3.1 (A)
RADIO_BUTTON_UNIQUE_NAMESRadio groups need distinct field namesMediumForms4.1.2 (A)
TABLE_DATA_STRUCTURETD cells must sit directly inside a rowMediumTables1.3.1 (A)
TABLE_HEADER_STRUCTURETH cells must sit directly inside a rowMediumTables1.3.1 (A)
TABLE_LEGALITYTables need valid row and cell structureMediumTables1.3.1 (A)
TABLE_REGULARITYTables must have a consistent column countMediumTables1.3.1 (A)
TABLE_ROW_STRUCTURERows must sit inside the table or a row groupMediumTables1.3.1 (A)
TOCI_REF_ENTRYTable-of-contents entries need a targetMediumStructure & other1.3.1 (A)
XMP_TEXT_PUAMetadata must not contain private-use charactersMediumMetadata2.4.2 (A)
DOC_BOOKMARKSLong documents need bookmarksLowDocument level2.4.5 (AA)
DOC_PDF_STANDARDThe file should declare PDF/UA conformanceLowDocument level
DOC_TITLEThe document needs a titleLowDocument level2.4.2 (A)
FIGURE_ALT_TEXT_EXPOSUREAncestor alt text is shadowing a figureLowFigures & images1.1.1 (A)
FIRST_HEADER_LEVELThe first heading should be an H1LowHeadings1.3.1 (A)
LINK_ALT_TEXT_EXPOSURENested link tags hide the link descriptionLowLinks2.4.4 (A)
LIST_BODY_ELEMENTList item content needs an LBodyLowLists1.3.1 (A)
METADATA_DISPLAY_TITLEViewers should show the title, not the file nameLowMetadata2.4.2 (A)
METADATA_EMBEDDED_FILE_SPECSAttachments need a Unicode filenameLowMetadata
TABLE_SUMMARYComplex tables benefit from a summaryLowTables

Where these come from

These are the checks behind an EqualWeb PDF accessibility report, so a finding in a report and a row in this table are the same thing. For hands-on practice, the Learn section covers the defects most documents actually fail: accessible documents & PDF, tables in PDF, links & annotations, and headings, lists & tag semantics.