We've just upgraded our A11Y validation servers to the latest version of axe-core, 4.0.2, which includes new rules and improvements, so you may want to re-check your sites to get the most up-to-date results.
Axe Core 4.0.2
Bug Fixes
- color-contrast: dont error for floating element
- i18n: proofreading of the french translations
- implicit-role: return gridcell for td child of grid or treegrid
- label: pass when role none or presentation
- link-name: fix regression where link was not named from title attributefix po
- required-parent: fail if intermediate role is not the required parent
- svg-non-empty-title: update fail message to indicate if the title element is empty or missing
- valid-lang: fail when lang attribute contains only whitespace
Axe Core 4.0.1
Bug Fixes
- checks: do not normalize options for custom checks
Axe Core 4.0.0
Breaking Changes
The following rules were deprecated in axe-core 3.x, and are removed in 4.0:
- aria-dpub-role-fallback
- checkboxgroup
- layout-table
- radiogroup
- video-description
The following checks were deprecated in axe-core 3.x, and are removed in 4.0:
- aria/implicit-role-fallback
- forms/fieldset
- forms/group-labelledby
- media/description
- tables/has-caption
- tables/has-summary
- tables/has-th
Features
- add layout-table-matches method
- aria/get-roles-by-type: deprecate in favor of standards/get-aria-roles-by-type
- aria/lookupTable, aria-allowed-attr: deprecate aria.lookupTable and passing allowed attributes to aria-allowed-attr
- avoid-inline-spacing: add option for which css properties to look at
- checks: normalize check options to alway be an object
- checks,rules: remove deprecated checks and rules
- closest: VirtualNode implementation of Element.closest. Deprecate commons.dom.findUp and commons.dom.findUpVirtual
- color-contrast, utils: add more options to color-contrast, add utils.deepMerge, deprecate commons.color.hasValidContrastRatio
- commons/aria: deprecate getRole
- commons/standards: create the commons/standards object for helper functions against the standards table
- duplicate-img-label: add option for parentSelector
- get-role: add presentation role resolution and inheritance
- get-role: work with standards object
- globals: deduce required window and document globals from context
- has-descendant, page-no-duplicate: move page-has-elm and page-no-duplicate to generic check
- has-lang: add option for which attributes to look at
- has-text-content: add generic check has-text-content
- i18n: add Basque
- matcher: allow regex string to be parsed as regex
- matches: add explicitRole, implicitRole, and semanticRole matches functions
- matches-definition: add generic check matches-definition
- metadata-function-map: add metadata function map to support check evaulate functions as an id string
- non-space-content: switch all non-empty checks to new generic check
- object-alt,accessible-text: object-alt rule and accessible text to work with serial virtual nodes with children
- options: add ancestry CSS selector to nodes
- region: add option to match nodes as region
- required-attrs: deprecate options to pass more required attrs
- rule: add reviewOnFail option to have rule return as needs review instead of violation
- rule: optional impact on rules
- scope-value: add options for valid scope values
- standards: add ariaRoles standard
- standards: add dpub-roles spec
- standards: add get-aria-roles-supporting-name-from-content and deprecate aria/get-roles-with-name-from-content
- standards: add get-elements-by-content-type and implicit-html-roles
- add “ACT” tag for published W3C ACT rules
- standards: add html-elms spec
- standards: create standards object and ariaAttrs
- utils.getFlattenTree: default to documentElement
- valid-lang: add option for which attributes to look at
-
update SC tags for
label
rule
Bug Fixes
- accessible-name-virtual: allow subtree text to work with virtual and serial nodes
- api: correct use of rules property in axe.run
- aria-allowed-attr: Add aria-orientation to radiogroup role
- aria-allowed-attr: allow aria-activedescendant on role=application
- aria-allowed-role: Add fieldset to allowed elements for radiogroup
- aria-allowed-role: allow role=presentation on hr
- aria-lablledby: work with virtual and serial virtual nodes
- aria-toggle-field-name: work with virtual nodes
- aria/allowed-attr: work with standards object
- aria/get-role-type: work with standards object
- autocomplete: allow all ‘tel-*’ autocomplete values on type=tel
- button-name: work with serial virtual node
- bypass: find headings in iframes
- color: allow all valid CSS colors
- color-contrast: account for text-shadow
- color-contrast: ignore aria-disabled labels
- color-contrast: properly handle truncated text
- dlitem: allow role=presentation on parent dl
- focusable-no-name: work with serial virtual nodes
- forms/*: allow all form control value checks to work with virtual nodes
- header-present: fail for headings with non-header role
- html-namespace-matches: work with serial virtual nodes
- implicit-roles: add proper implicit role calculation
- input-button-name: work with virtual nodes
- is-valid-autocomplete: allow autocomplete=”one-time-code”
- label: work with virtual nodes
- page-has-h1: allow aria-level=1 on native headings
- rule: allow impact to be configured
- rule,check: allow function ids for matches property in rule.configure
- run: cleanup globals if set from context
- svg-image-alt: work with serial virtual nodes
-
types: Allow
impact
to benull
- types: Make any tag allowed
- typings: update types file
- virtual-node: default and lowercase type property
-
ensure correctly generated axe is required by
aria-supported
build step - aria-required-attr: pass aria-checked for elements with checked property
-
axe.d.ts: add
element
to NodeResults - color-contrast: mark more punctutions for review
- duplicate-id: list the duplicate id in message
- required-children: consider overriding descendant role
- scrollable-region-focusable: pass for elements with contenteditable
- th-has-data-cells: fail when only cell points to different header
- types: Add “wcag21aa” and “wcag21a” to our TS definition
-
types: Add missing properties to
Spec