Skip to content

Releases: dequelabs/axe-core

Release 4.11.1

06 Jan 19:10
fbd2f40

Choose a tag to compare

Release summary

This release addresses a number of false positives, which may result in a slightly lower number of issues reported. It also resolves a problem that caused the color contrast rule skip a page in edge cases. A page that wasn't tested because of this edge case may now be tested, and so could see new color contrast issues reported.

Lastly this rule corrects a few of the newly released RGAA tags, so when running an RGAA ruleset which rules run, and how they are mapped to RGAA is slightly different.

Bug Fixes

  • allow shadow roots in axe.run contexts (#4952) (d4aee16), closes #4941
  • color contrast fails for oklch and oklab with none (#4959) (8f249fd)
  • color-contrast: do not incomplete on textarea (#4968) (d271788), closes #4947
  • commons/color: Match browser behavior for out-of-gamut oklch colors (#4908) (5036be8)
  • don't runs rules that select html on nested html elements (#4969) (1e9a5c3)
  • replaced luminance threshold constant 0.03928 with 0.04045 (#4934) (316967d), closes #4933
  • rgaa: adjust mapping of aria-hidden-* and valid-lang (#4935) (77571f2)
  • valid-lang: update valid-langs for newer language codes (#4966) (c3f5446), closes #4963

Release 4.11.0

09 Oct 16:40
7dc4242

Choose a tag to compare

This release adds the new RGAA standard to many rules. Of particular note is that some best practice rules under WCAG are required under the RGAA standard: focus-order-semantics (experimental), region, skip-link, table-duplicate-name. This means that these rules are tagged as both best-practice and RGAAv4. Applications which are filtering rules based on the best-practice tags will need to update the logic in order to handle RGAA rules that are tagged best-practice.

Features

  • add RGAA tags to rules (#4862) (53a925a)
  • aria-prohibited-attr: add support for fallback roles (#4325) (62a19a9)
  • axe.d.ts: add nodeSerializer typings (#4551) (a2f3a48), closes #4093
  • DqElement: deprecate fromFrame function (#4881) (374c376), closes #4093
  • DqElement: Truncate large html strings when the element has a large outerHTML string (#4796) (404a4fb), closes #4544
  • get-xpath: return proper relative selector for id (#4846) (1035f9e), closes #4845
  • i18n: Add Portugal Portuguese translation (#4725) (5b6a65a)
  • incomplete with node on which an error occurred (#4863) (32ed8da)
  • locale: Added ru locale (#4565) (067b01d)
  • tap: some best practice rules map to RGAA (#4895) (bc33f4c)
  • td-headers-attr: report headers attribute referencing other elements as unsupported (#4589) (ec7c6c8), closes #3987

Bug Fixes

Release 4.10.3

05 Mar 16:07
f49c1c4

Choose a tag to compare

This release addresses a few performance issues, corrects a few typos, and addresses a few inconsistencies between axe and the latest web standards. This may, but is unlikely to reduce the total number of issues found.

Bug Fixes

  • aria-allowed-role: Add math to allowed roles for img element (#4658) (f6dddd9), closes #4657
  • captions: fix grammar in captions check incomplete message (#4661) (3ef7058)
  • consistently parse tabindex, following HTML 5 spec (#4637) (3b0a361), closes #4632
  • core: measure perf for async checks (#4609) (e7dc26e)
  • locale: fixed typos in german (DE) locale (#4631) (0740980)
  • locale: proofread and updated de.json (#4643) (910cdb2)
  • no-autoplay-audio: don't timeout for preload=none media elements (#4684) (b7f1ad1)
  • target-size: do not treat focusable tabpanels as targets (#4702) (67d4e4f), closes #4421 #4701

Release 4.10.2

23 Oct 16:43
4e226c1

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

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

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

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

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

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

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