Skip to content

Release 4.8.0

Compare
Choose a tag to compare
@attest-team-ci attest-team-ci released this 06 Sep 17:44
· 227 commits to master since this release
712026e

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)