We've just upgraded our A11Y validation servers to the latest version of axe-core, 4.1.0, which includes new rules and improvements, so you may want to re-check your sites to get the most up-to-date results.
New accessibility rules in axe-core 4.1
Axe-core version 4.1.0 comes with 6 new rules that test for accessible names of different types of ARIA components. Rules are grouped based on how they map to WCAG. These six follow the same pattern; Elements with a role attribute that have this value need to have an accessible name, either using an aria-label, aria-labelledby or title attribute, or in some cases by the content of the element.
Adding an accessible name to these components ensures that users with assistive technologies can understand the purpose of these rules.
The last rule that is new in axe-core 4.1.0 is the presentation-role-conflict best practice rule. This rule checks that when you are using a role attribute with presentation or none, it is used in a way that will not be ignored by browsers and assistive technologies.
Read the full release notes for axe-core 4.1.0
Axe-core 4.1.0 Changelog
Full changelog for axe-core 4.1.0
Features
- new-rule: check that treeitem role has an accessible name
- Add aria-dialog-name
- aria-toggle-field-name: add option role
- checks: deprecate role-none and role-presentation for presentational-role
- get-role: add noPresentational option
- imports: deprecate axios
- label,select-name: allow placeholder to pass label rule, add select-name rule
- new-rule: ARIA links, buttons, menuitems have an accessible name
- new-rule: aria-tooltip-name
- new-rule: check that meter role has an accessible name
- new-rule: check that progressbars have an accessible name
- presentation-role-conflict: create rule to flag elements with role conflict resolution
- rule-matches: deprecate window-is-top-matches for is-intiator-matches
- standards: add superclassRole to ariaRoles
- standards: add superclassRole to dpubRoles
- utils: deprecate get/set-scroll-state
- valid-langs: deprecate validLangs, add isValidLangs, reduce file size
Bug Fixes
- commons/get-text-element-stack: account for newline characters when text is larger than container
- Update ACT rule tags
- aria-errormessage: allow aria-live=”polite” on aria-errormessage target
- aria-errormessage: allow aria-live=polite on aria-errormessage target
- aria-roles: add group to menuitemradio context
- aria-roles: Add WAI-ARIA 1.2 roles (#2544) (635b084)
- attr-non-space-content-evaluate: Split no attribute and empty attribute message
- audit: updated axe.reset() to reset branding, application, and tagExcludes.
- autocomplete-valid: allow type=tel for appropriate cc types
- checks/aria: Mark elements missing from aria-errormessage for review
- color-contrast: allow small text shadows to serve as text outline
- color-contrast: mark elements with pseudo content as needs review
- color-contrast: properly handle scrolling text
- docs/rules: add missing category tags to rules metadata
- explicit-label: work with multiple labels
- get-headers: fix for rowspan and colspan
- heading-order: evaluate headings from iframes in DOM order
- implilcit-role: use type property instead of attribute to resolve input role
- link-name: pass landmark content as link text
- name-rules: ignore when explicit roles don’t require a name
- region: allow role=dialog and svg elements outside regions
- region: treat iframes as regions
- rule: add check node to the check result object
- scrollable-region-focusalbe: do not fail for combobox pattern
- deprecate aria-form-field-name-matches for no-name-method-matches
- do not allow fallback content for objects
Current accessibility ruleset
Check out the full list of accessibility rules that are being checked currently by our web crawler
Accessibility rules checked by Rocket Validator