Skip to content

Tags: dequelabs/axe-core

Tags

v4.12.1

Toggle v4.12.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(release): 4.12.1 (#5152)

### Bug Fixes

- **axe.d.ts:** make enabled property of RuleMetadata optional
([#5129](#5129))
([7eb3d2d](7eb3d2d))

v4.12.0

Toggle v4.12.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
ci: continue-on-error for text_examples (#5124)

Temporarily prevent example_test from failing CI so we can release.

v4.11.4

Toggle v4.11.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: Release 4.11.4 (#5081)

### Bug Fixes

- **commons/text:** exclude natively hidden elements from
aria-labelledby accessible name
([#5076](#5076))
([df34adf](df34adf)),
closes [#4704](#4704)
- **utils/getAncestry:** escape node name
([#5079](#5079))
([6e68d0a](6e68d0a)),
closes [#5078](#5078)

v4.11.3

Toggle v4.11.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(release): v4.11.3 (#5070)

### Bug Fixes

- **aria-allowed-attr:** restrict br and wbr elements to aria-hidden
only ([#4974](#4974))
([1d80163](1d80163))
- **target-size:** ignore position: fixed elements that are offscreen
when page is scrolled
([#5066](#5066))
([5906273](5906273)),
closes [#5065](#5065)

v4.11.2

Toggle v4.11.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(release): v4.11.2 (#5049)

### [4.11.2](v4.11.1...v4.11.2)
(2026-03-30)

### Bug Fixes

- **aria-valid-attr-value:** handle multiple aria-errormessage IDs
([#4973](#4973))
([9322148](9322148))
- **aria:** prevent getOwnedVirtual from returning duplicate nodes
([#4987](#4987))
([99d1e77](99d1e77)),
closes [#4840](#4840)
- **DqElement:** avoid calling constructors with cloneNode
([#5013](#5013))
([88bc57f](88bc57f))
- **existing-rule:** aria-busy now shows an error message for a use with
unallowed children
([#5017](#5017))
([dded75a](dded75a))
- **scrollable-region-focusable:** clarify the issue is in safari
([#4995](#4995))
([2567afd](2567afd)),
closes
[WebKit#190870](https://github.com/dequelabs/WebKit/issues/190870)
[WebKit#277290](https://github.com/dequelabs/WebKit/issues/277290)
- **scrollable-region-focusable:** do not fail scroll areas when all
content is visible without scrolling
([#4993](#4993))
([240f8b5](240f8b5))
- **target-size:** determine offset using clientRects if target is
display:inline
([#5012](#5012))
([69d81c1](69d81c1))
- **target-size:** ignore widgets that are inline with other inline
elements ([#5000](#5000))
([cf8a3c0](cf8a3c0))

v4.11.1

Toggle v4.11.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(release): v4.11.1 (#4981)

###
[4.11.1](v4.11.0...v4.11.1)
(2026-01-06)

### Bug Fixes

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

This PR was opened by a robot 🤖 🎉

v4.11.0

Toggle v4.11.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(release): v4.11.0 (#4904)

##
[4.11.0](v4.10.3...v4.11.0)
(2025-10-07)

### Features

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

### Bug Fixes

- **aria-allowed-role:** add form to allowed roles of form element
([#4588](#4588))
([8aa47ac](8aa47ac)),
closes
[/github.com/dequelabs/axe-core/blob/develop/lib/standards/html-elms.js#L264](https://github.com/dequelabs//github.com/dequelabs/axe-core/blob/develop/lib/standards/html-elms.js/issues/L264)
- **aria-allowed-role:** Add math to allowed roles for img element
([#4658](#4658))
([95b6c18](95b6c18)),
closes [#4657](#4657)
- **autocomplete-valid :** Ignore readonly autocomplete field
([#4721](#4721))
([491f4ec](491f4ec)),
closes [#4708](#4708)
- **autocomplete-valid:** treat values "xon" and "xoff" as
non-WCAG-violations
([#4878](#4878))
([52bc611](52bc611)),
closes [#4877](#4877)
- **axe.d.ts:** add typings for preload options object
([#4543](#4543))
([cfd2974](cfd2974))
- **button-name,input-button-name,input-img-alt:** allow label to give
accessible name
([#4607](#4607))
([a9710d7](a9710d7)),
closes [#4472](#4472)
[#3696](#3696)
[#3696](#3696)
- **captions:** fix grammar in captions check incomplete message
([#4661](#4661))
([11de515](11de515))
- **color-contrast:** do not run on elements with font-size: 0
([#4822](#4822))
([d77c885](d77c885)),
closes [#4820](#4820)
- consistently parse tabindex, following HTML 5 spec
([#4637](#4637))
([645a850](645a850)),
closes [#4632](#4632)
- **core:** measure perf for async checks
([#4609](#4609))
([7e9bacf](7e9bacf))
- fix grammar when using "alternative text" in a sentence
([#4811](#4811))
([237a586](237a586)),
closes [#4394](#4394)
- **get-ancestry:** add nth-child selector for multiple siblings of
shadow root ([#4606](#4606))
([1cdd6c3](1cdd6c3)),
closes [#4563](#4563)
- **get-ancestry:** don't error when there is no parent
([#4617](#4617))
([a005703](a005703))
- **locale:** fix typos in japanese (ja) locale
([#4856](#4856))
([3462cc5](3462cc5))
- **locale:** fixed typos in german (DE) locale
([#4631](#4631))
([b7736de](b7736de))
- **locale:** proofread and updated de.json
([#4643](#4643))
([8060ada](8060ada))
- **meta-viewport:** lower impact to moderate
([#4887](#4887))
([2f32aa5](2f32aa5)),
closes [#4714](#4714)
- **no-autoplay-audio:** don't timeout for preload=none media elements
([#4684](#4684))
([cdc871e](cdc871e))
- **performanceTimer:** throwing in axe catch clause
([#4852](#4852))
([a4ade04](a4ade04)),
closes
[/github.com/dequelabs/axe-core/blob/e7dae4ec48cbfef74de9f833fdcfb178c1002985/lib/core/base/rule.js#L297-L300](https://github.com/dequelabs//github.com/dequelabs/axe-core/blob/e7dae4ec48cbfef74de9f833fdcfb178c1002985/lib/core/base/rule.js/issues/L297-L300)
- **performanceTimer:** work in frames
([#4834](#4834))
([d7dfebc](d7dfebc))
- **rules:** Change "alternate text" to "alternative text"
([#4582](#4582))
([b03ada3](b03ada3))
- **target-size:** do not treat focusable tabpanels as targets
([#4702](#4702))
([60d11f2](60d11f2)),
closes [#4421](#4421)
[#4701](#4701)
- **type:** correct RuleError type
([#4893](#4893))
([d1aa8e2](d1aa8e2))
- **types:** correct raw types
([#4903](#4903))
([3eade11](3eade11))

This PR was opened by a robot 🤖 🎉

v4.10.3

Toggle v4.10.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(release): 4.10.3 (#4718)

### Bug Fixes

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

v4.10.2

Toggle v4.10.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(release): 4.10.2 (#4619)

### Bug Fixes

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

v4.10.1

Toggle v4.10.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(release): v4.10.1 (#4615)

###
[4.10.1](v4.10.0...v4.10.1)
(2024-10-16)

### Bug Fixes

- **aria-allowed-role:** add form to allowed roles of form element
([#4588](#4588))
([d462d67](d462d67)),
closes
[/github.com/dequelabs/axe-core/blob/develop/lib/standards/html-elms.js#L264](https://github.com/dequelabs//github.com/dequelabs/axe-core/blob/develop/lib/standards/html-elms.js/issues/L264)
- **axe.d.ts:** add typings for preload options object
([#4543](#4543))
([72e269f](72e269f))
- **button-name,input-button-name,input-img-alt:** allow label to give
accessible name
([#4607](#4607))
([364eb72](364eb72)),
closes [#4472](#4472)
[#3696](#3696)
[#3696](#3696)
- **get-ancestry:** add nth-child selector for multiple siblings of
shadow root ([#4606](#4606))
([bdd94a2](bdd94a2)),
closes [#4563](#4563)
- **rules:** Change "alternate text" to "alternative text"
([#4582](#4582))
([31e0f61](31e0f61))