Accessibility Conformance Testing (ACT) rules
Every BarrierOps report says how many rules of its primary testing engine implement an ACT rule from the World Wide Web Consortium (W3C), and links here for the list. This is that list: 26 rules, with the Web Content Accessibility Guidelines (WCAG) success criteria each one maps to, its default impact and whether a scan runs it.
An ACT rule is a test procedure the W3C publishes, written to the ACT Rules Format 1.1. It states exactly what to check and what counts as a failure, so that different testing tools check the same thing the same way. The W3C keeps the full list of ACT rules.
The list was generated from version 4.13.0 of our primary testing engine, the first engine named in the footer of this page. 24 of the 26 rules run in a scan.
The rules
A scan runs only the engine’s rules for WCAG 2.0 and 2.1 success criteria at Level A and AA. The 2 rules outside that set stay on this list, marked “No” under “Runs in a scan”, because every report counts the whole list.
| Rule | What it checks | WCAG success criteria | ACT rules | Default impact | Runs in a scan |
|---|---|---|---|---|---|
area-alt | Active <area> elements must have alternative text |
| Critical | Yes | |
aria-command-name | ARIA commands must have an accessible name | 4.1.2 Name, Role, Value (Level A) | Serious | Yes | |
aria-input-field-name | ARIA input fields must have an accessible name | 4.1.2 Name, Role, Value (Level A) | Serious | Yes | |
aria-tab-name | ARIA tab nodes must have an accessible name | 4.1.2 Name, Role, Value (Level A) | None named | Serious | Yes |
aria-toggle-field-name | ARIA toggle fields must have an accessible name | 4.1.2 Name, Role, Value (Level A) | Serious | Yes | |
autocomplete-valid | autocomplete attribute must be used correctly | 1.3.5 Identify Input Purpose (Level AA) | Serious | Yes | |
avoid-inline-spacing | Inline text spacing must be adjustable with custom stylesheets | 1.4.12 Text Spacing (Level AA) | Serious | Yes | |
button-name | Buttons must have discernible text | 4.1.2 Name, Role, Value (Level A) | Critical | Yes | |
color-contrast | Elements must meet minimum color contrast ratio thresholds | 1.4.3 Contrast (Minimum) (Level AA) | Serious | Yes | |
color-contrast-enhanced | Elements must meet enhanced color contrast ratio thresholds | 1.4.6 | Serious | No | |
document-title | Documents must have <title> element to aid in navigation | 2.4.2 Page Titled (Level A) | Serious | Yes | |
html-has-lang | <html> element must have a lang attribute | 3.1.1 Language of Page (Level A) | Serious | Yes | |
html-lang-valid | <html> element must have a valid value for the lang attribute | 3.1.1 Language of Page (Level A) | Serious | Yes | |
html-xml-lang-mismatch | HTML elements with lang and xml:lang must have the same base language | 3.1.1 Language of Page (Level A) | Moderate | Yes | |
image-alt | Images must have alternative text | 1.1.1 Non-text Content (Level A) | Critical | Yes | |
input-button-name | Input buttons must have discernible text | 4.1.2 Name, Role, Value (Level A) | Critical | Yes | |
input-image-alt | Image buttons must have alternative text |
| Critical | Yes | |
label | Form elements must have labels | 4.1.2 Name, Role, Value (Level A) | Critical | Yes | |
link-name | Links must have discernible text |
| Serious | Yes | |
meta-viewport | Zooming and scaling must not be disabled | 1.4.4 Resize text (Level AA) | Moderate | Yes | |
no-autoplay-audio | <video> or <audio> elements must not play automatically | 1.4.2 Audio Control (Level A) | Moderate | Yes | |
presentation-role-conflict | Elements marked as presentational should be consistently ignored | None | Minor | No | |
role-img-alt | [role="img"] and [role="image"] elements must have alternative text | 1.1.1 Non-text Content (Level A) | Serious | Yes | |
select-name | Select element must have an accessible name | 4.1.2 Name, Role, Value (Level A) | Critical | Yes | |
svg-img-alt | <svg> elements with an img or image role must have alternative text | 1.1.1 Non-text Content (Level A) | Serious | Yes | |
valid-lang | lang attribute must have a valid value | 3.1.2 Language of Parts (Level AA) | Serious | Yes |
The engine marks 1 rule as implementing an ACT rule without naming which one, so its row says “None named” rather than a guessed id.
What this list does not tell you
When the rules for a success criterion find nothing on a page, a report says “No failures detected by automated rules”. It never says the criterion is met.
These are not the only rules a scan runs. The engine has other rules for WCAG 2.0 and 2.1 at Level A and AA that do not implement an ACT rule, and a scan runs those as well.
Automated testing detects roughly 30–40% of real barriers. Manual testing covers the rest.
How this list is kept current
Nobody types this list. Every change to our code regenerates it from the engine, and the check fails if the list on this page no longer matches the engine a scan runs.
Every finding records the engine and the version that produced it, and findings from different engine versions are never compared without saying so.