Accessibility check: docx before remediation

Produced by office_a11y_check.py (our checker script, modelled on Microsoft Accessibility Checker rules) v1.0. This is our own script that reads the Office Open XML directly; it is modelled on the rule set of Microsoft's Accessibility Checker but it is not Microsoft's tool and its counts will not match Microsoft's exactly. File: accessible-office-docx-before.docx

Errors: 37Warnings: 93Tips: 2

IDRuleSeverityCount
D01Document title property is empty
Modelled on: Document Title missing (Word: File > Info > Title)
error1
D02Document language not set
Modelled on: Document language / proofing language
error0
D03No heading styles used in document
Modelled on: No headings used / Headings (structure)
error1
D04"Fake" headings: short bold/large Normal paragraphs formatted to look like headings
Modelled on: Use Heading styles (Word: "Use built-in heading styles")
warning24
D05Heading levels skipped (e.g. H1 -> H3)
Modelled on: Skipped heading level
warning0
D06Image / drawing / diagram without alternative text
Modelled on: Missing alternative text
error8
D07Alternative text looks like a file name or generic label
Modelled on: Alt text not descriptive (manual review)
warning0
D08Object not inline with text (floating)
Modelled on: Object not inline
warning1
D09Table without a marked header row (Repeat Header Row / tblHeader)
Modelled on: Missing table header
error27
D10Table contains merged cells
Modelled on: Merged or split cells
warning22
D11Table rows that are entirely blank
Modelled on: Blank table rows or columns
warning0
D12Probable layout table (single row or single column)
Modelled on: Check whether table is used for layout
tip1
D13Hyperlink text is a raw URL
Modelled on: Unclear hyperlink text
warning11
D14Hyperlink text is non-descriptive ("click here", "here" ...)
Modelled on: Unclear hyperlink text
warning0
D15Empty paragraphs used for spacing (runs of 2 or more)
Modelled on: Use of repeated blank characters
warning32
D16List typed manually (bullet/number characters instead of list formatting)
Modelled on: Use list formatting (no direct MS rule; WCAG 1.3.1)
warning3
D17Text colour contrast below WCAG 2.2 AA (4.5:1, or 3:1 for large text)
Modelled on: Hard-to-read text contrast
error0
D18Header/footer object without alt text (watermark, logo)
Modelled on: Missing alternative text (header/footer)
tip1

Document facts

{
 "title": "",
 "core_language": "",
 "default_language_w:lang": "en-US",
 "paragraphs": 702,
 "tables": 27,
 "heading_count": 0,
 "paragraph_styles_used": {
  "Normal": 520,
  "List Paragraph": 165,
  "No Spacing": 10,
  "annotation text": 5,
  "Normal (Web)": 2
 },
 "drawings_in_body": 8,
 "hyperlinks": 14,
 "url_strings_in_text": 13,
 "empty_paragraphs_top_level": 276,
 "contrast_runs_checked": 3325,
 "contrast_runs_undetermined": 0
}

Findings

D01 - Document title property is empty (1)
D03 - No heading styles used in document (1)
D04 - "Fake" headings: short bold/large Normal paragraphs formatted to look like headings (24)
D06 - Image / drawing / diagram without alternative text (8)
D08 - Object not inline with text (floating) (1)
D09 - Table without a marked header row (Repeat Header Row / tblHeader) (27)
D10 - Table contains merged cells (22)
D12 - Probable layout table (single row or single column) (1)
D13 - Hyperlink text is a raw URL (11)
D15 - Empty paragraphs used for spacing (runs of 2 or more) (32)
D16 - List typed manually (bullet/number characters instead of list formatting) (3)
D18 - Header/footer object without alt text (watermark, logo) (1)

What this script does not check