Accessibility Checker upgraded to Axe Core 4.0.2

by Jaime Iniesta

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


  • 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
  • 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 be null
  • 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

Subscribe to Rocket Validator updates

Join our mailing list to receive the latest news from Rocket Validator on your inbox.

Terms of Service

Automatic site-wide A11Y / HTML checker.
Start your trial today.