DocumentationReference

Every check

All 41 checks, with the WCAG success criterion each one maps to, its severity, and whether a machine can settle it.

The plugin runs 41 checks: 36 on the server and 5 in the browser, on the rendered page. This table is generated from the plugin’s own rule registry, so it is the real list rather than a description of it.

The same information is in the plugin, from the coverage panel linked on the dashboard and at the foot of every findings list.

Reading the table

Severity is how much damage the fault does: Critical, Serious, Moderate, Minor.

Settled by is the honest column. Machine means a check can decide on its own and the finding is a real fault. Person means the check can spot the situation but cannot judge it, so the finding is raised for review rather than reported as a barrier. 30 of the 41 can be settled automatically; the rest need somebody to look.

Pass is where the check runs. Browser checks only happen once a page has been opened in the inspector, so a page that has only had the server pass has only had 36 of the 41 run against it.

The checks

CheckWCAGSeveritySettled byPass
Image map region has no alt text
image-map-area-alt-missing
1.1.1CriticalMachineServer
Alt text is a file name or a placeholder
img-alt-is-filename
1.1.1SeriousMachineServer
Image has no alt attribute
img-alt-missing
1.1.1CriticalMachineServer
Alt text repeats the caption or title
img-alt-redundant
1.1.1MinorMachineServer
Alt text may be too long to listen to
img-alt-too-long
1.1.1MinorPersonServer
Image button has no alt text
input-image-alt-missing
1.1.1CriticalMachineServer
Audio needs a transcript
audio-needs-transcript
1.2.1SeriousPersonServer
Video may have no captions
video-needs-captions
1.2.2SeriousPersonServer
Bold text may be standing in for a heading
bold-text-as-heading
1.3.1ModeratePersonServer
Form field has no label
form-control-label-missing
1.3.1CriticalMachineServer
Form label is attached to the wrong thing
form-label-orphaned
1.3.1ModerateMachineServer
Heading is empty
heading-empty
1.3.1ModerateMachineServer
Heading level is skipped
heading-level-skipped
1.3.1ModerateMachineServer
Page has more than one top-level heading
heading-multiple-h1
1.3.1MinorPersonServer
Page has no main landmark
landmark-main-missing
1.3.1ModeratePersonServer
Page has no headings
page-has-no-headings
1.3.1SeriousMachineServer
Table header cell is empty
table-header-empty
1.3.1ModerateMachineServer
Table has no header cells
table-headers-missing
1.3.1SeriousPersonServer
Text has too little contrast with its background
colour-contrast
1.4.3SeriousMachineBrowser
The page cannot be zoomed
viewport-scaling-disabled
1.4.4SeriousMachineServer
Text is justified to both margins
text-justified
1.4.8MinorMachineServer
Scrollable area cannot be reached by keyboard
scrolling-region-not-reachable
2.1.1SeriousMachineBrowser
Content blinks or scrolls on its own
text-blinking
2.2.2SeriousMachineServer
Page has no title
document-title-missing
2.4.2SeriousMachineServer
Positive tabindex changes the focus order
tabindex-positive
2.4.3SeriousMachineServer
Clickable target is smaller than 24 by 24 pixels
target-too-small
2.5.8ModerateMachineBrowser
Page language is not set
html-lang-missing
3.1.1SeriousMachineServer
Text may be hard to read
reading-level-high
3.1.5MinorPersonServer
The same id is used more than once
duplicate-id
4.1.1ModerateMachineServer
ARIA attribute points at an element that does not exist
aria-reference-broken
4.1.2SeriousMachineServer
Button has no accessible name
button-name-missing
4.1.2CriticalMachineServer
Element is hidden from screen readers but still focusable
hidden-element-still-focusable
4.1.2SeriousMachineBrowser
Frame has no title
iframe-title-missing
4.1.2SeriousMachineServer

By success criterion

WCAGChecks
1.1.1image-map-area-alt-missing, img-alt-is-filename, img-alt-missing, img-alt-redundant, img-alt-too-long, input-image-alt-missing
1.2.1audio-needs-transcript
1.2.2video-needs-captions
1.3.1bold-text-as-heading, form-control-label-missing, form-label-orphaned, heading-empty, heading-level-skipped, heading-multiple-h1, landmark-main-missing, page-has-no-headings, table-header-empty, table-headers-missing, underline-not-a-link
1.4.1link-marked-by-colour-alone
1.4.3colour-contrast
1.4.4viewport-scaling-disabled
1.4.8text-justified
2.1.1link-not-keyboard-reachable, scrolling-region-not-reachable
2.2.2text-blinking
2.4.1link-anchor-broken
2.4.2document-title-missing
2.4.3tabindex-positive
2.4.4link-name-missing, link-text-not-descriptive, link-to-file
2.5.8target-too-small
3.1.1html-lang-missing
3.1.5reading-level-high
3.2.5link-opens-new-window
4.1.1duplicate-id
4.1.2aria-reference-broken, button-name-missing, hidden-element-still-focusable, iframe-title-missing

What is not here

This list is what the plugin checks, not what WCAG contains. A great deal of WCAG cannot be checked by software at all: whether a heading describes the section beneath it, whether focus order makes sense, whether your alt text is accurate, whether an error message helps.

A clean report means these 41 checks found nothing. It does not mean your site is accessible. See What it cannot do.

Changing the set

wsak_rules filters the server pass, wsak_browser_rules filters the browser pass. The browser pass additionally drops any finding naming a check outside its published list, so it cannot report checks that were never documented here.

Last updated . Something here wrong or missing? Tell us and we will fix it.