axe-core 4.8.0
Release Notes
This axe-core release makes various changes to impact. As a result issues previously reported in one rule may now be reported under a different rule. In rarer cases, the impact under which an issue is reported may change. This release has further deprecated the duplicate-id
and duplicate-id-active
rule, along with setting the duplicate-id-aria
to always report as "needs review" rather than as a violation. As these three rules are fairly common causes of issues, this change may result in the total issue reported going down significantly.
Consistent Rule Impact
This release changes it so that a rule never changes what impact it reports. To facilitate this while without changing the impact on certain issues, some rules have been split. The following changes were involved:
- Deprecate impact on checks; use rules instead (#4114) (2cc5547)
- add rule aria-deprecated-role (#4074) (03f2771)
- add rule aria-conditional-attr (#4094) (d417630)
- aria-input/toggle-field-name: set impact always to serious (#4095) (e031d68)
- aria-prohibited-attr: add rule aria-prohibited-attr (#4088) (7b115d3)
- impact: aria-roles / aria-valid-attr-value is always "critical" (#4112) (5cc8041)
- impact: scope-attr-valid is always "moderate" (#4113) (131f552)
Other Features
- deprecate & disable duplicate-id / duplicate-id-active (#4071) (733c45e)
- duplicate-id-aria: set to review on fail and tag as wcag412 (#4075) (9f1a3e3)
- add EN.301.549 tags to rules (#4063) (de3da89)
- checks: enable help-same-as-label, but remove from rules (#4096) (034038a)
- new-rule: aria-braille-equivalent finds incorrect uses of aria-braille attributes (#4107) (6260a2f)
- page-no-duplicate-banner/contentinfo: deprecate options.nativeScopeFilter, take into ancestors with sectioning roles (#4105) (c6e07be)
Type Fixes & Improvements
Various improvements were made to the types. Potentially the most impactful of which is that the target
and ancestry
property now return as UnlabelledFrameSelector
instead of as string[]
, which is incorrect for selectors involving shadow DOM. This may create some issues during migration for any code that has been incorrectly assuming these two properties have the string[]
type. For more details and other type changes, see the commit itself:
Bug Fixes
- access-name: get name from header elements (#4097) (fbe99bf)
- add
element semantics (#4115) (637bf6c) - aria-allowed-attr: pass aria-expanded on checkbox & switch (#4110) (fcf76e0), closes #3339
- aria-allowed-role: Add doc-glossary to allowed roles for aside element (#4083) (6ca38f6)
- aria-allowed-role: add meter to allowed roles for named img (#4055) (173f29d), closes #4054
- aria-required-childen: test visibility of grandchildren (#4091) (a202b69)
- aria-text: typo in rule description (#4131) (85a0e9c)
- aria-valid-attr-value: allow empty value on aria-braille* & aria-valuetext (#4109) (c4c3e65)
- avoid memory issues by doing better cleanup (#4059) (16c5cfa)
- avoid problems from element IDs that exist on object prototype (#4060) (8d135dd)
- color-contrast: correctly handle flex and position (#4086) (9d5f496)
- color-contrast: get text stoke from offset shadows (#4079) (13acffe)
- color-contrast: ignore format unicode characters (#4102) (049522e)
- color-contrast: ignore zero width characters (#4103) (4deb0a0)
- color-contrast: process non-rgb color functions (#4092) (9634282)
- commons/dom/createGrid: only add the visible, non-overflow areas of an element to the grid (#4101) (d77f47b)
- ensure reporter errors can propagate (#4111) (080cc1b)
- ignore stylesheets fetching style tag in jsdom (#4138) (d7c16a4)
- jsdom: allow axe.setup() without a global window (#4116) (33b0314)
- target-size: correctly calculate bounding box (#4125) (1494b4c)
- target-size: update to match new spacing requirements (#4117) (49eaa0e)
- Use correct copyright year (#4098) (cab6a2b)
- utils/clone: don't try to clone elements from different window context (#4072) (55000d0)
Product Impacts
Each product has a separate axe-core version rollout process. The information below describes the impacts of this axe-core release once it is pulled into the given product.
axe Auditor
This axe-core release makes various changes to impact. As a result issues previously reported in one rule may now be reported under a different rule. In rarer cases, the impact under which an issue is reported may change. This release has further deprecated the duplicate-id and duplicate-id-active rule, along with setting the duplicate-id-aria to always report as "needs review" rather than as a violation. As these three rules are fairly common causes of issues, this change may result in the total issue reported going down significantly.
Additionally, a new rule has been added to test for incorrect uses of aria-braille attributes. This may lead to new issues being reported.
axe DevTools APIs and CLI
No meaningful impacts.
axe DevTools Extension
This axe-core release makes various changes to impact. As a result issues previously reported in one rule may now be reported under a different rule. In rarer cases, the impact under which an issue is reported may change. This release has further deprecated the duplicate-id and duplicate-id-active rule, along with setting the duplicate-id-aria to always report as "needs review" rather than as a violation. As these three rules are fairly common causes of issues, this change may result in the total issue reported going down significantly.
axe Monitor
This axe-core release makes various changes to impact. As a result issues previously reported in one rule may now be reported under a different rule. In rarer cases, the impact under which an issue is reported may change. This release has further deprecated the duplicate-id and duplicate-id-active rule, along with setting the duplicate-id-aria to always report as "needs review" rather than as a violation. As these three rules are fairly common causes of issues, this change may result in the total issue reported going down significantly.
Additionally, a new rule has been added to test for incorrect uses of aria-braille attributes. This may lead to new issues being reported.
These changes can lead to:
- Changes in accessibility score for the projects.
- Sometimes, for the same issue description, different issue impacts were reported. With this change, the issue impacts have been updated for consistency by issue description.
axe Reports
Consistent with changes in axe Monitor, the changes in axe-core can lead to significant changes in accessibility score for projects. This also applies to axe DevTools for Web related dashboards.