Methodology
What we check, how we score it, and where a machine stops.
Every number in the product links here. This page lists the exact criteria we test, the formula behind the score, what is left out of the denominator and why, the standards we test against, and the things no automated tool can decide. We publish it because a score you cannot inspect is not a measurement.
The document catalogue
52 criteria across the file types you can upload today: 34 a machine tests, 15 a person must judge, 3 not yet machine-tested in this version. Every result shows its own share of this list, so nothing we do not test can quietly disappear.
This table is rendered from the same file the engine scores against. Word (.docx) and Excel (.xlsx) catalogues are built and tested but those files cannot be uploaded yet; they are listed here the day they can be.
Read with a PDF parser, not rendered and guessed: the structure tree, metadata, viewer preferences, outline, page operators, form fields and annotations are inspected directly.
22 criteria · 14 machine · 6 person · 2 not yet
Tested against EN 301 549 clause 10 (non-web documents) and PDF/UA-1 (ISO 14289-1).
| Criterion | Clause | WCAG | Who tests it |
|---|---|---|---|
Document is tagged (has a structure tree) Without tags a screen reader gets a stream of characters with no headings, no reading order and no alt text — the single biggest document failure. | EN 301 549 clause 10.1.3.1 · PDF/UA-1 §7.1 | 1.3.1 | Machine |
Document title set in metadata The title is the first thing a screen reader announces and how the file is named in tabs and history; a blank or placeholder title says nothing. | EN 301 549 clause 10.2.4.2 · PDF/UA-1 §7.1 | 2.4.2 | Machine |
Title shown in the window, not the file name Even with a title set, viewers show the file name unless the document asks for the title — "final_v3.pdf" is what the user hears. | EN 301 549 clause 10.2.4.2 · PDF/UA-1 §7.1 | 2.4.2 | Machine |
Primary language declared Screen readers pick pronunciation rules from the document language; without it English text can be read with a French voice. | EN 301 549 clause 10.3.1.1 · PDF/UA-1 §7.2 | 3.1.1 | Machine |
Changes of language are marked A French quotation in an English document needs its own language tag so it is pronounced correctly. The person checks: Does the document contain passages in another language? If so, do those tags carry their own language? | EN 301 549 clause 10.3.1.2 · PDF/UA-1 §7.2 | 3.1.2 | Person |
Figures have alternate descriptions A figure without a description is announced as "graphic" and nothing else. | EN 301 549 clause 10.1.1.1 · PDF/UA-1 §7.3 | 1.1.1 | Machine |
Alternate descriptions are meaningful "image1.jpg" or "photo" is present but useless; the description has to convey what the picture is for. The person checks: Read each figure description: does it convey the purpose of the image, not just its existence? | EN 301 549 clause 10.1.1.1 · PDF/UA-1 §7.3 | 1.1.1 | Person |
Decorative images marked as artifacts Background art and rules that are not tagged as artifacts get announced as unlabelled graphics, one after another. | EN 301 549 clause 10.1.1.1 · PDF/UA-1 §7.1 | 1.1.1 | Machine |
Heading levels present and not skipped Screen-reader users navigate long documents by headings; a jump from H1 to H4 breaks the outline they rely on. | EN 301 549 clause 10.1.3.1 · PDF/UA-1 §7.4 | 1.3.1 | Machine |
Heading structure is logical Headings can be present and in order and still describe the wrong things. The person checks: Read the headings in order: do they work as a table of contents for the document? | EN 301 549 clause 10.2.4.6 · PDF/UA-1 §7.4 | 2.4.6 | Person |
Tables have header cells Without TH cells a screen reader reads a table as a list of loose numbers. | EN 301 549 clause 10.1.3.1 · PDF/UA-1 §7.5 | 1.3.1 | Machine |
Header cells declare their scope A header cell has to say whether it heads a row or a column so each data cell can be announced with the right label. The person checks: Open the Table Editor: does each TH carry a Scope (Row or Column)? | EN 301 549 clause 10.1.3.1 · PDF/UA-1 §7.5 | 1.3.1 | Person |
Reading order defined The tag order is the order a screen reader reads; if it is not defined the reader guesses from the page geometry. | EN 301 549 clause 10.1.3.2 · PDF/UA-1 §7.1 | 1.3.2 | Machine |
Reading order is sensible A defined order can still read a sidebar in the middle of a sentence. The person checks: Read the document with the Order panel open or with a screen reader: does it read in the order a sighted reader would? | EN 301 549 clause 10.1.3.2 · PDF/UA-1 §7.1 | 1.3.2 | Person |
Bookmarks present for documents over 20 pages Bookmarks are the table of contents for long documents; without them every reader scrolls. | EN 301 549 clause 10.2.4.5 · PDF/UA-1 §7.17 | 2.4.5 | Machine |
Text is real text, not a scanned image A scanned page is a picture of words; assistive technology can read none of it. | EN 301 549 clause 10.1.1.1 · PDF/UA-1 §7.2 | 1.1.1 | Machine |
Colour contrast of text Body text needs 4.5:1 against its background (3:1 for large text) to be readable with low vision. Why not yet: Measuring rendered text colour against its real background in a PDF needs page rendering that this version does not run; use the brand palette result for the approved pairs, and check the rendered page by eye. | EN 301 549 clause 10.1.4.3 | 1.4.3 | Not yet |
Form fields have labels and tooltips A field with no name and no tooltip is announced as "edit text" with no clue what to type. | EN 301 549 clause 10.3.3.2 · PDF/UA-1 §7.18.4 | 3.3.2 | Machine |
No information conveyed by colour alone Red-for-bad and green-for-good is invisible to colour-blind readers unless a second cue (text, icon, pattern) carries the meaning. The person checks: Look at charts, legends and status markers: would the meaning survive in black and white? | EN 301 549 clause 10.1.4.1 | 1.4.1 | Person |
Links have descriptive text "Click here" and raw URLs read aloud tell the listener nothing about where the link goes. | EN 301 549 clause 10.2.4.4 · PDF/UA-1 §7.18.5 | 2.4.4 | Machine |
Fonts map every character to Unicode A font without a ToUnicode map produces gibberish when text is extracted or read aloud. Why not yet: Checking every embedded font’s character mapping needs a PDF/UA validator (veraPDF) that this version does not run. | EN 301 549 clause 10.1.1.1 · PDF/UA-1 §7.21 | 1.1.1 | Not yet |
Security settings allow assistive technology A PDF that forbids content extraction locks screen readers out entirely. | EN 301 549 clause 10.1.1.1 · PDF/UA-1 §7.1 | 1.1.1 | Machine |
PowerPoint (.pptx)
The presentation package is opened and every slide, placeholder, shape, picture, table, hyperlink, media object and note is read from its XML — including the theme colours the text actually inherits.
17 criteria · 12 machine · 5 person
Tested against EN 301 549 clause 10 (non-web documents).
| Criterion | Clause | WCAG | Who tests it |
|---|---|---|---|
Every slide has a populated title Slide titles are how a screen-reader user moves through a deck; an untitled slide is announced by number only. | EN 301 549 clause 10.2.4.6 | 2.4.6 | Machine |
Slide titles are unique across the deck Five slides called "Overview" cannot be told apart in the slide list a screen reader presents. | EN 301 549 clause 10.2.4.6 | 2.4.6 | Machine |
Shape reading order follows the visual order PowerPoint reads shapes in the order they were added, not where they sit on the slide. | EN 301 549 clause 10.1.3.2 | 1.3.2 | Machine |
Reading order makes sense Top-to-bottom, left-to-right is a heuristic; a two-column slide may need a different order. The person checks: Tab through each slide (or use the Reading Order pane): is the order the one a sighted viewer follows? | EN 301 549 clause 10.1.3.2 | 1.3.2 | Person |
Images, charts, SmartArt and groups have alt text Objects without alt text are announced as "picture" or skipped. | EN 301 549 clause 10.1.1.1 | 1.1.1 | Machine |
Alt text is meaningful, not a file name or "Picture 4" PowerPoint fills alt text with the file name or its own auto-description; that is a placeholder, not a description. | EN 301 549 clause 10.1.1.1 | 1.1.1 | Machine |
Alt text conveys the purpose of the image A description can be present and wrong. The person checks: Read each alt text next to its image: would a listener get the same point as a viewer? | EN 301 549 clause 10.1.1.1 | 1.1.1 | Person |
Tables have a header row Without a header row the table reads as loose values. | EN 301 549 clause 10.1.3.1 | 1.3.1 | Machine |
Text contrast against the slide background Body text needs 4.5:1 against its background (3:1 for large text). | EN 301 549 clause 10.1.4.3 | 1.4.3 | Machine |
Text placed over an image is readable Text on a photo has no single background colour; the worst spot decides. The person checks: Where text sits on an image, is it readable at the busiest part of the picture? | EN 301 549 clause 10.1.4.3 | 1.4.3 | Person |
Body text is not below the minimum size Text under 12pt on a slide is unreadable from the back of a room and hard for low vision at any distance. | EN 301 549 clause 10.1.4.4 | 1.4.4 | Machine |
No text baked into images Text rendered as pixels cannot be read aloud, enlarged cleanly or translated. | EN 301 549 clause 10.1.4.5 | 1.4.5 | Machine |
Hyperlinks have descriptive text "Click here" and raw URLs tell the listener nothing about the destination. | EN 301 549 clause 10.2.4.4 | 2.4.4 | Machine |
Embedded video and audio have captions Media without captions or a transcript excludes deaf and hard-of-hearing viewers. | EN 301 549 clause 10.1.2.2 / 10.1.2.1 | 1.2.2 | Machine |
Notes do not carry meaning missing from the slide Speaker notes are not read in slideshow mode; content that only lives there is lost to the audience. The person checks: Do the speaker notes contain facts the audience needs that the slide itself does not show? | EN 301 549 clause 10.1.3.1 | 1.3.1 | Person |
No information conveyed by colour alone Colour-coded charts and status markers need a second cue. The person checks: Would the charts and markers still make sense printed in black and white? | EN 301 549 clause 10.1.4.1 | 1.4.1 | Person |
Document language set Screen readers pick pronunciation from the declared language. | EN 301 549 clause 10.3.1.1 | 3.1.1 | Machine |
Images (JPEG, PNG)
Pixels are analysed for text rendered as picture (OCR), for the contrast of that text, and for the dominant colours; the metadata is read for an embedded accessibility description.
7 criteria · 4 machine · 2 person · 1 not yet
Tested against EN 301 549 clause 10 (non-web documents).
| Criterion | Clause | WCAG | Who tests it |
|---|---|---|---|
No text rendered as pixels Text inside an image cannot be read aloud, enlarged cleanly, searched or translated. | EN 301 549 clause 10.1.4.5 | 1.4.5 | Machine |
Contrast of text in the image against its background Where an image does carry text, that text still needs 4.5:1 against what is behind it. | EN 301 549 clause 10.1.4.3 | 1.4.3 | Machine |
Dominant colour pairs clear the contrast thresholds When the dominant colours are approved brand colours that fail against each other, every asset built on that pair inherits the problem. | EN 301 549 clause 10.1.4.3 | 1.4.3 | Machine |
Embedded accessibility description (IPTC/XMP) present A description embedded in the file travels with it into every DAM, CMS and document; an asset library without them is a quantifiable gap to remediate. | EN 301 549 clause 10.1.1.1 | 1.1.1 | Machine |
Alt text where the image is used Alt text lives in the page, slide or document that places the image, not in the image file. Why not yet: A standalone image cannot be judged on alt text: the attribute belongs to the container that places it. This is stated, not scored. | EN 301 549 clause 10.1.1.1 | 1.1.1 | Not yet |
No information conveyed by colour alone Infographics that rely on colour coding need a second cue. The person checks: Would the image still make its point in black and white? | EN 301 549 clause 10.1.4.1 | 1.4.1 | Person |
Embedded description is meaningful A description can be present and say nothing. The person checks: Does the embedded description say what the image shows, not its file name or a keyword list? | EN 301 549 clause 10.1.1.1 | 1.1.1 | Person |
SVG
The vector source is parsed for a title, an accessible role, a description and live text; outlined text is caught by rasterising the graphic and reading it back.
6 criteria · 4 machine · 2 person
Tested against EN 301 549 clause 10 (non-web documents).
| Criterion | Clause | WCAG | Who tests it |
|---|---|---|---|
SVG has a <title> The <title> element is the accessible name of an inline SVG; without it the graphic is silent. | EN 301 549 clause 10.1.1.1 | 1.1.1 | Machine |
role="img" where the SVG is a single graphic Without role="img" some screen readers read every path of the graphic; with it the SVG is announced once, by its title. | EN 301 549 clause 10.1.1.1 | 1.1.1 | Machine |
Text is <text>, not outlined paths Outlined text is shapes, not words: unreadable and untranslatable. | EN 301 549 clause 10.1.4.5 | 1.4.5 | Machine |
Complex graphics have a <desc> A chart or diagram needs more than a title: a description of what it shows. The person checks: Is this a chart, diagram or infographic that needs a longer description than its title? | EN 301 549 clause 10.1.1.1 | 1.1.1 | Person |
No information conveyed by colour alone Colour-coded diagrams need a second cue. The person checks: Would the graphic still make its point in black and white? | EN 301 549 clause 10.1.4.1 | 1.4.1 | Person |
Text contrast Live text in an SVG needs 4.5:1 against the fill behind it. | EN 301 549 clause 10.1.4.3 | 1.4.3 | Machine |
The formula, and what is deliberately left out of it
Automated checks passed
passed ÷ (passed + failed) × 100
Passed and failed count only automated checks that ran and found something in the file they apply to. The result is rounded to a whole number and is never shown without two companions: how many of the catalogue criteria were machine-tested, and how many still need a person.
Not applicable — out of the denominator
A deck with no tables cannot fail the table-header check, and it does not get credit for it either. Checks that found nothing to test are listed with the reason and excluded from both sides of the fraction. They are never counted as passed.
Needs a person — outside the score, beside it
Whether alt text is truthful, whether a reading order makes sense, whether colour is the only way information is shown: a machine can find the object but cannot judge it. These criteria are never scored. Their count travels with the number everywhere it appears.
Not yet machine-tested — outside the score, named
A few criteria (rendered text contrast in PDFs, font-to-Unicode mapping, alt text on an image that sits inside a container) need a full validator this version does not include. They are listed with the reason on every result and on this page rather than dropped from the catalogue.
The tagging gate — a capped number, shown with the raw one
A PDF with no structure tree gives assistive technology nothing to work with, whatever else is right about it. When that check fails the displayed number is capped at 5 and the uncapped figure is shown next to it with the reason. Nothing is hidden; the cap stops a headline number from contradicting the single fact that matters most.
Could not be read — no number at all
A scanned or flattened PDF, an image-only page, an encrypted file: when nothing can be tested we say so in one sentence and show no percentage. A blank is more honest than a zero.
Brand-level averages carry the same figures
The documents view averages the per-file numbers and also pools passed over applicable across every file, with the total human-review count. The average is never shown without the pooled fraction behind it.
Where automation stops
We can tell you exactly where the line is because we work on both sides of it. A machine can establish that things exist and that measurable values clear a threshold. It cannot establish meaning.
A machine can establish
- Whether a PDF is tagged, titled, has a language, an outline, a real text layer, and figures with alt text
- Whether every slide has a title, whether titles repeat, and the order objects will be read in
- Whether pictures and shapes carry alt text, and whether that alt text is a placeholder like “Picture 4”
- Whether tables declare a header row and whether cells are merged
- The contrast ratio of text against its background where both colours are known
- Whether text has been rendered as pixels inside an image, and what it says
- Whether an image file carries an embedded accessibility description in its metadata
- Whether link text is meaningful on its own or is “click here”
- Whether body text is smaller than a readable minimum
Only a person can establish
- Whether the alt text describes what the image is for, not just what it shows
- Whether the reading order makes sense to a listener
- Whether the heading structure reflects the actual structure of the content
- Whether colour is the only thing carrying a meaning (the red line in a chart)
- Whether a video has accurate captions and an audio description
- Whether text placed over a photograph is readable in practice
- Whether speaker notes carry information the slide itself does not
- Whether a decorative image is actually decorative
Each of these appears on every result as a named criterion with the question the person should answer. The product records who answered it and when for website scans; the same guided flow for documents is on the roadmap.
Put together: a clean automated result is a floor. It tells you the file has no problems of the kind a machine can find, and it tells you how many criteria a machine looked at. It does not tell you the file meets a standard, and we do not say that it does — anywhere in the product, the reports, the exports or this site.
The standards we test against
Testing against a standard is what we do. Declaring conformance to one is a judgement only a full audit, with the human criteria answered, can make — and it is not something an automated tool can sell.
EN 301 549, clause 10
The European standard for ICT accessibility. Clause 10 is the part that applies to non-web documents — PDFs, presentations, spreadsheets, images — and it maps WCAG success criteria onto them. Every document criterion in our catalogue cites its clause 10 reference.
PDF/UA-1 (ISO 14289-1)
The ISO standard for accessible PDF. Where a PDF criterion has a PDF/UA clause — tagging, title, language, figure alt text, artifacts, fonts — it is cited alongside the clause 10 reference.
WCAG 2.2 AA, as mapped
WCAG is written for web content. We cite the underlying success criterion on each check for reference, but always through the clause 10 mapping, because that is the standard that actually speaks to documents.
Website scans, the same way
Website Accessibility Review runs the axe-core rule set for the WCAG version your jurisdiction references — in a real browser, on the rendered page.
What runs
Each page is audited as loaded, then again after every menu, dialog and expandable panel we can open, then walked with the Tab key. Text contrast is measured from the rendered pixels, which catches text over photographs and gradients that source-code scanners miss. Linked PDFs are checked for tagging, a title, a language, alt text on figures and a readable text layer. Links are status-checked.
What the numbers mean
A violation is a measured fact: a ratio, a missing attribute, an element the keyboard cannot reach. Counts are shown by severity with the number of checks that found nothing. Automated testing covers roughly a third of WCAG; the remaining criteria are presented as 22 guided manual checks, recorded with who answered them and when.
What is excluded
When a site is larger than one scan covers, the report says so and shows how many pages were audited — pages are never silently dropped. The link report shows how many of the links found were checked. A result with zero violations is described as having no automated failures — never as a clean site.
Standards by jurisdiction
ADA Title II references WCAG 2.1 AA; Section 508 references WCAG 2.0 AA plus its own rules; the European Accessibility Act references EN 301 549; the UK, Canada and Australia reference the versions their guidance names. The report is stamped with the standard it tested.
Words we do not use
An automated tool cannot know that a document or a site satisfies a legal standard, so we never say one does. You will not find the vocabulary of certification, guarantees or conformance in this product, its reports or its exports — a script checks the source before every release. What you will find is what we checked, what we found, what we could not test, and what still needs a person.
If a vendor tells you an automated tool makes a document or a website satisfy a standard, ask them for their catalogue and their denominator. Ours are above.