Skip to content

Releases: dequelabs/axe-core

Release 4.10.2

23 Oct 16:43
4e226c1
Compare
Choose a tag to compare

This release prevents axe from sometimes crashing when a page changes in the middle of a test.

Bug Fixes

  • get-ancestry: don't error when there is no parent (#4617) (6c07102)

Release 4.10.1

16 Oct 17:29
b581695
Compare
Choose a tag to compare

Because a few false positives were fixed, this release may see the number of reported issues go down. In pages with lots of very similar elements a performance bottleneck was fixed, allowing axe to finish sometimes up to 10x faster, although for most pages there won't be a difference. Lastly there is a small change to the ancestry selector of elements in shadow DOM. These weren't always guaranteed to be unique. The change means deduplication based on ancestry selectors may not work between 4.10.1 and older versions.

Bug Fixes

Release 4.10.0

29 Jul 16:21
c49c8ea
Compare
Choose a tag to compare

This axe-core release introduces a new rule for testing the HTML summary element. Additionally, a number of false positives have been fixed. Upgrading to this release may therefore both increase, or decrease the number of issues found on a website. Most likely the impact of upgrading from axe-core 4.9.2 to axe-core 4.10.0 should be minimal.

Features

  • new-rule: summary elements must have an accessible name (#4511) (0d8a99e), closes #4510

Bug Fixes

  • aria-allowed-attr: allow aria-multiline=false for element with contenteditable (#4537) (f019068)
  • aria-allowed-attr: allow aria-required=false when normally not allowed (#4532) (2e242e1)
  • aria-prohibited-attr: allow aria-label/ledby on descendants of widget (#4541) (07c5d91)
  • aria-roledescription: keep disabled with { runOnly: 'wcag2a' } (#4526) (5b4cb9d), closes #4523
  • autocomplete-valid: incomplete for invalid but safe values (#4500) (e31a974), closes #4492
  • build: limit locales to valid files when using the --all-lang option (#4486) (d3db593), closes #4485
  • Prevent errors when loading axe in Angular + Jest (#4456) (3ef9353), closes #4400
  • Minor grammatical fixes for some rules and checks (#4499) (11fad59)
  • landmark-unique: follow spec, aside -> landmark (#4469) (e32f803), closes #4460
  • required-attr: allow aria-valuetext on slider instead of valuenow (#4518) (135898b), closes #4515

Release 4.9.1

06 May 15:54
fff9b9d
Compare
Choose a tag to compare

This release addresses a number of false positives, which may result in fewer issues reported. It also prevents a problem where axe-core wouldn't load on pages due to a conflict with a long-ago deprecated javascript library.

Bug Fixes

  • Prevent errors when loading axe in a page with prototype.js
  • aria-allowed-attr: allow meter role allowed aria-* attributes on meter element (#4435) (7ac6392)
  • aria-allowed-role: add gridcell, separator, slider and treeitem to allowed roles of button element (#4398) (4788bf8)
  • aria-roles: correct abstract roles (types) for aria-roles(#4421)
  • aria-valid-attr-value: aria-controls & aria-haspopup incomplete (#4418)
  • fix building axe-core translation files with region locales (#4396) (5c318f3), closes #4388
  • invalidrole: allow upper and mixed case role names (#4358) (105016c), closes #2695
  • isVisibleOnScreen: account for position: absolute elements inside overflow container (#4405) (2940f6e), closes #4016
  • label-content-name-mismatch: better dismiss and wysiwyg symbolic text characters (#4402)
  • region: Decorative images ignored by region rule (#4412)
  • target-size: ignore descendant elements in shadow dom (#4410) (6091367)
  • target-size: pass for element that has nearby elements that are obscured (#4422) (3a90bb7), closes #4387

Release 4.9.0

25 Mar 19:39
d847924
Compare
Choose a tag to compare

Features

Bug Fixes

  • Add LICENSE-3RD-PARTY.txt file (#4304) (daa0fe6)
  • add Object.values polyfill for node <=6 (#4274) (5eb867b)
  • aria-required-children: avoid confusing aria-busy message in failures (#4347) (591607d), closes #fail13 #4340
  • avoid reading element-specific node properties of non-element node types (#4317) (b853b18), closes #4316 #4316
  • color-contrast: handle text that is outside overflow: hidden ancestor (#4357) (bdb7300), closes #4253
  • color-contrast: support color blend modes hue, saturation, color, luminosity (#4365) (7ae4761)
  • d.ts: RawNodesResult issues (#4229) (d660518)
  • d.ts: RunOptions.reporter can be any string (#4218) (e53f5c5)
  • i18n: update Italian translations (#4377) (4d65d4b)
  • listitem: clarify roleNotValid message (#4374) (0f8a9af)
  • scrollable-region-focusable: missing wcag213 tag (#4201) (0080a72)
  • target-size: always pass 10x targets (avoid perf bottleneck) (#4376) (be327c4)
  • target-size: do not crash for nodes with many overlapping widgets (#4373) (1dbea83), closes #4359 #4359 #4360
  • utils/get-selector: ignore 'xmlns' attribute when generating a selector (#4303) (938b411)

Release 4.8.4

07 Feb 18:01
9ba9d05
Compare
Choose a tag to compare

This release should not result in different issue numbers. For TypeScript users, an error in type definitions has been corrected. This release could require a correction to how axe-core types are used. This release may change selectors on elements with the xmlns attribute, as the selectors axe-core prosed with those was invalid. Deduplication based on selectors between this and and prior versions of axe-core can fail because of this change.

Bug Fixes

  • Add LICENSE-3RD-PARTY.txt file (#4304) (139c553)
  • avoid reading element-specific node properties of non-element node types (#4317) (a2a6935), closes #4316 #4316
  • d.ts: RawNodesResult issues (#4229) (f105266)
  • d.ts: RunOptions.reporter can be any string (#4218) (80de793)
  • utils/get-selector: ignore 'xmlns' attribute when generating a selector (#4303) (8c68546)

Release 4.8.3

18 Dec 21:06
d3c8b4b
Compare
Choose a tag to compare

This release will not change axe-core's results. Only needed when used with old versions of NodeJS.

Bug Fixes

Release 4.8.2

21 Sep 16:25
9968aa9
Compare
Choose a tag to compare

Bug Fixes

Release 4.8.1

08 Sep 16:24
cbf9c45
Compare
Choose a tag to compare

This release does not change the number of issues reported.

Bug Fixes

  • target-size: show closest offset in message (#4151) (a0882f6)

Release 4.8.0

06 Sep 17:44
712026e
Compare
Choose a tag to compare

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)