Axe-coreĀ® Accessibility Results for TEST project
Steps:
- Open https://dequeuniversity.com/demo/mars/
- Analyze full page with all rules enabled
axe-core found 6 violations
# | Description | Axe rule ID | WCAG | Impact | Count |
---|---|---|---|---|---|
1 | <html> element must have a lang attribute | html-has-lang | WCAG 2 Level A, WCAG 3.1.1 | serious | 1 |
2 | Document must have one main landmark | landmark-one-main | Best practice | moderate | 1 |
3 | All page content must be contained by landmarks | region | Best practice | moderate | 1 |
4 | Elements should not have tabindex greater than zero | tabindex | Best practice | serious | 3 |
Failed
1. <html> element must have a lang attribute
Learn morehtml-has-lang
WCAG 2 Level A, WCAG 3.1.1
Ensures every HTML document has a lang attribute
serious
Issue Tags: cat.language wcag2a wcag311
# | Issue Description | To solve this violation, you need to... |
---|---|---|
1 |
Element location
Element source
|
Fix any of the following:
|
2. Document must have one main landmark
Learn morelandmark-one-main
Best practice
Ensures the document has a main landmark
moderate
Issue Tags: cat.semantics best-practice
# | Issue Description | To solve this violation, you need to... |
---|---|---|
1 |
Element location
Element source
|
Fix all of the following:
|
3. All page content must be contained by landmarks
Learn moreregion
Best practice
Ensures all page content is contained by landmarks
moderate
Issue Tags: cat.keyboard best-practice
# | Issue Description | To solve this violation, you need to... |
---|---|---|
1 |
Element location
Element source
|
Fix any of the following:
|
4. Elements should not have tabindex greater than zero
Learn moretabindex
Best practice
Ensures tabindex attribute values are not greater than 0
serious
Issue Tags: cat.keyboard best-practice
# | Issue Description | To solve this violation, you need to... |
---|---|---|
1 |
Element location
Element source
|
Fix any of the following:
|
2 |
Element location
Element source
|
Fix any of the following:
|
3 |
Element location
Element source
|
Fix any of the following:
|
# | Description | Axe rule ID | WCAG | Nodes passed check |
---|---|---|---|---|
1 | aria-hidden='true' must not be present on the document body | aria-hidden-body | WCAG 2 Level A, WCAG 4.1.2 | 1 |
2 | Page must have means to bypass repeated blocks | bypass | WCAG 2 Level A, WCAG 2.4.1 | 1 |
3 | Elements must have sufficient color contrast | color-contrast | WCAG 2 Level AA, WCAG 1.4.3 | 3 |
4 | Documents must have <title> element to aid in navigation | document-title | WCAG 2 Level A, WCAG 2.4.2 | 1 |
5 | Headings must not be empty | empty-heading | Best practice | 1 |
6 | Heading levels should only increase by one | heading-order | Best practice | 1 |
7 | Hidden content on the page cannot be analyzed | hidden-content | Best practice | 14 |
8 | Links must have discernible text | link-name | WCAG 2 Level A, WCAG 4.1.2, WCAG 2.4.4 | 1 |
9 | Users should be able to zoom and scale the text up to 500% | meta-viewport-large | Best practice | 1 |
10 | Zooming and scaling must not be disabled | meta-viewport | Best practice | 1 |
11 | Page must contain a level-one heading | page-has-heading-one | Best practice | 1 |
12 | All page content must be contained by landmarks | region | Best practice | 4 |
What 'incomplete' axe checks means?
Incomplete results were aborted and require further testing. This can happen either because of technical restrictions to what the rule can test, or because a javascript error occurred.
Visit axe API Documentation to learn more.
What 'inapplicable' axe checks means?
The inapplicable array lists all the rules for which no matching elements were found on the page.
Visit axe API Documentation to learn more.
# | Description | Axe rule ID | WCAG |
---|---|---|---|
1 | accesskey attribute value must be unique | accesskeys | Best practice |
2 | Active <area> elements must have alternate text | area-alt | WCAG 2 Level A, WCAG 1.1.1, WCAG 2.4.4, WCAG 4.1.2 |
3 | Elements must only use allowed ARIA attributes | aria-allowed-attr | WCAG 2 Level A, WCAG 4.1.2 |
4 | ARIA role must be appropriate for the element | aria-allowed-role | Best practice |
5 | ARIA hidden element must not contain focusable elements | aria-hidden-focus | WCAG 2 Level A, WCAG 4.1.2, WCAG 1.3.1 |
6 | ARIA input fields must have an accessible name | aria-input-field-name | WCAG 2 Level A, WCAG 4.1.2 |
7 | Required ARIA attributes must be provided | aria-required-attr | WCAG 2 Level A, WCAG 4.1.2 |
8 | Certain ARIA roles must contain particular children | aria-required-children | WCAG 2 Level A, WCAG 1.3.1 |
9 | Certain ARIA roles must be contained by particular parents | aria-required-parent | WCAG 2 Level A, WCAG 1.3.1 |
10 | Use aria-roledescription on elements with a semantic role | aria-roledescription | WCAG 2 Level A, WCAG 4.1.2 |
11 | ARIA roles used must conform to valid values | aria-roles | WCAG 2 Level A, WCAG 4.1.2 |
12 | ARIA toggle fields have an accessible name | aria-toggle-field-name | WCAG 2 Level A, WCAG 4.1.2 |
13 | ARIA attributes must conform to valid values | aria-valid-attr-value | WCAG 2 Level A, WCAG 4.1.2 |
14 | ARIA attributes must conform to valid names | aria-valid-attr | WCAG 2 Level A, WCAG 4.1.2 |
15 | <audio> elements must have a captions track | audio-caption | WCAG 2 Level A, WCAG 1.2.1 |
16 | autocomplete attribute must be used correctly | autocomplete-valid | WCAG 2.1 Level AA, WCAG 1.3.5 |
17 | Inline text spacing must be adjustable with custom stylesheets | avoid-inline-spacing | WCAG 2.1 Level AA, WCAG 1.4.1.2 |
18 | <blink> elements are deprecated and must not be used | blink | WCAG 2 Level A, WCAG 2.2.2 |
19 | Buttons must have discernible text | button-name | WCAG 2 Level A, WCAG 4.1.2 |
20 | <dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements | definition-list | WCAG 2 Level A, WCAG 1.3.1 |
21 | <dt> and <dd> elements must be contained by a <dl> | dlitem | WCAG 2 Level A, WCAG 1.3.1 |
22 | IDs of active elements must be unique | duplicate-id-active | WCAG 2 Level A, WCAG 4.1.1 |
23 | IDs used in ARIA and labels must be unique | duplicate-id-aria | WCAG 2 Level A, WCAG 4.1.1 |
24 | id attribute value must be unique | duplicate-id | WCAG 2 Level A, WCAG 4.1.1 |
25 | Elements in the focus order need a role appropriate for interactive content | focus-order-semantics | Best practice |
26 | Form field should not have multiple label elements | form-field-multiple-labels | WCAG 2 Level A, WCAG 3.3.2 |
27 | Frames must be tested with axe-core | frame-tested | Best practice |
28 | Frames must have a unique title attribute | frame-title-unique | Best practice |
29 | Frames must have title attribute | frame-title | WCAG 2 Level A, WCAG 2.4.1, WCAG 4.1.2 |
30 | <html> element must have a valid value for the lang attribute | html-lang-valid | WCAG 2 Level A, WCAG 3.1.1 |
31 | HTML elements with lang and xml:lang must have the same base language | html-xml-lang-mismatch | WCAG 2 Level A, WCAG 3.1.1 |
32 | Images must have alternate text | image-alt | WCAG 2 Level A, WCAG 1.1.1 |
33 | Alternative text of images should not be repeated as text | image-redundant-alt | Best practice |
34 | Input buttons must have discernible text | input-button-name | WCAG 2 Level A, WCAG 4.1.2 |
35 | Image buttons must have alternate text | input-image-alt | WCAG 2 Level A, WCAG 1.1.1 |
36 | Elements must have their visible text as part of their accessible name | label-content-name-mismatch | WCAG 2.1 Level A, WCAG 2.5.3 |
37 | Form elements should have a visible label | label-title-only | Best practice |
38 | Form elements must have labels | label | WCAG 2 Level A, WCAG 4.1.2, WCAG 1.3.1 |
39 | Banner landmark must not be contained in another landmark | landmark-banner-is-top-level | Best practice |
40 | Aside must not be contained in another landmark | landmark-complementary-is-top-level | Best practice |
41 | Contentinfo landmark must not be contained in another landmark | landmark-contentinfo-is-top-level | Best practice |
42 | Main landmark must not be contained in another landmark | landmark-main-is-top-level | Best practice |
43 | Document must not have more than one banner landmark | landmark-no-duplicate-banner | Best practice |
44 | Document must not have more than one contentinfo landmark | landmark-no-duplicate-contentinfo | Best practice |
45 | Document must not have more than one main landmark | landmark-no-duplicate-main | Best practice |
46 | Ensures landmarks are unique | landmark-unique | Best practice |
47 | Links must be distinguished from surrounding text in a way that does not rely on color | link-in-text-block | WCAG 2 Level A, WCAG 1.4.1 |
48 | <ul> and <ol> must only directly contain <li>, <script> or <template> elements | list | WCAG 2 Level A, WCAG 1.3.1 |
49 | <li> elements must be contained in a <ul> or <ol> | listitem | WCAG 2 Level A, WCAG 1.3.1 |
50 | <marquee> elements are deprecated and must not be used | marquee | WCAG 2 Level A, WCAG 2.2.2 |
51 | Timed refresh must not exist | meta-refresh | WCAG 2 Level A, WCAG 2 Level AAA, WCAG 2.2.1, WCAG 2.2.4, WCAG 3.2.5 |
52 | <object> elements must have alternate text | object-alt | WCAG 2 Level A, WCAG 1.1.1 |
53 | Bold, italic text and font-size are not used to style p elements as a heading | p-as-heading | WCAG 2 Level A, WCAG 1.3.1 |
54 | [role='img'] elements have an alternative text | role-img-alt | WCAG 2 Level A, WCAG 1.1.1 |
55 | scope attribute should be used correctly | scope-attr-valid | Best practice |
56 | Ensure that scrollable region has keyboard access | scrollable-region-focusable | WCAG 2 Level A, WCAG 2.1.1 |
57 | Server-side image maps must not be used | server-side-image-map | WCAG 2 Level A, WCAG 2.1.1 |
58 | The skip-link target should exist and be focusable | skip-link | Best practice |
59 | svg elements with an img role have an alternative text | svg-img-alt | WCAG 2 Level A, WCAG 1.1.1 |
60 | Elements should not have tabindex greater than zero | tabindex | Best practice |
61 | The <caption> element should not contain the same text as the summary attribute | table-duplicate-name | Best practice |
62 | Data or header cells should not be used to give caption to a data table. | table-fake-caption | WCAG 2 Level A, WCAG 1.3.1 |
63 | All non-empty td element in table larger than 3 by 3 must have an associated table header | td-has-header | WCAG 2 Level A, WCAG 1.3.1 |
64 | All cells in a table element that use the headers attribute must only refer to other cells of that same table | td-headers-attr | WCAG 2 Level A, WCAG 1.3.1 |
65 | All th elements and elements with role=columnheader/rowheader must have data cells they describe | th-has-data-cells | WCAG 2 Level A, WCAG 1.3.1 |
66 | lang attribute must have a valid value | valid-lang | WCAG 2 Level AA, WCAG 3.1.2 |
67 | <video> elements must have captions | video-caption | WCAG 2 Level A, WCAG 1.2.2 |
68 | <video> or <audio> elements do not autoplay audio | no-autoplay-audio | WCAG 2 Level A, WCAG 1.4.2 |
# | Rule ID | Enabled |
---|---|---|
1 | object-alt | true |
2 | role-img-alt | true |
3 | input-image-alt | true |
4 | image-alt | true |
5 | svg-img-alt | true |
6 | area-alt | true |
7 | audio-caption | true |
8 | video-caption | true |
9 | definition-list | true |
10 | dlitem | true |
11 | listitem | true |
12 | list | true |
13 | th-has-data-cells | true |
14 | td-headers-attr | true |
15 | td-has-header | true |
16 | p-as-heading | true |
17 | aria-required-parent | true |
18 | aria-required-children | true |
19 | table-fake-caption | true |
20 | css-orientation-lock | false |
21 | autocomplete-valid | true |
22 | link-in-text-block | true |
23 | no-autoplay-audio | true |
24 | color-contrast | true |
25 | meta-viewport | true |
26 | avoid-inline-spacing | true |
27 | server-side-image-map | true |
28 | meta-refresh | true |
29 | blink | true |
30 | marquee | true |
31 | bypass | true |
32 | frame-title | true |
33 | document-title | true |
34 | scrollable-region-focusable | true |
35 | identical-links-same-purpose | false |
36 | label-content-name-mismatch | true |
37 | html-has-lang | true |
38 | html-lang-valid | true |
39 | html-xml-lang-mismatch | true |
40 | valid-lang | true |
41 | form-field-multiple-labels | true |
42 | duplicate-id-active | true |
43 | duplicate-id | true |
44 | duplicate-id-aria | true |
45 | aria-valid-attr | true |
46 | aria-valid-attr-value | true |
47 | aria-input-field-name | true |
48 | aria-roles | true |
49 | aria-toggle-field-name | true |
50 | aria-hidden-focus | true |
51 | aria-hidden-body | true |
52 | button-name | true |
53 | aria-allowed-attr | true |
54 | input-button-name | true |
55 | aria-required-attr | true |
56 | aria-roledescription | true |
57 | link-name | true |
58 | label | true |
59 | accesskeys | true |
60 | region | true |
61 | aria-allowed-role | true |
62 | landmark-banner-is-top-level | true |
63 | landmark-complementary-is-top-level | true |
64 | landmark-contentinfo-is-top-level | true |
65 | focus-order-semantics | true |
66 | tabindex | true |
67 | landmark-no-duplicate-main | true |
68 | label-title-only | true |
69 | frame-tested | true |
70 | frame-title-unique | true |
71 | heading-order | true |
72 | empty-heading | true |
73 | hidden-content | true |
74 | landmark-unique | true |
75 | landmark-main-is-top-level | true |
76 | page-has-heading-one | true |
77 | landmark-one-main | true |
78 | landmark-no-duplicate-banner | true |
79 | landmark-no-duplicate-contentinfo | true |
80 | scope-attr-valid | true |
81 | image-redundant-alt | true |
82 | table-duplicate-name | true |
83 | skip-link | true |
84 | meta-viewport-large | true |