Accessibility check: Excel workbook, before remediation

Produced by xlsx_a11y_check.py (our rule-based checker, modelled on Microsoft Accessibility Checker rules for Excel) v1.0. This is our own rule-based script that reads the workbook's SpreadsheetML directly. Its rules are modelled on the rules Microsoft publishes for the Excel Accessibility Checker, with a few additions marked "our addition"; it is not Microsoft's tool, severities are ours, and counts will not match Excel's own checker exactly. File: accessible-excel-before.xlsx

Errors: 4Warnings: 23Tips: 6

IDRuleSeverityCount
X01Workbook title property is empty
Modelled on: Our addition (not an Excel checker rule): document title, WCAG 2.4.2 / EN 301 549 10.2.4.2; becomes the PDF title on export
error1
X02Workbook language property (dc:language) not set
Modelled on: Our addition: WCAG 3.1.1 / EN 301 549 10.3.1.1; Excel stores no language per cell
warning1
X03Picture, chart, shape or group without alternative text (and not marked decorative)
Modelled on: Missing alternative text
error2
X04Alternative text is a generic label or file name ("Picture", "Chart 1", "logo.png")
Modelled on: Missing alternative text (meaningful alt text; manual review)
warning0
X05Excel Table without a header row (headerRowCount="0")
Modelled on: Missing table header
error1
X06Excel Table header names are generic ("Column1", "Sütun1")
Modelled on: Missing table header (header must describe the column)
warning0
X07Merged cells
Modelled on: Merged cells
warning4
X08Default sheet name ("Sheet1", "Sayfa1", "Tabelle1" ...)
Modelled on: Default sheet names
warning2
X09Hyperlink text is non-descriptive ("buraya tıklayın", "click here") or a raw URL
Modelled on: Unclear hyperlink text
warning1
X10Blank row or column inside an Excel Table
Modelled on: Blank table rows or columns
warning0
X11Blank row or column used as a spacer inside the used range of a sheet
Modelled on: Our addition, related to "Blank table rows or columns": screen-reader users may assume the data ended
tip4
X12Cell text contrast below WCAG 2.2 AA (4.5:1, or 3:1 for 18 pt / 14 pt bold)
Modelled on: Hard-to-read text contrast
warning14
X13Hidden sheet
Modelled on: Hidden sheets
warning1
X14Data range (3+ rows x 2+ columns) not defined as an Excel Table
Modelled on: Our addition: without a Table there is no programmatic header row
tip1
X15Possible colour-only meaning: fill/font colour varies among numeric cells of one column, or conditional formatting on numbers
Modelled on: Our addition (heuristic, manual review): WCAG 1.4.1 Use of Color
tip1

Workbook facts

Title: (empty) · Language: (not set) · Author: Ali Karabüyük · Cells checked for contrast: 96 (undetermined: 0)

SheetStateUsed rangeExcel TablesMergedFreezePrint titlesObjects / alt text
Sheet1visibleA1:K19-4--chart at A21: NO alt text; pic at M1: NO alt text
Sayfa2hiddenA1:C4Table1 A1:C4 (NO header row)0---

Findings

X01 - Workbook title property is empty (1)
X02 - Workbook language property (dc:language) not set (1)
X03 - Picture, chart, shape or group without alternative text (and not marked decorative) (2)
X05 - Excel Table without a header row (headerRowCount="0") (1)
X07 - Merged cells (4)
X08 - Default sheet name ("Sheet1", "Sayfa1", "Tabelle1" ...) (2)
X09 - Hyperlink text is non-descriptive ("buraya tıklayın", "click here") or a raw URL (1)
X11 - Blank row or column used as a spacer inside the used range of a sheet (4)
X12 - Cell text contrast below WCAG 2.2 AA (4.5:1, or 3:1 for 18 pt / 14 pt bold) (14)
X13 - Hidden sheet (1)
X14 - Data range (3+ rows x 2+ columns) not defined as an Excel Table (1)
X15 - Possible colour-only meaning: fill/font colour varies among numeric cells of one column, or conditional formatting on numbers (1)

What this script does not check