Implementation report of axe-core (Deque Systems)
ACT rules are tested using a canary version of axe-core, which can be accessed by installing axe-core@next from NPM.
For these results, all rules including “experimental” rules are enabled.
Checks with “unsupported” in its ID are disabled, which deal with issues of accessibility support issues which ACT rules do not account for, often by design.
ARIA required context role
| Testcase Url | Expected | aria-required-parent | aria-required-children |
|---|---|---|---|
| Passed Example 1 | passed | passed | passed |
| Passed Example 2 | passed | passed | inapplicable |
| Passed Example 3 | passed | passed | passed |
| Passed Example 4 | passed | passed | passed |
| Passed Example 5 | passed | passed | passed |
| Passed Example 6 | passed | passed | passed |
| Failed Example 1 | failed | failed | inapplicable |
| Failed Example 2 | failed | failed | failed |
| Failed Example 3 | failed | passed | passed |
| Failed Example 4 | failed | failed | failed |
| Inapplicable Example 1 | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 3 | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 4 | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 5 | inapplicable | passed | inapplicable |
ARIA state or property is permitted
| Testcase Url | Expected | aria-allowed-attr | aria-valid-attr-value |
|---|---|---|---|
| Passed Example 1 | passed | passed | passed |
| Passed Example 2 | passed | passed | passed |
| Passed Example 3 | passed | passed | passed |
| Passed Example 4 | passed | passed | passed |
| Passed Example 5 | passed | passed | passed |
| Passed Example 6 | passed | passed | passed |
| Passed Example 7 | passed | passed | passed |
| Passed Example 8 | passed | passed | passed |
| Passed Example 9 | passed | passed | passed |
| Passed Example 10 | passed | passed | passed |
| Passed Example 11 | passed | passed | passed |
| Failed Example 1 | failed | failed | failed |
| Failed Example 2 | failed | passed | passed |
| Inapplicable Example 1 | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable | inapplicable |
Audio element content has text alternative
| Testcase Url | Expected | audio-caption |
|---|---|---|
| Passed Example 1 | passed | cantTell |
| Passed Example 2 | passed | cantTell |
| Passed Example 3 | passed | cantTell |
| Failed Example 1 | failed | cantTell |
| Failed Example 2 | failed | cantTell |
| Inapplicable Example 1 | inapplicable | cantTell |
| Inapplicable Example 2 | inapplicable | cantTell |
| Inapplicable Example 3 | inapplicable | inapplicable |
Audio or video element avoids automatically playing audio
| Testcase Url | Expected | no-autoplay-audio |
|---|---|---|
| Passed Example 1 | passed | cantTell |
| Passed Example 2 | passed | cantTell |
| Passed Example 3 | passed | cantTell |
| Failed Example 1 | failed | cantTell |
| Failed Example 2 | failed | cantTell |
| Inapplicable Example 1 | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | cantTell |
| Inapplicable Example 3 | inapplicable | inapplicable |
Autocomplete attribute has valid value
| Testcase Url | Expected | autocomplete-valid |
|---|---|---|
| Passed Example 1 | passed | passed |
| Passed Example 2 | passed | passed |
| Passed Example 3 | passed | passed |
| Passed Example 4 | passed | passed |
| Passed Example 5 | passed | passed |
| Passed Example 6 | passed | passed |
| Passed Example 7 | passed | passed |
| Passed Example 8 | passed | passed |
| Failed Example 1 | failed | failed |
| Failed Example 2 | failed | failed |
| Failed Example 3 | failed | failed |
| Failed Example 4 | failed | failed |
| Failed Example 5 | failed | failed |
| Inapplicable Example 1 | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable |
| Inapplicable Example 3 | inapplicable | inapplicable |
| Inapplicable Example 4 | inapplicable | inapplicable |
| Inapplicable Example 5 | inapplicable | inapplicable |
| Inapplicable Example 6 | inapplicable | inapplicable |
| Inapplicable Example 7 | inapplicable | passed |
Button has non-empty accessible name
| Testcase Url | Expected | button-name | aria-command-name |
|---|---|---|---|
| Passed Example 1 | passed | passed | inapplicable |
| Passed Example 2 | passed | inapplicable | inapplicable |
| Passed Example 3 | passed | passed | inapplicable |
| Passed Example 4 | passed | inapplicable | passed |
| Passed Example 5 | passed | passed | inapplicable |
| Passed Example 6 | passed | passed | inapplicable |
| Passed Example 7 | passed | inapplicable | inapplicable |
| Failed Example 1 | failed | failed | inapplicable |
| Failed Example 2 | failed | failed | inapplicable |
| Failed Example 3 | failed | inapplicable | failed |
| Failed Example 4 | failed | failed | inapplicable |
| Failed Example 5 | failed | failed | inapplicable |
| Inapplicable Example 1 | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 3 | inapplicable | passed | inapplicable |
| Inapplicable Example 4 | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 5 | inapplicable | passed | inapplicable |
Element with aria-hidden has no content in sequential focus navigation
| Testcase Url | Expected | aria-hidden-focus |
|---|---|---|
| Passed Example 1 | passed | passed |
| Passed Example 2 | passed | passed |
| Passed Example 3 | passed | passed |
| Passed Example 4 | passed | cantTell |
| Passed Example 5 | passed | passed |
| Failed Example 1 | failed | failed |
| Failed Example 2 | failed | failed |
| Failed Example 3 | failed | failed |
| Failed Example 4 | failed | failed |
| Failed Example 5 | failed | failed |
| Failed Example 6 | failed | cantTell |
| Inapplicable Example 1 | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable |
| Inapplicable Example 3 | inapplicable | inapplicable |
Element with presentational children has no focusable content
| Testcase Url | Expected | label | nested-interactive |
|---|---|---|---|
| Passed Example 1 | passed | inapplicable | passed |
| Passed Example 2 | passed | inapplicable | passed |
| Passed Example 3 | passed | passed | passed |
| Failed Example 1 | failed | inapplicable | passed |
| Failed Example 2 | failed | inapplicable | failed |
| Failed Example 3 | failed | failed | passed |
| Inapplicable Example 1 | inapplicable | inapplicable | inapplicable |
Form field has non-empty accessible name
| Testcase Url | Expected | aria-input-field-name | label | select-name |
|---|---|---|---|---|
| Passed Example 1 | passed | inapplicable | passed | inapplicable |
| Passed Example 2 | passed | inapplicable | passed | inapplicable |
| Passed Example 3 | passed | inapplicable | inapplicable | passed |
| Passed Example 4 | passed | inapplicable | passed | inapplicable |
| Passed Example 5 | passed | inapplicable | passed | inapplicable |
| Passed Example 6 | passed | passed | inapplicable | inapplicable |
| Passed Example 7 | passed | inapplicable | inapplicable | inapplicable |
| Failed Example 1 | failed | inapplicable | failed | inapplicable |
| Failed Example 2 | failed | inapplicable | failed | inapplicable |
| Failed Example 3 | failed | inapplicable | failed | inapplicable |
| Failed Example 4 | failed | inapplicable | inapplicable | failed |
| Failed Example 5 | failed | failed | inapplicable | inapplicable |
| Failed Example 6 | failed | failed | inapplicable | inapplicable |
| Failed Example 7 | failed | failed | inapplicable | inapplicable |
| Inapplicable Example 1 | inapplicable | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 3 | inapplicable | inapplicable | inapplicable | passed |
HTML page has lang attribute
| Testcase Url | Expected | html-has-lang |
|---|---|---|
| Passed Example 1 | passed | passed |
| Failed Example 1 | failed | failed |
| Failed Example 2 | failed | failed |
| Failed Example 3 | failed | failed |
| Failed Example 4 | failed | failed |
| Inapplicable Example 1 | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable |
HTML page has non-empty title
| Testcase Url | Expected | document-title |
|---|---|---|
| Passed Example 1 | passed | passed |
| Passed Example 2 | passed | passed |
| Passed Example 3 | passed | passed |
| Passed Example 4 | passed | passed |
| Passed Example 5 | passed | passed |
| Failed Example 1 | failed | failed |
| Failed Example 2 | failed | failed |
| Failed Example 3 | failed | failed |
| Failed Example 4 | failed | failed |
| Failed Example 5 | failed | failed |
| Inapplicable Example 1 | inapplicable | inapplicable |
HTML page lang and xml:lang attributes have matching values
| Testcase Url | Expected | html-xml-lang-mismatch |
|---|---|---|
| Passed Example 1 | passed | passed |
| Passed Example 2 | passed | passed |
| Passed Example 3 | passed | passed |
| Failed Example 1 | failed | failed |
| Failed Example 2 | failed | failed |
| Inapplicable Example 1 | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable |
| Inapplicable Example 3 | inapplicable | inapplicable |
| Inapplicable Example 4 | inapplicable | inapplicable |
| Inapplicable Example 5 | inapplicable | inapplicable |
| Inapplicable Example 6 | inapplicable | inapplicable |
| Inapplicable Example 7 | inapplicable | inapplicable |
HTML page lang attribute has valid language tag
| Testcase Url | Expected | html-lang-valid |
|---|---|---|
| Passed Example 1 | passed | passed |
| Passed Example 2 | passed | passed |
| Failed Example 1 | failed | failed |
| Failed Example 2 | failed | failed |
| Failed Example 3 | failed | failed |
| Failed Example 4 | failed | failed |
| Inapplicable Example 1 | inapplicable | inapplicable |
Headers attribute specified on a cell refers to cells in the same table element
| Testcase Url | Expected | td-headers-attr | th-has-data-cells |
|---|---|---|---|
| Passed Example 1 | passed | passed | passed |
| Passed Example 2 | passed | passed | passed |
| Passed Example 3 | passed | passed | passed |
| Passed Example 4 | passed | passed | passed |
| Passed Example 5 | passed | passed | passed |
| Passed Example 6 | passed | passed | cantTell |
| Passed Example 7 | passed | passed | passed |
| Passed Example 8 | passed | passed | passed |
| Failed Example 1 | failed | failed | passed |
| Failed Example 2 | failed | passed | passed |
| Failed Example 3 | failed | failed | cantTell |
| Failed Example 4 | failed | failed | passed |
| Inapplicable Example 1 | inapplicable | passed | passed |
| Inapplicable Example 2 | inapplicable | passed | inapplicable |
| Inapplicable Example 3 | inapplicable | passed | passed |
| Inapplicable Example 4 | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 5 | inapplicable | inapplicable | inapplicable |
Id attribute value is unique
| Testcase Url | Expected | duplicate-id-aria |
|---|---|---|
| Passed Example 1 | passed | inapplicable |
| Passed Example 2 | passed | inapplicable |
| Passed Example 3 | passed | inapplicable |
| Passed Example 4 | passed | inapplicable |
| Failed Example 1 | failed | failed |
| Failed Example 2 | failed | failed |
| Failed Example 3 | failed | failed |
| Inapplicable Example 1 | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable |
| Inapplicable Example 3 | inapplicable | inapplicable |
Image button has non-empty accessible name
| Testcase Url | Expected | input-image-alt |
|---|---|---|
| Passed Example 1 | passed | passed |
| Passed Example 2 | passed | passed |
| Passed Example 3 | passed | passed |
| Passed Example 4 | passed | passed |
| Failed Example 1 | failed | failed |
| Failed Example 2 | failed | failed |
| Failed Example 3 | failed | failed |
| Inapplicable Example 1 | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable |
| Inapplicable Example 3 | inapplicable | inapplicable |
| Inapplicable Example 4 | inapplicable | inapplicable |
| Inapplicable Example 5 | inapplicable | inapplicable |
Image has non-empty accessible name
| Testcase Url | Expected | image-alt | role-img-alt |
|---|---|---|---|
| Passed Example 1 | passed | passed | inapplicable |
| Passed Example 2 | passed | inapplicable | passed |
| Passed Example 3 | passed | inapplicable | passed |
| Passed Example 4 | passed | passed | inapplicable |
| Passed Example 5 | passed | passed | inapplicable |
| Passed Example 6 | passed | passed | inapplicable |
| Passed Example 7 | passed | passed | inapplicable |
| Passed Example 8 | passed | passed | inapplicable |
| Failed Example 1 | failed | failed | inapplicable |
| Failed Example 2 | failed | inapplicable | failed |
| Failed Example 3 | failed | failed | inapplicable |
| Failed Example 4 | failed | failed | inapplicable |
| Failed Example 5 | failed | failed | inapplicable |
| Inapplicable Example 1 | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 3 | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 4 | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 5 | inapplicable | inapplicable | inapplicable |
Link has non-empty accessible name
| Testcase Url | Expected | link-name | area-alt | aria-valid-attr-value |
|---|---|---|---|---|
| Passed Example 1 | passed | passed | inapplicable | inapplicable |
| Passed Example 2 | passed | inapplicable | inapplicable | inapplicable |
| Passed Example 3 | passed | inapplicable | inapplicable | inapplicable |
| Passed Example 4 | passed | passed | inapplicable | passed |
| Passed Example 5 | passed | passed | inapplicable | inapplicable |
| Passed Example 6 | passed | passed | inapplicable | inapplicable |
| Passed Example 7 | passed | passed | inapplicable | inapplicable |
| Passed Example 8 | passed | passed | inapplicable | passed |
| Passed Example 9 | passed | passed | inapplicable | inapplicable |
| Passed Example 10 | passed | inapplicable | passed | inapplicable |
| Passed Example 11 | passed | passed | inapplicable | inapplicable |
| Failed Example 1 | failed | failed | inapplicable | inapplicable |
| Failed Example 2 | failed | failed | inapplicable | inapplicable |
| Failed Example 3 | failed | failed | inapplicable | inapplicable |
| Failed Example 4 | failed | failed | inapplicable | inapplicable |
| Failed Example 5 | failed | failed | inapplicable | inapplicable |
| Failed Example 6 | failed | failed | inapplicable | passed |
| Failed Example 7 | failed | failed | inapplicable | cantTell |
| Failed Example 8 | failed | failed | inapplicable | inapplicable |
| Failed Example 9 | failed | inapplicable | failed | inapplicable |
| Failed Example 10 | failed | failed | inapplicable | inapplicable |
| Failed Example 11 | failed | failed | inapplicable | inapplicable |
| Inapplicable Example 1 | inapplicable | passed | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 3 | inapplicable | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 4 | inapplicable | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 5 | inapplicable | inapplicable | inapplicable | inapplicable |
| Inapplicable Example 6 | inapplicable | inapplicable | inapplicable | inapplicable |
Links with identical accessible names and same context serve equivalent purpose
| Testcase Url | Expected | identical-links-same-purpose |
|---|---|---|
| Passed Example 1 | passed | passed |
| Passed Example 2 | passed | cantTell |
| Passed Example 3 | passed | passed |
| Passed Example 4 | passed | cantTell |
| Passed Example 5 | passed | cantTell |
| Passed Example 6 | passed | cantTell |
| Passed Example 7 | passed | cantTell |
| Passed Example 8 | passed | passed |
| Failed Example 1 | failed | cantTell |
| Failed Example 2 | failed | cantTell |
| Failed Example 3 | failed | cantTell |
| Failed Example 4 | failed | cantTell |
| Failed Example 5 | failed | cantTell |
| Inapplicable Example 1 | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | passed |
| Inapplicable Example 3 | inapplicable | passed |
| Inapplicable Example 4 | inapplicable | inapplicable |
| Inapplicable Example 5 | inapplicable | passed |
| Inapplicable Example 6 | inapplicable | cantTell |
Links with identical accessible names have equivalent purpose
| Testcase Url | Expected | identical-links-same-purpose |
|---|---|---|
| Passed Example 1 | passed | passed |
| Passed Example 2 | passed | cantTell |
| Passed Example 3 | passed | passed |
| Passed Example 4 | passed | cantTell |
| Passed Example 5 | passed | passed |
| Passed Example 6 | passed | cantTell |
| Passed Example 7 | passed | cantTell |
| Passed Example 8 | passed | cantTell |
| Passed Example 9 | passed | passed |
| Passed Example 10 | passed | passed |
| Passed Example 11 | passed | passed |
| Passed Example 12 | passed | passed |
| Failed Example 1 | failed | cantTell |
| Failed Example 2 | failed | cantTell |
| Failed Example 3 | failed | cantTell |
| Failed Example 4 | failed | cantTell |
| Failed Example 5 | failed | cantTell |
| Failed Example 6 | failed | cantTell |
| Inapplicable Example 1 | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | passed |
| Inapplicable Example 3 | inapplicable | inapplicable |
Menuitem has non-empty accessible name
| Testcase Url | Expected | button-name |
|---|---|---|
| Passed Example 1 | passed | passed |
| Passed Example 2 | passed | passed |
| Passed Example 3 | passed | passed |
| Passed Example 4 | passed | passed |
| Failed Example 1 | failed | failed |
| Failed Example 2 | failed | failed |
| Inapplicable Example 1 | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable |
Meta viewport allows for zoom
| Testcase Url | Expected | meta-viewport |
|---|---|---|
| Passed Example 1 | passed | passed |
| Passed Example 2 | passed | passed |
| Passed Example 3 | passed | passed |
| Failed Example 1 | failed | failed |
| Failed Example 2 | failed | failed |
| Failed Example 3 | failed | failed |
| Failed Example 4 | failed | failed |
| Inapplicable Example 1 | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | passed |
| Inapplicable Example 3 | inapplicable | passed |
| Inapplicable Example 4 | inapplicable | passed |
Object element rendering non-text content has non-empty accessible name
| Testcase Url | Expected | object-alt |
|---|---|---|
| Passed Example 1 | passed | passed |
| Passed Example 2 | passed | passed |
| Passed Example 3 | passed | passed |
| Passed Example 4 | passed | passed |
| Failed Example 1 | failed | failed |
| Failed Example 2 | failed | failed |
| Failed Example 3 | failed | failed |
| Failed Example 4 | failed | failed |
| Inapplicable Example 1 | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable |
| Inapplicable Example 3 | inapplicable | inapplicable |
| Inapplicable Example 4 | inapplicable | passed |
| Inapplicable Example 5 | inapplicable | passed |
| Inapplicable Example 6 | inapplicable | inapplicable |
Orientation of the page is not restricted using CSS transform property
| Testcase Url | Expected | css-orientation-lock |
|---|---|---|
| Passed Example 1 | passed | passed |
| Passed Example 2 | passed | passed |
| Failed Example 1 | failed | failed |
| Failed Example 2 | failed | failed |
| Failed Example 3 | failed | failed |
| Inapplicable Example 1 | inapplicable | cantTell |
| Inapplicable Example 2 | inapplicable | passed |
| Inapplicable Example 3 | inapplicable | passed |
| Inapplicable Example 4 | inapplicable | passed |
| Inapplicable Example 5 | inapplicable | passed |
SVG element with explicit role has non-empty accessible name
| Testcase Url | Expected | svg-img-alt |
|---|---|---|
| Passed Example 1 | passed | passed |
| Passed Example 2 | passed | passed |
| Passed Example 3 | passed | passed |
| Failed Example 1 | failed | failed |
| Failed Example 2 | failed | failed |
| Failed Example 3 | failed | failed |
| Failed Example 4 | failed | failed |
| Inapplicable Example 1 | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable |
| Inapplicable Example 3 | inapplicable | inapplicable |
Scrollable element is keyboard accessible
| Testcase Url | Expected | scrollable-region-focusable |
|---|---|---|
| Passed Example 1 | passed | passed |
| Passed Example 2 | passed | passed |
| Failed Example 1 | failed | failed |
| Failed Example 2 | failed | failed |
| Inapplicable Example 1 | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable |
| Inapplicable Example 3 | inapplicable | inapplicable |
| Inapplicable Example 4 | inapplicable | inapplicable |
| Inapplicable Example 5 | inapplicable | inapplicable |
| Inapplicable Example 6 | inapplicable | inapplicable |
Table header cell has assigned cells
| Testcase Url | Expected | th-has-data-cells |
|---|---|---|
| Passed Example 1 | passed | passed |
| Passed Example 2 | passed | inapplicable |
| Passed Example 3 | passed | passed |
| Passed Example 4 | passed | passed |
| Passed Example 5 | passed | passed |
| Passed Example 6 | passed | passed |
| Failed Example 1 | failed | cantTell |
| Failed Example 2 | failed | cantTell |
| Failed Example 3 | failed | inapplicable |
| Inapplicable Example 1 | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable |
| Inapplicable Example 3 | inapplicable | passed |
| Inapplicable Example 4 | inapplicable | passed |
| Inapplicable Example 5 | inapplicable | passed |
| Inapplicable Example 6 | inapplicable | inapplicable |
| Inapplicable Example 7 | inapplicable | inapplicable |
Video element auditory content has accessible alternative
| Testcase Url | Expected | video-caption |
|---|---|---|
| Passed Example 1 | passed | passed |
| Passed Example 2 | passed | cantTell |
| Failed Example 1 | failed | cantTell |
| Failed Example 2 | failed | cantTell |
| Inapplicable Example 1 | inapplicable | cantTell |
| Inapplicable Example 2 | inapplicable | cantTell |
Video element visual-only content has accessible alternative
| Testcase Url | Expected | audio-caption |
|---|---|---|
| Passed Example 1 | passed | inapplicable |
| Passed Example 2 | passed | cantTell |
| Passed Example 3 | passed | inapplicable |
| Failed Example 1 | failed | inapplicable |
| Failed Example 2 | failed | cantTell |
| Failed Example 3 | failed | inapplicable |
| Failed Example 4 | failed | inapplicable |
| Inapplicable Example 1 | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable |
Visible label is part of accessible name
| Testcase Url | Expected | label-content-name-mismatch |
|---|---|---|
| Passed Example 1 | passed | passed |
| Passed Example 2 | passed | passed |
| Passed Example 3 | passed | passed |
| Passed Example 4 | passed | passed |
| Passed Example 5 | passed | cantTell |
| Passed Example 6 | passed | passed |
| Failed Example 1 | failed | failed |
| Failed Example 2 | failed | failed |
| Failed Example 3 | failed | failed |
| Inapplicable Example 1 | inapplicable | inapplicable |
| Inapplicable Example 2 | inapplicable | inapplicable |
| Inapplicable Example 3 | inapplicable | inapplicable |
| Inapplicable Example 4 | inapplicable | inapplicable |