Skip to content

Releases: dequelabs/axe-core

Release 4.6.2

04 Jan 16:44
98844fb
Compare
Choose a tag to compare

This release will not impact the number of violations returns.

Bug Fixes

  • color-contrast: fix color-contrast check when running in an extension (#3838) (31a3e01)

Release 4.6.1

14 Dec 17:50
3600bcb
Compare
Choose a tag to compare

This release will not impact the number of violations returns.

Bug Fixes

  • d.ts: add optional include to ContextObject (#3830) (36ed242)

Release 4.6.0

12 Dec 19:51
54eb9be
Compare
Choose a tag to compare

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

14 Nov 18:39
8212b9e
Compare
Choose a tag to compare

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

01 Nov 17:23
6200ce3
Compare
Choose a tag to compare

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.

Bug Fixes

  • allow axe to run in certain configurations of jsdom (#3755) (b74c5d4)
  • prevent crash on jsdom when preloading CSSOM (#3754) (b1f0c6b)

Release 4.5.0

24 Oct 17:22
8ce3098
Compare
Choose a tag to compare

This release may increase or decrease the number of violations reported. This can be because some rules have changed in which ruleset they run (best practice to WCAG, and vice versa). It can also be because the rules themselves got stricter in some places so are able to find new violations, and got more permissive in other places in order to handle more edge cases.

Tags that indicate which success criteria a rule tests violations for have been changed for several rules. In some cases new success criteria tags were added, and in others criteria tags were removed.

Features

Highlights

  • new rule: Add WCAG 2.2 target-size rule (off by default) (#3616) (691f1b6)
  • new rule: Add meta-refresh-no-exceptions (off by default, wcag2aaa) (#3530) (27031a8)
  • identical-links-same-purpose: Disable by default (wcag2aaa rule) (#3615) (a2c2d2f)
  • link-in-text-block: Remove experimental and enable by default (#3706) (37b6e7a)
  • i18n: Add Norwegian Bokmål locale (#3375) (2886d33)
  • i18n: Add Hebrew translation (#3438) (b4162ed)

Tags and Metadata Updates

Various changes of tags, for greater consistency with ACT Rules.

  • area-alt: Remove the wcag111 tag (#3479) (1c3cc51)
  • aria-hidden-focus: Remove the wcag131 tag (#3477) (36ace76)
  • empty-table-headers: Rule is now best-practice and fails instead of incompletes (#3427) (0a4397d), closes #3404
  • frame-title: Remove wcag241 tag (#3519) (9c6b828)
  • input-image-alt: Add the wcag412 tag (#3478) (34272c6)
  • label,select-name: Remove the sc131 tag (#3476) (7caef89)
  • meta-viewport: Report as violation of wcag 1.4.4 (#3704) (6f7e4a9)
  • metadata: Update ACT tags & actIds (#3498) (571722b)

Deprecations

  • Deprecate Internet Explorer support (#3644) (11f5163)
  • Deprecate sri-history.json file (#3646) (6f6a89e)
  • Deprecate and replace dom.isVisible, utils.isHidden, and dom.isHiddenWithCss (#3351) (1ae2ac0)
  • Deprecate only-dlitems-evaluate & only-listitems-evaluate methods (#3724) (322e9ed)
  • Deprecate presentation-role-conflict-matchess (#3638) (0f02a15)
  • Deprecate is-visible-matches, use is-visible-on-screen-matches (#3679) (738dd8f)
  • Deprecate not-html-matches, use :not(html) instead (#3540) (e0010d9)

Others

  • aria-roles: Permit fallback roles (#3683) (5665260)
  • aria-required-children: Allow aria-busy on children (#3569) (3618f50)
  • aria-required-children: Fail for children which are not listed as required (#3597) (b5ceabc)
  • getRules: Return actIds when set (#3470) (a3d5cef)
  • is-in-tab-order: Add isInTabOrder to commons (#3619) (77afe90), closes #3500
  • list/definition-list: Only allow required owned roles (#3707) (a920d35)
  • presentation-role-conflict: Test img elements with empty alt (#3717) (ea32fa7)

Bug Fixes

  • utils: greatly improve the speed of querySelectorAll (#3423) (1cae5ea)
  • aria-hidden-focus: Do not fail for focus trap bumper elements (#3667) (46b6658)
  • aria-required-attr: aria-valuenow is no longer required for spinbutton (#3552) (a22cf56)
  • aria-required-parent: Allow nested group and presentational roles (#3492) (4685270)
  • aria-valid-attr-value: Report empty values as incomplete (#3635) (fff39db)
  • avoid-inline-spacing: Add spacing threshold (#3533) (92add05)
  • checks/no-focusable-disable: Don't count non-disableable elements as disabled (#3393) (bb8b5ca), closes #2466 #2934 #2934 #3315
  • checks/unsupportedrole: Support unsupported dpub and fallback roles, add role to message (#3395) (3c0f10f), closes #2466 #2934 #2934 #3282
  • color-contrast-enhanced: Avoid duplicates between color-contrast and color-contrast-enhanced (#3714) (2811f77)
  • color-contrast: Correctly determine color contrast for element that exactly overlaps midpoint of node (#3565) (90de9aa)
  • frame-focusable-content: don't fail for elements with negative tabindex ([#3493](https://github.com/dequelabs/axe-cor...
Read more

Release 4.4.3

13 Jul 17:21
21a3e6a
Compare
Choose a tag to compare

This release does not change results of axe-core. Instead it gets rid of a warning when axe-core is installed with NPM using older versions of NodeJS. We also added a missing type definition when using axe.configure() in TypeScript.

Bug Fixes

Release 4.4.2

12 May 17:43
c31d85c
Compare
Choose a tag to compare

This release could reduce the number of violations reported and it could increase the number of incomplete items reported. We've tweaked a few remediation messages of rules for greater consistency and clarity. Role presentation and role none are now allowed on the HTML nav element. The aria-hidden-focusable rule now returns reports incomplete instead of a violation if the element has the onfocus attribute.

Bug Fixes

  • aria-hidden-focusable: report incomplete with onfocus (#3407) (6755e89)
  • aria-hidden-focus: Update rule help & description (#3422) (7cfb4b1)
  • aria-valid-attr-value: add note about element id being in a different shadow DOM tree (#3421) (24f74df)
  • color-contrast: consistently return color contrast information in the data object for pseudo elements (#3453) (1a9d95e)
  • deprecatedrole,color-contrast: fix message to properly include deprecated role, improve color-contrast pass messages (#3387) (650e503)
  • html-elms: update role allowances for nav element (#3402) (8aa816a), closes #3401
  • standards: fix address typo in html-elms.js (#3418) (f235cc7), closes #3417

Release v4.4.1

04 Feb 15:34
f583c70
Compare
Choose a tag to compare

Bug Fixes

  • DPUB: deprecate endnote, rather than endnotes (plural) (#3373) (1ba9917)
  • d.ts: correct getFrameContexts return type (#3370) (a1b9611)

Release v4.4.0

31 Jan 17:25
2c6f028
Compare
Choose a tag to compare

Features

  • add new ARIA roles (#3138) (61be7e5)
  • aria-allowed-attr: report violation for non-global ARIA attrs on element without role (#3342) (fb5d990)
  • aria-allowed-attr: report violations for non-global ARIA attributes on elements without a role (#3102) (87cfc0b)
  • color-contrast: add support for CSS mix-blend-mode (#3226) (d497f40)
  • commons: deprecate shadowElementsFromPoint (#3311) (c3a7d16)
  • configure: Deprecate branding: Object, use a string instead. (#3278) (1f01309)
  • dpub: upgrade to DPUB 1.1 and report deprecated roles (#3280) (034a846)
  • options: make axe.ping configurable with pingWaitTime (#3273) (ce4dfaf)
  • rule: add new color-contrast-enhanced rule (WCAG AAA) (#3235) (bec20fc), closes #2934

Bug Fixes

  • allowed-role: area without href can have a button or link role (#3275) (bf7e60a)
  • aria-allowed-attr: check for invalid aria-attributes for role="row" (#3160) (cfa900d)
  • aria-allowed-attr: revert violation for non-global ARIA attrs on element without role (#3243) (112b960)
  • aria-allowed-children,aria-allowed-parent: allow group role in listbox (#3195) (cb01975)
  • aria-allowed-role: allow title, aria-label and aria-labelledby on a img element with a supported role (#3224) (006a681)
  • aria-allowed-role: landmark roles banner on header and contentinfo on footer to only report on top-level rule (#3142) (1fd4b00)
  • aria-allowed-roles: allow role=radio on img with non-empty name (#3320) (accafdf)
  • aria-allowed-roles: update role allowances for section element (#3238) (99676ec), closes #3237
  • aria-allowed-role: Update allowed roles based on ARIA spec updates (#3124) (00f6efc)
  • aria-allowed-role: updates the allowed roles for the wbr element to none and presentation (#3192) (2f439b3), closes #3177
  • aria-prohibited-attr: update metadata message (#3206) (d1a768e)
  • autocomplete-valid: Allow custom autocomplete attribute values (#3225) (6076ee8)
  • axe.configure: do not remove newline characters from locale doT strings (#3216) (ea2ce17)
  • axe.d.ts: allow Node for include/exclude object (#3338) (e699939)
  • axe.run: add option to increase iframe ping timeout (#3233) (ec937e3)
  • check for hidden elements on aria-errormessage (#3156) (95d37dd)
  • color-contrast: account for 0 width scroll regions with children (#3172) (5908f0d)
  • color-contrast: account for elements that do not fill entire bounding size (#3186) (699697b)
  • color-contrast: check bg on fg contrast for thin text-shadows (#3350) (d92a7e5)
  • color-contrast: correctly apply page background color (#3207) (fbc581d)
  • color-contrast: correctly compute color-contrast of truncated children (#3203) (ac7b2b5)
  • color-contrast: correctly handle nested scroll regions (#3212) (22db29c)
  • color-contrast: correctly work with positioned elements without z-index (#3209) (725a20c)
  • color-contrast: inconsistency of bgOverlap message based on scroll (#3310) (25eff98)
  • color-contrast: properly blend multiple alpha colors (#3193) (e930a70)
  • core: Incomplete fallback was missing, and could cause infinite loop (#3302) (f23d8c8)
  • custom-elms: Don't error on custom Element.children prop (#3326) (2ad92f6)
  • d.ts: Add PartialResults type (#3126) (544b6d5)
  • get-selector: do not URL encode or token escape attribute selectors (#3215) (6f7e183)
  • getFrameContext: option.iframe=false always returns an empty array (#3279) (dfa9725)
  • greater consistency of help / description text (#3204) (0677565)
  • is-visible: do not error if window.Node does not exist (#3168) (4046087)
  • jsdoc: typo Sting -> String (d1cc205)
  • label-content-name-mismatch: account for formatting elements (#3349) ([53a6684](53a668...
Read more