Axe-core 4.5: First WCAG 2.2 Support and More
Accessibility standards are very important. When my colleagues and I are not busy testing, teaching, or building tools, you can find us participating in the development of new standards at the World Wide Web Consortium (W3C).
The Web Content Accessibility Guidelines (WCAG) is a major factor in the success of accessibility legislation around the world. The WAI-ARIA standard made it possible to build rich and dynamic applications in an accessible way. More recently, the Accessibility Conformance Testing (ACT) Rules started creating a baseline for harmonized accessibility testing to encourage greater consistency between organizations’ testing accessibility.
This week, we published axe-core version 4.5.0, which significantly improves axe-core’s support for new W3C resources. Some of axe-core 4.5.0’s notable features include:
- A new WCAG 2.2 rule to test for a minimum size of touch targets
- Various changes to WCAG tags for consistency with ACT Rules
- Additional support for WCAG Level AAA success criteria
- New localizations for Hebrew and Norwegian
- And much more.
WCAG 2.2 Target Size Testing
While WCAG 2.2 is still a few months away from becoming an official W3C Recommendation, we decided to take an early lead and create the new
target size rule for testing WCAG 2.2’s new 2.5.8 Target Size (Minimum) success criterion.
target-size rule tests if links, buttons, form fields, and other controls have a width and height of at least 24 pixels, or if they don’t, that they have that much space from the closest other control. This success criterion helps people who are less accurate in using a mouse or touchpad from accidentally activating the wrong control. For more information on target size, see the
target-size help page, and understanding 2.5.8 Target Size.
Until WCAG 2.2 is a W3C Recommendation that is more widely required, this rule will be off by default. To use this rule you will need to configure your axe products to use the WCAG 2.2 ruleset. Because of how few new success criteria in WCAG 2.2 can be automated without false positives, the
target-size rule is likely the only rule for WCAG 2.2 that will be added to axe-core. Tests for criteria such as Focus Appearance and Focus Not Obscure will be available in an upcoming version of axe DevTools Pro.
Updates WCAG tags for ACT
Accessibility Conformance Testing (ACT) Rules are a baseline for harmonized accessibility testing published by the W3C. These rules define in great detail how exactly WCAG and ARIA requirements are intended to be tested, and include hundreds of test cases so that organizations can confirm their testing happens as intended. These ACT rules provide guidance for automated test tools like axe-core, semi-automated tools like axe DevTools Pro, and test methodologies like that of axe Auditor. Recently, the W3C published ACT implementation tables, for which they are looking for feedback.
With axe-core 4.5 we have further improved on the consistency with ACT Rules. Notably, for this release, a number of axe-core rules had a tag for one of the WCAG success criteria either added or removed. For example, the
select-name rules now only map to criterion 4.1.2 Name, Role, Value. A complete list of changes is available in the axe-core 4.5 release notes.
Additional Support for WCAG Level AAA
WCAG 2 success criteria are grouped into three levels: Level A, Level AA, and Level AAA. Most commonly, organizations aim to have their content meet WCAG at level AA. But more and more, organizations are trying to get their most important pages to meet at level AAA.
To support this effort, we’ve made a number of changes to how axe-core handles level AAA requirements:
- A new
meta-refresh-no-exceptionsrule was added to test for automatic page refreshes of any duration.
- For consistency with other level AAA rules, the
identical-links-same-purposerule is now off by default. Going forward, all Level AAA rules will be off by default.
- Rules for Level AAA now avoid duplicates with rules of lower WCAG levels. For example, a text with a contrast of 2:1 is no longer failed by the
color-contrast-enhancedrule, because it is covered by the
color-contrast-enhancedrule now only fails texts with a contrast between 4.5:1 and 7:1 (or between 3:1 and 4.5:1 for large text).
Hebrew and Norwegian Localizations
Thanks to the wonderful axe community, axe-core 4.5.0 released with two new community-contributed localizations. One for Norwegian (Bokmål) provided to us by Ole Marius Løset, and Hebrew provided to us by Nadav Kavalerchik. We want to thank you both, as well as Dag Eikesdal, Talyah Aviran, Adi Kushnir, and our friends at TransPerfect for reviewing these contributions.
link-in-text-block rule is no longer listed as experimental, and will now be enabled by default. This rule tests that links in a block of text have a distinguishing style such as underline, or that the color of the link text has a contrast difference of at least 3:1 with the non-link texts, so that the links are visually distinct.
We have also made a number of improvements to axe-core internal methods. These include methods of searching the page, and determining the visibility of elements on the page. Both are now significantly faster and a little more accurate. With those rewrites, a number of axe-core utilities have been deprecated. Anyone building tools on top of axe-core should make sure to switch over to the new methods before axe-core 5.0.
A complete list of changes and deprecations are available in the axe-core 4.5.0 release notes.
Availability of axe-core 4.5
Axe-core 4.5.0 is currently available on NPM. Anyone using axe-core as part of either axe DevTools APIs or any of the open source axe-core integrations can start to use axe-core 4.5.0 today.
Other axe products, including axe DevTools Pro, axe Linter, axe Auditor, and axe Monitor will release an update with axe-core 4.5 starting in the next four weeks. Stay tuned for additional product updates as axe-core is updated.