@sa11y/preset-rules
Advanced tools
Comparing version 0.1.3-alpha to 0.2.0-beta.0
@@ -11,6 +11,8 @@ "use strict"; | ||
Object.defineProperty(exports, "getA11yConfig", { enumerable: true, get: function () { return a11yConfig_1.getA11yConfig; } }); | ||
var extended_1 = require("./extended"); | ||
Object.defineProperty(exports, "extended", { enumerable: true, get: function () { return extended_1.extended; } }); | ||
var recommended_1 = require("./recommended"); | ||
Object.defineProperty(exports, "recommended", { enumerable: true, get: function () { return recommended_1.recommended; } }); | ||
var base_1 = require("./base"); | ||
Object.defineProperty(exports, "base", { enumerable: true, get: function () { return base_1.base; } }); | ||
var full_1 = require("./full"); | ||
Object.defineProperty(exports, "full", { enumerable: true, get: function () { return full_1.full; } }); | ||
//# sourceMappingURL=index.js.map |
@@ -11,61 +11,30 @@ "use strict"; | ||
const a11yConfig_1 = require("./a11yConfig"); | ||
const base_1 = require("./base"); | ||
const rules = [ | ||
'area-alt', | ||
'aria-allowed-attr', | ||
'aria-hidden-body', | ||
'aria-hidden-focus', | ||
'aria-input-field-name', | ||
'aria-required-attr', | ||
'aria-required-children', | ||
'aria-required-parent', | ||
'aria-roledescription', | ||
'aria-roles', | ||
'aria-toggle-field-name', | ||
'aria-valid-attr-value', | ||
'aria-valid-attr', | ||
'audio-caption', | ||
'autocomplete-valid', | ||
'blink', | ||
'button-name', | ||
'bypass', | ||
'color-contrast', | ||
'definition-list', | ||
'dlitem', | ||
'document-title', | ||
'duplicate-id-active', | ||
'duplicate-id-aria', | ||
'duplicate-id', | ||
'empty-heading', | ||
'focus-order-semantics', | ||
'form-field-multiple-labels', | ||
'frame-title', | ||
'heading-order', | ||
'html-has-lang', | ||
'html-lang-valid', | ||
'html-xml-lang-mismatch', | ||
'image-alt', | ||
'image-redundant-alt', | ||
'input-button-name', | ||
'input-image-alt', | ||
'label-title-only', | ||
'label', | ||
'link-name', | ||
'list', | ||
'listitem', | ||
'marquee', | ||
'meta-refresh', | ||
'page-has-heading-one', | ||
'role-img-alt', | ||
'scope-attr-valid', | ||
'scrollable-region-focusable', | ||
'server-side-image-map', | ||
'svg-img-alt', | ||
'tabindex', | ||
'td-has-header', | ||
'td-headers-attr', | ||
'th-has-data-cells', | ||
'valid-lang', | ||
'video-caption', | ||
...base_1.base.runOnly.values, | ||
'accesskeys', | ||
'aria-allowed-role', | ||
'avoid-inline-spacing', | ||
'css-orientation-lock', | ||
'frame-tested', | ||
'identical-links-same-purpose', | ||
'label-content-name-mismatch', | ||
'landmark-banner-is-top-level', | ||
'landmark-complementary-is-top-level', | ||
'landmark-contentinfo-is-top-level', | ||
'landmark-main-is-top-level', | ||
'landmark-no-duplicate-banner', | ||
'landmark-no-duplicate-contentinfo', | ||
'landmark-no-duplicate-main', | ||
'landmark-one-main', | ||
'landmark-unique', | ||
'link-in-text-block', | ||
'meta-viewport-large', | ||
'meta-viewport', | ||
'no-autoplay-audio', | ||
'object-alt', | ||
'p-as-heading', | ||
'region', | ||
]; | ||
exports.recommended = a11yConfig_1.getA11yConfig(rules); | ||
//# sourceMappingURL=recommended.js.map |
{ | ||
"name": "@sa11y/preset-rules", | ||
"version": "0.1.3-alpha", | ||
"version": "0.2.0-beta.0", | ||
"description": "Accessibility preset rule configs for axe", | ||
@@ -22,9 +22,6 @@ "license": "BSD-3-Clause", | ||
], | ||
"devDependencies": { | ||
"axe-core": "^3.5.4" | ||
"dependencies": { | ||
"axe-core": "3.5.5" | ||
}, | ||
"publishConfig": { | ||
"access": "public" | ||
}, | ||
"gitHead": "40b4b80d3a164e01777b45af82aa22e9fa03bb3a" | ||
"gitHead": "1ac74866530acda3854cb60cc3047fb70ad0d999" | ||
} |
200
README.md
@@ -11,6 +11,6 @@ # `@sa11y/preset-rules` | ||
- [Ruleset Mapping](#ruleset-mapping) | ||
- [WCAG 2.0 Level A & AA Rules](#wcag-20-level-a--aa-rules) | ||
- [WCAG 2.1 Level A & AA Rules](#wcag-21-level-a--aa-rules) | ||
- [Best Practices Rules](#best-practices-rules) | ||
- [Experimental Rules](#experimental-rules) | ||
- [WCAG 2.0 Level A & AA Rules](#wcag-20-level-a--aa-rules) | ||
- [WCAG 2.1 Level A & AA Rules](#wcag-21-level-a--aa-rules) | ||
- [Best Practices Rules](#best-practices-rules) | ||
- [Experimental Rules](#experimental-rules) | ||
@@ -23,5 +23,5 @@ <!-- END doctoc generated TOC please keep comment here to allow auto update --> | ||
import axe from 'axe-core'; | ||
import { extended } from '@sa11y/preset-rules'; | ||
import { recommended } from '@sa11y/preset-rules'; | ||
const a11yResults = await axe.run(extended); | ||
const a11yResults = await axe.run(recommended); | ||
console.log(a11yResults); | ||
@@ -32,64 +32,64 @@ ``` | ||
@sa11y/preset-rules provides two pre-configured rulesets curated from axe: Recommended and Extended. | ||
@sa11y/preset-rules provides three pre-configured rulesets curated from axe: Base, Recommended and Full. | ||
Below is the full set of rules from [axe's rule descriptions](https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md) and their current mapping to the Recommended and Extended rulesets in @sa11y/preset-rules. | ||
- Below is the full set of rules from [axe rule descriptions](https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md) and their current mapping to the Base and Recommended rulesets in @sa11y/preset-rules. | ||
- Full ruleset consists of all rules that are enabled by default in axe. | ||
### WCAG 2.0 Level A & AA Rules | ||
| Rule ID | Description | Impact | Issue Type | In Recommended Ruleset | In Extended Ruleset | Notes | | ||
| :--------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------ | :---------------- | :------------------------- | :---------------------- | :------------------ | :---------------------- | | ||
| [area-alt](https://dequeuniversity.com/rules/axe/3.5/area-alt) | Ensures <area> elements of image maps have alternate text | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-allowed-attr](https://dequeuniversity.com/rules/axe/3.5/aria-allowed-attr) | Ensures ARIA attributes are allowed for an element's role | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-hidden-body](https://dequeuniversity.com/rules/axe/3.5/aria-hidden-body) | Ensures aria-hidden='true' is not present on the document body. | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-hidden-focus](https://dequeuniversity.com/rules/axe/3.5/aria-hidden-focus) | Ensures aria-hidden elements do not contain focusable elements | Serious | failure, needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-input-field-name](https://dequeuniversity.com/rules/axe/3.5/aria-input-field-name) | Ensures every ARIA input field has an accessible name | Moderate, Serious | failure, needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-required-attr](https://dequeuniversity.com/rules/axe/3.5/aria-required-attr) | Ensures elements with ARIA roles have all required ARIA attributes | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-required-children](https://dequeuniversity.com/rules/axe/3.5/aria-required-children) | Ensures elements with an ARIA role that require child roles contain them | Critical | failure, needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-required-parent](https://dequeuniversity.com/rules/axe/3.5/aria-required-parent) | Ensures elements with an ARIA role that require parent roles are contained by them | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-roledescription](https://dequeuniversity.com/rules/axe/3.5/aria-roledescription) | Ensure aria-roledescription is only used on elements with an implicit or explicit role | Serious | failure, needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-roles](https://dequeuniversity.com/rules/axe/3.5/aria-roles) | Ensures all elements with a role attribute use a valid value | Serious, Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-toggle-field-name](https://dequeuniversity.com/rules/axe/3.5/aria-toggle-field-name) | Ensures every ARIA toggle field has an accessible name | Moderate, Serious | failure, needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-valid-attr-value](https://dequeuniversity.com/rules/axe/3.5/aria-valid-attr-value) | Ensures all ARIA attributes have valid values | Critical | failure, needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-valid-attr](https://dequeuniversity.com/rules/axe/3.5/aria-valid-attr) | Ensures attributes that begin with aria- are valid ARIA attributes | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [audio-caption](https://dequeuniversity.com/rules/axe/3.5/audio-caption) | Ensures <audio> elements have captions | Critical | needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [blink](https://dequeuniversity.com/rules/axe/3.5/blink) | Ensures <blink> elements are not used | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [button-name](https://dequeuniversity.com/rules/axe/3.5/button-name) | Ensures buttons have discernible text | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [bypass](https://dequeuniversity.com/rules/axe/3.5/bypass) | Ensures each page has at least one mechanism for a user to bypass navigation and jump straight to the content | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [color-contrast](https://dequeuniversity.com/rules/axe/3.5/color-contrast) | Ensures the contrast between foreground and background colors meets WCAG 2 AA contrast ratio thresholds | Serious | failure, needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [dlitem](https://dequeuniversity.com/rules/axe/3.5/dlitem) | Ensures <dt> and <dd> elements are contained by a <dl> | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [document-title](https://dequeuniversity.com/rules/axe/3.5/document-title) | Ensures each HTML document contains a non-empty <title> element | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [duplicate-id-active](https://dequeuniversity.com/rules/axe/3.5/duplicate-id-active) | Ensures every id attribute value of active elements is unique | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [duplicate-id-aria](https://dequeuniversity.com/rules/axe/3.5/duplicate-id-aria) | Ensures every id attribute value used in ARIA and in labels is unique | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [duplicate-id](https://dequeuniversity.com/rules/axe/3.5/duplicate-id) | Ensures every id attribute value is unique | Minor | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [form-field-multiple-labels](https://dequeuniversity.com/rules/axe/3.5/form-field-multiple-labels) | Ensures form field does not have multiple label elements | Moderate | needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [frame-title](https://dequeuniversity.com/rules/axe/3.5/frame-title) | Ensures <iframe> and <frame> elements contain a non-empty title attribute | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [html-has-lang](https://dequeuniversity.com/rules/axe/3.5/html-has-lang) | Ensures every HTML document has a lang attribute | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [html-lang-valid](https://dequeuniversity.com/rules/axe/3.5/html-lang-valid) | Ensures the lang attribute of the <html> element has a valid value | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [html-xml-lang-mismatch](https://dequeuniversity.com/rules/axe/3.5/html-xml-lang-mismatch) | Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page | Moderate | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [image-alt](https://dequeuniversity.com/rules/axe/3.5/image-alt) | Ensures <img> elements have alternate text or a role of none or presentation | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [input-button-name](https://dequeuniversity.com/rules/axe/3.5/input-button-name) | Ensures input buttons have discernible text | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [input-image-alt](https://dequeuniversity.com/rules/axe/3.5/input-image-alt) | Ensures <input type="image"> elements have alternate text | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [label](https://dequeuniversity.com/rules/axe/3.5/label) | Ensures every form element has a label | Minor, Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [link-name](https://dequeuniversity.com/rules/axe/3.5/link-name) | Ensures links have discernible text | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [list](https://dequeuniversity.com/rules/axe/3.5/list) | Ensures that lists are structured correctly | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [listitem](https://dequeuniversity.com/rules/axe/3.5/listitem) | Ensures <li> elements are used semantically | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [marquee](https://dequeuniversity.com/rules/axe/3.5/marquee) | Ensures <marquee> elements are not used | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [meta-refresh](https://dequeuniversity.com/rules/axe/3.5/meta-refresh) | Ensures <meta http-equiv="refresh"> is not used | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [object-alt](https://dequeuniversity.com/rules/axe/3.5/object-alt) | Ensures <object> elements have alternate text | Serious | failure | :x: | :heavy_check_mark: | <obj> rarely used | | ||
| [role-img-alt](https://dequeuniversity.com/rules/axe/3.5/role-img-alt) | Ensures [role='img'] elements have alternate text | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [scrollable-region-focusable](https://dequeuniversity.com/rules/axe/3.5/scrollable-region-focusable) | Elements that have scrollable content should be accessible by keyboard | Moderate | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [server-side-image-map](https://dequeuniversity.com/rules/axe/3.5/server-side-image-map) | Ensures that server-side image maps are not used | Minor | needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [svg-img-alt](https://dequeuniversity.com/rules/axe/3.5/svg-img-alt) | Ensures svg elements with an img, graphics-document or graphics-symbol role have an accessible text | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [td-headers-attr](https://dequeuniversity.com/rules/axe/3.5/td-headers-attr) | Ensure that each cell in a table using the headers refers to another cell in that table | Serious | failure, needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [th-has-data-cells](https://dequeuniversity.com/rules/axe/3.5/th-has-data-cells) | Ensure that each table header in a data table refers to data cells | Serious | failure, needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [valid-lang](https://dequeuniversity.com/rules/axe/3.5/valid-lang) | Ensures lang attributes have valid values | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [video-caption](https://dequeuniversity.com/rules/axe/3.5/video-caption) | Ensures <video> elements have captions | Critical | needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| Rule ID | Description | Impact | Issue Type | In Base Ruleset | In Recommended Ruleset | Notes | | ||
| :--------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------ | :---------------- | :------------------------- | :----------------- | :--------------------- | :---------------------- | | ||
| [area-alt](https://dequeuniversity.com/rules/axe/3.5/area-alt) | Ensures <area> elements of image maps have alternate text | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-allowed-attr](https://dequeuniversity.com/rules/axe/3.5/aria-allowed-attr) | Ensures ARIA attributes are allowed for an element's role | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-hidden-body](https://dequeuniversity.com/rules/axe/3.5/aria-hidden-body) | Ensures aria-hidden='true' is not present on the document body. | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-hidden-focus](https://dequeuniversity.com/rules/axe/3.5/aria-hidden-focus) | Ensures aria-hidden elements do not contain focusable elements | Serious | failure, needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-input-field-name](https://dequeuniversity.com/rules/axe/3.5/aria-input-field-name) | Ensures every ARIA input field has an accessible name | Moderate, Serious | failure, needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-required-attr](https://dequeuniversity.com/rules/axe/3.5/aria-required-attr) | Ensures elements with ARIA roles have all required ARIA attributes | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-required-children](https://dequeuniversity.com/rules/axe/3.5/aria-required-children) | Ensures elements with an ARIA role that require child roles contain them | Critical | failure, needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-required-parent](https://dequeuniversity.com/rules/axe/3.5/aria-required-parent) | Ensures elements with an ARIA role that require parent roles are contained by them | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-roledescription](https://dequeuniversity.com/rules/axe/3.5/aria-roledescription) | Ensure aria-roledescription is only used on elements with an implicit or explicit role | Serious | failure, needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-roles](https://dequeuniversity.com/rules/axe/3.5/aria-roles) | Ensures all elements with a role attribute use a valid value | Serious, Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-toggle-field-name](https://dequeuniversity.com/rules/axe/3.5/aria-toggle-field-name) | Ensures every ARIA toggle field has an accessible name | Moderate, Serious | failure, needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-valid-attr-value](https://dequeuniversity.com/rules/axe/3.5/aria-valid-attr-value) | Ensures all ARIA attributes have valid values | Critical | failure, needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [aria-valid-attr](https://dequeuniversity.com/rules/axe/3.5/aria-valid-attr) | Ensures attributes that begin with aria- are valid ARIA attributes | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [audio-caption](https://dequeuniversity.com/rules/axe/3.5/audio-caption) | Ensures <audio> elements have captions | Critical | needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [blink](https://dequeuniversity.com/rules/axe/3.5/blink) | Ensures <blink> elements are not used | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [button-name](https://dequeuniversity.com/rules/axe/3.5/button-name) | Ensures buttons have discernible text | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [bypass](https://dequeuniversity.com/rules/axe/3.5/bypass) | Ensures each page has at least one mechanism for a user to bypass navigation and jump straight to the content | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [color-contrast](https://dequeuniversity.com/rules/axe/3.5/color-contrast) | Ensures the contrast between foreground and background colors meets WCAG 2 AA contrast ratio thresholds | Serious | failure, needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [dlitem](https://dequeuniversity.com/rules/axe/3.5/dlitem) | Ensures <dt> and <dd> elements are contained by a <dl> | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [document-title](https://dequeuniversity.com/rules/axe/3.5/document-title) | Ensures each HTML document contains a non-empty <title> element | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [duplicate-id-active](https://dequeuniversity.com/rules/axe/3.5/duplicate-id-active) | Ensures every id attribute value of active elements is unique | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [duplicate-id-aria](https://dequeuniversity.com/rules/axe/3.5/duplicate-id-aria) | Ensures every id attribute value used in ARIA and in labels is unique | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [duplicate-id](https://dequeuniversity.com/rules/axe/3.5/duplicate-id) | Ensures every id attribute value is unique | Minor | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [form-field-multiple-labels](https://dequeuniversity.com/rules/axe/3.5/form-field-multiple-labels) | Ensures form field does not have multiple label elements | Moderate | needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [frame-title](https://dequeuniversity.com/rules/axe/3.5/frame-title) | Ensures <iframe> and <frame> elements contain a non-empty title attribute | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [html-has-lang](https://dequeuniversity.com/rules/axe/3.5/html-has-lang) | Ensures every HTML document has a lang attribute | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [html-lang-valid](https://dequeuniversity.com/rules/axe/3.5/html-lang-valid) | Ensures the lang attribute of the <html> element has a valid value | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [html-xml-lang-mismatch](https://dequeuniversity.com/rules/axe/3.5/html-xml-lang-mismatch) | Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page | Moderate | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [image-alt](https://dequeuniversity.com/rules/axe/3.5/image-alt) | Ensures <img> elements have alternate text or a role of none or presentation | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [input-button-name](https://dequeuniversity.com/rules/axe/3.5/input-button-name) | Ensures input buttons have discernible text | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [input-image-alt](https://dequeuniversity.com/rules/axe/3.5/input-image-alt) | Ensures <input type="image"> elements have alternate text | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [label](https://dequeuniversity.com/rules/axe/3.5/label) | Ensures every form element has a label | Minor, Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [link-name](https://dequeuniversity.com/rules/axe/3.5/link-name) | Ensures links have discernible text | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [list](https://dequeuniversity.com/rules/axe/3.5/list) | Ensures that lists are structured correctly | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [listitem](https://dequeuniversity.com/rules/axe/3.5/listitem) | Ensures <li> elements are used semantically | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [marquee](https://dequeuniversity.com/rules/axe/3.5/marquee) | Ensures <marquee> elements are not used | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [meta-refresh](https://dequeuniversity.com/rules/axe/3.5/meta-refresh) | Ensures <meta http-equiv="refresh"> is not used | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [object-alt](https://dequeuniversity.com/rules/axe/3.5/object-alt) | Ensures <object> elements have alternate text | Serious | failure | :x: | :heavy_check_mark: | <obj> rarely used | | ||
| [role-img-alt](https://dequeuniversity.com/rules/axe/3.5/role-img-alt) | Ensures [role='img'] elements have alternate text | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [scrollable-region-focusable](https://dequeuniversity.com/rules/axe/3.5/scrollable-region-focusable) | Elements that have scrollable content should be accessible by keyboard | Moderate | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [server-side-image-map](https://dequeuniversity.com/rules/axe/3.5/server-side-image-map) | Ensures that server-side image maps are not used | Minor | needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [svg-img-alt](https://dequeuniversity.com/rules/axe/3.5/svg-img-alt) | Ensures svg elements with an img, graphics-document or graphics-symbol role have an accessible text | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [td-headers-attr](https://dequeuniversity.com/rules/axe/3.5/td-headers-attr) | Ensure that each cell in a table using the headers refers to another cell in that table | Serious | failure, needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [th-has-data-cells](https://dequeuniversity.com/rules/axe/3.5/th-has-data-cells) | Ensure that each table header in a data table refers to data cells | Serious | failure, needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [valid-lang](https://dequeuniversity.com/rules/axe/3.5/valid-lang) | Ensures lang attributes have valid values | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [video-caption](https://dequeuniversity.com/rules/axe/3.5/video-caption) | Ensures <video> elements have captions | Critical | needs review | :heavy_check_mark: | :heavy_check_mark: | | | ||
### WCAG 2.1 Level A & AA Rules | ||
| Rule ID | Description | Impact | Issue Type | In Recommended Ruleset | In Extended Ruleset | Notes | | ||
| :------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------- | :------ | :--------- | :---------------------- | :------------------ | :------------------------------- | | ||
| [autocomplete-valid](https://dequeuniversity.com/rules/axe/3.5/autocomplete-valid) | Ensure the autocomplete attribute is correct and suitable for the form field | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [avoid-inline-spacing](https://dequeuniversity.com/rules/axe/3.5/avoid-inline-spacing) | Ensure that text spacing set through style attributes can be adjusted with custom stylesheets | Serious | failure | :x: | :heavy_check_mark: | TBD on how widespread this issue is | | ||
| Rule ID | Description | Impact | Issue Type | In Base Ruleset | In Recommended Ruleset | Notes | | ||
| :------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------- | :------ | :--------- | :----------------- | :--------------------- | :---------------------------------- | | ||
| [autocomplete-valid](https://dequeuniversity.com/rules/axe/3.5/autocomplete-valid) | Ensure the autocomplete attribute is correct and suitable for the form field | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [avoid-inline-spacing](https://dequeuniversity.com/rules/axe/3.5/avoid-inline-spacing) | Ensure that text spacing set through style attributes can be adjusted with custom stylesheets | Serious | failure | :x: | :heavy_check_mark: | TBD on how widespread this issue is | | ||
@@ -100,30 +100,30 @@ ### Best Practices Rules | ||
| Rule ID | Description | Impact | Issue Type | In Recommended Ruleset | In Extended Ruleset | Notes | | ||
| :------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------- | :----------------- | :------------------------- | :---------------------- | :------------------ | :------------------------------- | | ||
| [accesskeys](https://dequeuniversity.com/rules/axe/3.5/accesskeys) | Ensures every accesskey attribute value is unique | Serious | failure | :x: | :heavy_check_mark: | Rarely applicable | | ||
| [aria-allowed-role](https://dequeuniversity.com/rules/axe/3.5/aria-allowed-role) | Ensures role attribute has an appropriate value for the element | Minor | failure, needs review | :x: | :heavy_check_mark: | | | ||
| [empty-heading](https://dequeuniversity.com/rules/axe/3.5/empty-heading) | Ensures headings have discernible text | Minor | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [frame-tested](https://dequeuniversity.com/rules/axe/3.5/frame-tested) | Ensures <iframe> and <frame> elements contain the axe-core script | Critical | failure, needs review | :x: | :heavy_check_mark: | | | ||
| [frame-title-unique](https://dequeuniversity.com/rules/axe/3.5/frame-title-unique) | Ensures <iframe> and <frame> elements contain a unique title attribute | Serious | failure | :x: | :x: | May not be able to control for this on highly customizable pages with many embedded components | | ||
| [heading-order](https://dequeuniversity.com/rules/axe/3.5/heading-order) | Ensures the order of headings is semantically correct | Moderate | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [identical-links-same-purpose](https://dequeuniversity.com/rules/axe/3.5/identical-links-same-purpose) | Ensure that links with the same accessible name serve a similar purpose | Minor | needs review | :x: | :heavy_check_mark: | May not be able to control for this on highly customizable pages with many embedded components | | | ||
| [image-redundant-alt](https://dequeuniversity.com/rules/axe/3.5/image-redundant-alt) | Ensure image alternative is not repeated as text | Minor | failure | :heavy_check_mark: | :heavy_check_mark: | Common bug worth catching! | | ||
| [label-title-only](https://dequeuniversity.com/rules/axe/3.5/label-title-only) | Ensures that every form element is not solely labeled using the title or aria-describedby attributes | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [landmark-banner-is-top-level](https://dequeuniversity.com/rules/axe/3.5/landmark-banner-is-top-level) | Ensures the banner landmark is at top level | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Recommended" set | | ||
| [landmark-complementary-is-top-level](https://dequeuniversity.com/rules/axe/3.5/landmark-complementary-is-top-level) | Ensures the complementary landmark or aside is at top level | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Recommended" set | | ||
| [landmark-contentinfo-is-top-level](https://dequeuniversity.com/rules/axe/3.5/landmark-contentinfo-is-top-level) | Ensures the contentinfo landmark is at top level | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Recommended" set | | ||
| [landmark-main-is-top-level](https://dequeuniversity.com/rules/axe/3.5/landmark-main-is-top-level) | Ensures the main landmark is at top level | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Recommended" set | | ||
| [landmark-no-duplicate-banner](https://dequeuniversity.com/rules/axe/3.5/landmark-no-duplicate-banner) | Ensures the document has at most one banner landmark | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Recommended" set | | ||
| [landmark-no-duplicate-contentinfo](https://dequeuniversity.com/rules/axe/3.5/landmark-no-duplicate-contentinfo) | Ensures the document has at most one contentinfo landmark | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Recommended" set | | ||
| [landmark-no-duplicate-main](https://dequeuniversity.com/rules/axe/3.5/landmark-no-duplicate-main) | Ensures the document has at most one main landmark | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Recommended" set | | ||
| [landmark-one-main](https://dequeuniversity.com/rules/axe/3.5/landmark-one-main) | Ensures the document has a main landmark | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Recommended" set | | ||
| [landmark-unique](https://dequeuniversity.com/rules/axe/3.5/landmark-unique) | Landmarks must have a unique role or role/label/title (i.e. accessible name) combination | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Recommended" set | | ||
| [meta-viewport-large](https://dequeuniversity.com/rules/axe/3.5/meta-viewport-large) | Ensures <meta name="viewport"> can scale a significant amount | Minor | failure | :x: | :heavy_check_mark: | | | ||
| [meta-viewport](https://dequeuniversity.com/rules/axe/3.5/meta-viewport) | Ensures <meta name="viewport"> does not disable text scaling and zooming | Critical | failure | :x: | :heavy_check_mark: | | | ||
| [page-has-heading-one](https://dequeuniversity.com/rules/axe/3.5/page-has-heading-one) | Ensure that the page, or at least one of its frames contains a level-one heading | Moderate | failure | :heavy_check_mark: | :heavy_check_mark: | This should always be true | | ||
| [region](https://dequeuniversity.com/rules/axe/3.5/region) | Ensures all page content is contained by landmarks | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Recommended" set | | ||
| [scope-attr-valid](https://dequeuniversity.com/rules/axe/3.5/scope-attr-valid) | Ensures the scope attribute is used correctly on tables | Moderate, Critical | failure | :heavy_check_mark: | :heavy_check_mark: | This should always be true | | ||
| [skip-link](https://dequeuniversity.com/rules/axe/3.5/skip-link) | Ensure all skip links have a focusable target | Moderate | failure, needs review | :x: | :x: | Strict test for in-page links, doesn't pass for JS skip links | | ||
| [tabindex](https://dequeuniversity.com/rules/axe/3.5/tabindex) | Ensures tabindex attribute values are not greater than 0 | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | This should always be true | | ||
| [table-duplicate-name](https://dequeuniversity.com/rules/axe/3.5/table-duplicate-name) | Ensure that tables do not have the same summary and caption | Minor | failure | :x: | :x: | Table captions rarely used in our apps | | ||
| Rule ID | Description | Impact | Issue Type | In Base Ruleset | In Recommended Ruleset | Notes | | ||
| :------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------- | :----------------- | :------------------------- | :----------------- | :--------------------- | :--------------------------------------------------------------------------------------------- | | ||
| [accesskeys](https://dequeuniversity.com/rules/axe/3.5/accesskeys) | Ensures every accesskey attribute value is unique | Serious | failure | :x: | :heavy_check_mark: | Rarely applicable | | ||
| [aria-allowed-role](https://dequeuniversity.com/rules/axe/3.5/aria-allowed-role) | Ensures role attribute has an appropriate value for the element | Minor | failure, needs review | :x: | :heavy_check_mark: | | | ||
| [empty-heading](https://dequeuniversity.com/rules/axe/3.5/empty-heading) | Ensures headings have discernible text | Minor | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [frame-tested](https://dequeuniversity.com/rules/axe/3.5/frame-tested) | Ensures <iframe> and <frame> elements contain the axe-core script | Critical | failure, needs review | :x: | :heavy_check_mark: | | | ||
| [frame-title-unique](https://dequeuniversity.com/rules/axe/3.5/frame-title-unique) | Ensures <iframe> and <frame> elements contain a unique title attribute | Serious | failure | :x: | :x: | May not be able to control for this on highly customizable pages with many embedded components | | ||
| [heading-order](https://dequeuniversity.com/rules/axe/3.5/heading-order) | Ensures the order of headings is semantically correct | Moderate | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [identical-links-same-purpose](https://dequeuniversity.com/rules/axe/3.5/identical-links-same-purpose) | Ensure that links with the same accessible name serve a similar purpose | Minor | needs review | :x: | :heavy_check_mark: | May not be able to control for this on highly customizable pages with many embedded components | | | ||
| [image-redundant-alt](https://dequeuniversity.com/rules/axe/3.5/image-redundant-alt) | Ensure image alternative is not repeated as text | Minor | failure | :heavy_check_mark: | :heavy_check_mark: | Common bug worth catching! | | ||
| [label-title-only](https://dequeuniversity.com/rules/axe/3.5/label-title-only) | Ensures that every form element is not solely labeled using the title or aria-describedby attributes | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [landmark-banner-is-top-level](https://dequeuniversity.com/rules/axe/3.5/landmark-banner-is-top-level) | Ensures the banner landmark is at top level | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Base" set | | ||
| [landmark-complementary-is-top-level](https://dequeuniversity.com/rules/axe/3.5/landmark-complementary-is-top-level) | Ensures the complementary landmark or aside is at top level | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Base" set | | ||
| [landmark-contentinfo-is-top-level](https://dequeuniversity.com/rules/axe/3.5/landmark-contentinfo-is-top-level) | Ensures the contentinfo landmark is at top level | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Base" set | | ||
| [landmark-main-is-top-level](https://dequeuniversity.com/rules/axe/3.5/landmark-main-is-top-level) | Ensures the main landmark is at top level | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Base" set | | ||
| [landmark-no-duplicate-banner](https://dequeuniversity.com/rules/axe/3.5/landmark-no-duplicate-banner) | Ensures the document has at most one banner landmark | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Base" set | | ||
| [landmark-no-duplicate-contentinfo](https://dequeuniversity.com/rules/axe/3.5/landmark-no-duplicate-contentinfo) | Ensures the document has at most one contentinfo landmark | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Base" set | | ||
| [landmark-no-duplicate-main](https://dequeuniversity.com/rules/axe/3.5/landmark-no-duplicate-main) | Ensures the document has at most one main landmark | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Base" set | | ||
| [landmark-one-main](https://dequeuniversity.com/rules/axe/3.5/landmark-one-main) | Ensures the document has a main landmark | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Base" set | | ||
| [landmark-unique](https://dequeuniversity.com/rules/axe/3.5/landmark-unique) | Landmarks must have a unique role or role/label/title (i.e. accessible name) combination | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Base" set | | ||
| [meta-viewport-large](https://dequeuniversity.com/rules/axe/3.5/meta-viewport-large) | Ensures <meta name="viewport"> can scale a significant amount | Minor | failure | :x: | :heavy_check_mark: | | | ||
| [meta-viewport](https://dequeuniversity.com/rules/axe/3.5/meta-viewport) | Ensures <meta name="viewport"> does not disable text scaling and zooming | Critical | failure | :x: | :heavy_check_mark: | | | ||
| [page-has-heading-one](https://dequeuniversity.com/rules/axe/3.5/page-has-heading-one) | Ensure that the page, or at least one of its frames contains a level-one heading | Moderate | failure | :heavy_check_mark: | :heavy_check_mark: | This should always be true | | ||
| [region](https://dequeuniversity.com/rules/axe/3.5/region) | Ensures all page content is contained by landmarks | Moderate | failure | :x: | :heavy_check_mark: | Still have landmark work to do before enabling in "Base" set | | ||
| [scope-attr-valid](https://dequeuniversity.com/rules/axe/3.5/scope-attr-valid) | Ensures the scope attribute is used correctly on tables | Moderate, Critical | failure | :heavy_check_mark: | :heavy_check_mark: | This should always be true | | ||
| [skip-link](https://dequeuniversity.com/rules/axe/3.5/skip-link) | Ensure all skip links have a focusable target | Moderate | failure, needs review | :x: | :x: | Strict test for in-page links, doesn't pass for JS skip links | | ||
| [tabindex](https://dequeuniversity.com/rules/axe/3.5/tabindex) | Ensures tabindex attribute values are not greater than 0 | Serious | failure | :heavy_check_mark: | :heavy_check_mark: | This should always be true | | ||
| [table-duplicate-name](https://dequeuniversity.com/rules/axe/3.5/table-duplicate-name) | Ensure that tables do not have the same summary and caption | Minor | failure | :x: | :x: | Table captions rarely used in our apps | | ||
@@ -134,12 +134,12 @@ ### Experimental Rules | ||
| Rule ID | Description | Impact | Issue Type | In Recommended Ruleset | In Extended Ruleset | Notes | | ||
| :--------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- | :------- | :------------------------- | :---------------------- | :------------------ | :------------------------------- | | ||
| [css-orientation-lock](https://dequeuniversity.com/rules/axe/3.5/css-orientation-lock) | Ensures content is not locked to any specific display orientation, and the content is operable in all display orientations | Serious | failure, needs review | :x: | :heavy_check_mark: | | | ||
| [focus-order-semantics](https://dequeuniversity.com/rules/axe/3.5/focus-order-semantics) | Ensures elements in the focus order have an appropriate role | Minor | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [hidden-content](https://dequeuniversity.com/rules/axe/3.5/hidden-content) | Informs users about hidden content. | Minor | failure, needs review | :x: | :x: | Can have false positives | | ||
| [label-content-name-mismatch](https://dequeuniversity.com/rules/axe/3.5/label-content-name-mismatch) | Ensures that elements labelled through their content must have their visible text as part of their accessible name | Serious | failure | :x: | :heavy_check_mark: | | | ||
| [link-in-text-block](https://dequeuniversity.com/rules/axe/3.5/link-in-text-block) | Links can be distinguished without relying on color | Serious | failure, needs review | :x: | :heavy_check_mark: | | | ||
| [no-autoplay-audio](https://dequeuniversity.com/rules/axe/3.5/no-autoplay-audio) | Ensures <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio | Moderate | failure, needs review | :x: | :heavy_check_mark: | | | ||
| [p-as-heading](https://dequeuniversity.com/rules/axe/3.5/p-as-heading) | Ensure p elements are not used to style headings | Serious | failure | :x: | :heavy_check_mark: | | | ||
| [table-fake-caption](https://dequeuniversity.com/rules/axe/3.5/table-fake-caption) | Ensure that tables with a caption use the <caption> element. | Serious | failure | :x: | :x: | Table captions rarely used in our apps | | ||
| [td-has-header](https://dequeuniversity.com/rules/axe/3.5/td-has-header) | Ensure that each non-empty data cell in a large table has one or more table headers | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| Rule ID | Description | Impact | Issue Type | In Base Ruleset | In Recommended Ruleset | Notes | | ||
| :--------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- | :------- | :------------------------- | :----------------- | :--------------------- | :------------------------------------- | | ||
| [css-orientation-lock](https://dequeuniversity.com/rules/axe/3.5/css-orientation-lock) | Ensures content is not locked to any specific display orientation, and the content is operable in all display orientations | Serious | failure, needs review | :x: | :heavy_check_mark: | | | ||
| [focus-order-semantics](https://dequeuniversity.com/rules/axe/3.5/focus-order-semantics) | Ensures elements in the focus order have an appropriate role | Minor | failure | :heavy_check_mark: | :heavy_check_mark: | | | ||
| [hidden-content](https://dequeuniversity.com/rules/axe/3.5/hidden-content) | Informs users about hidden content. | Minor | failure, needs review | :x: | :x: | Can have false positives | | ||
| [label-content-name-mismatch](https://dequeuniversity.com/rules/axe/3.5/label-content-name-mismatch) | Ensures that elements labelled through their content must have their visible text as part of their accessible name | Serious | failure | :x: | :heavy_check_mark: | | | ||
| [link-in-text-block](https://dequeuniversity.com/rules/axe/3.5/link-in-text-block) | Links can be distinguished without relying on color | Serious | failure, needs review | :x: | :heavy_check_mark: | | | ||
| [no-autoplay-audio](https://dequeuniversity.com/rules/axe/3.5/no-autoplay-audio) | Ensures <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio | Moderate | failure, needs review | :x: | :heavy_check_mark: | | | ||
| [p-as-heading](https://dequeuniversity.com/rules/axe/3.5/p-as-heading) | Ensure p elements are not used to style headings | Serious | failure | :x: | :heavy_check_mark: | | | ||
| [table-fake-caption](https://dequeuniversity.com/rules/axe/3.5/table-fake-caption) | Ensure that tables with a caption use the <caption> element. | Serious | failure | :x: | :x: | Table captions rarely used in our apps | | ||
| [td-has-header](https://dequeuniversity.com/rules/axe/3.5/td-has-header) | Ensure that each non-empty data cell in a large table has one or more table headers | Critical | failure | :heavy_check_mark: | :heavy_check_mark: | | |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
43434
0
8
182
1
1
+ Addedaxe-core@3.5.5
+ Addedaxe-core@3.5.5(transitive)