Releases: dequelabs/axe-core
Release 4.8.0
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)
Release 4.7.2
This release corrects the Trusted Tester v5 tags, which were introduced in 4.7.0, and it addresses a few false positives which for pages with forms may result in a few less issues found.
Bug Fixes
Release 4.7.1
This release addresses a number of bugs. Some things that were failed in the previous release may now be passed or require manual review.
Bug Fixes
- aria-allowed-attr: no inconsistent aria-checked on HTML checkboxes (#3895) (704043e)
- aria-allowed-attrs: add aria-expanded to allowed attrs for menuitemcheckbox and menuitemradio (#3994) (0f405c6)
- aria-required-children: trigger reviewEmpty with hidden children (#4012) (a19b6cb)
- color-contrast: support CSS 4 color spaces (#4020) (65621c3)
- link-in-text-block: set links with pseudo-content for review (#4005) (949f4f8)
Release 4.7.0
This release adds support for a few features that have been added to browsers in the last year. No new rules are added, and it did not make axe-core stricter in any other significant way. The number of issues reported by this version may be lower than from the prior version. Of one rule, the impact level was raised.
Features
- aria-roledescription: deprecate rule (#3948) (1913a9e)
- aria-roles: deprecate the ARIA directory role (#3952) (893fdd0)
- d.ts: setup/teardown, reporters & metadata definitions (#3966) (78264ee)
- deprecate bower (#3889) (651d811)
- deprecate color.filteredRectStack, color.getRectStack, and dom.visuallyContains (#3859) (3be2bad)
- dom.focusDisabled,dom.isVisibleForScreenreader: support the inert attribute (#3857) (273c971)
- metadata: add Trusted Tester tag (#3986) (1f6a2a6)
- support the dialog element (#3902) (d4522cd)
Bug Fixes
- aria-allowed-attrs: allow aria-description and aria-braille* attrs (#3956) (2842395)
- aria-input-field-name: skip combobox popups (#3886) (3dcdd42)
- aria-required-children: allow separator in menu(bar) (#3868) (ec9f507)
- aria-required-children: do not fail for children with aria-hidden (#3949) (8714d6b)
- aria-required-children: list elements that are not allowed (#3951) (cce7586)
- autocomplete-valid: allow webauthn token (#3866) (fd3010f)
- color-contrast: correcly apply opacity to foreground color (#3973) (d7db279)
- color-contrast: correctly calculate contrast of flex/grid items with z-index (#3884) (cef96be)
- color-contrast: correctly compute background color for elements with opacity (#3944) (c051fe8), closes #3932
- color-contrast: correctly compute color contrast of elements (#3847) (4c3a00c)
- color-contrast: do not check contrast on elemets that are inerted (#3894) (da19946)
- color-contrast: skip ligature icons (#3867) (9486288)
- create-grid: correctly compute stack order for non-positioned stacking contexts (#3930) (8db2c24), closes #3932
- css-orientation-lock: support the css rotate property (#3958) (c51f8bf)
- focus-order-semantics: Add ARIA role article to list of valid roles for scrollable regions (#3927) (f029271)
- is-icon-ligature: prevent canvas2d warning willReadFrequently (#3931) (b3c52bb)
- link-in-text-block: allow links with identical colors (#3861) (5f90040)
- respondable: work with CDP
Page.setDocumentContent
(#3921) (66f23e5) - scrollable-region-focusable: change impact to serious (#3959) (e3a5c21)
- scrollable-region-focusable: skip native controls (#3862) (b0bdefa)
Release 4.6.3
This release can reduce the number of issues reported. On color-contrast it will result in fewer incomplete results (aka "needs review"), which may result in a few more color-contrast violations found.
Bug Fixes
- aria-required-children: allow separator in menu(bar) (#3868) (46c9499)
- autocomplete-valid: allow webauthn token (#3866) (a3d1b9d)
- color-contrast: correctly compute color contrast of
<slot>
elements (#3847) (844cea1) - color-contrast: skip ligature icons (#3867) (7dfbd9a)
- link-in-text-block: allow links with identical colors (#3861) (6761f36)
- scrollable-region-focusable: skip native controls (#3862) (aaf44e9)
Release 4.6.2
Release 4.6.1
Release 4.6.0
This release adds requirements introduced in WAI-ARIA 1.2, which can result in new issues. The color contrast rule has been improved which should reduce the number of incomplete (aka "needs review") results.
Lastly, this release adds the ability to include or exclude elements inside shadow DOM trees from a test run. See [dom selection] for details.
Features
- aria-required-attr: require aria-controls on combobox and aria-valuenow on focusable separator (#3786) (5259e88)
- checks/label-content-name-mismatch: deprecate occuranceThreshold option in favor of occurrenceThreshold to fix typo (#3782) (5026d65)
- commons: deprecate flattenShadowColors in favor of flattenColors (#3792) (af49daf)
- context: allow selecting shadow DOM nodes (#3798) (9e1e31b)
- list,listitem: do not allow group as allowed parent or child (#3784) (d1cbf6f)
- required-attr: require aria-checked for checkbox-like and radio-like roles (#3785) (563e4e9)
- utils: new shadowSelectAll utility (#3796) (5865462)
Bug Fixes
- aria-allowed-role: allow combobox on button, checkbox and combobox on input[type=button] (#3354) (ac688c0), closes #3353
- aria-required-children: allow menu as child of menu (#3820) (a6569e5)
- color-contrast: consider -webkit-text-stroke & -webkit-text-fill-color (#3791) (228daf1)
- color-contrast: correctly calculate background color of text nodes with different size than their container (#3703) (123b83c)
- get-role: handle presentation role inheritance for vnodes with no parent (#3801) (b971caf)
- html-lang-valid: only run rule when attribute has value (#3663) (1a7eecb), closes #3624
- metadata: Map aria-required-children to ACT rule bc4a75 (#3790) (a33a523)
Release 4.5.2
This release can result in fewer issues reported on link-in-text-block and aria-required-children. This release addresses an issue where color-contrast and target-size violations were not reported after the page was scrolled.
Bug Fixes
- aria-required-children: allow menu and menubar to be empty (#3770) (d11aed8)
- create-grid: include elements scrolled out of view in the grid (#3773) (a563263)
- do not warn when using webpack (#3777) (d6cef9a)
- link-in-text-block: don't match style or script text (#3775) (ab877f9)
- prevent undefined relatedNodes from halting axe (#3778) (efefb18)
Release 4.5.1
This release does not change results of axe-core. It resolves a problem where axe had gotten unnecessarily picky about which order things need to be loaded in in some test environments.