Releases: dequelabs/axe-core
Release 4.11.1
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
htmlon nestedhtmlelements (#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
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
htmlstrings 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
- aria-allowed-role: add form to allowed roles of form element (#4588) (8aa47ac), closes /github.com/dequelabs/axe-core/blob/develop/lib/standards/html-elms.js#L264
- aria-allowed-role: Add math to allowed roles for img element (#4658) (95b6c18), closes #4657
- autocomplete-valid : Ignore readonly autocomplete field (#4721) (491f4ec), closes #4708
- autocomplete-valid: treat values "xon" and "xoff" as non-WCAG-violations (#4878) (52bc611), closes #4877
- axe.d.ts: add typings for preload options object (#4543) (cfd2974)
- button-name,input-button-name,input-img-alt: allow label to give accessible name (#4607) (a9710d7), closes #4472 #3696 #3696
- captions: fix grammar in captions check incomplete message (#4661) (11de515)
- color-contrast: do not run on elements with font-size: 0 (#4822) (d77c885), closes #4820
- consistently parse tabindex, following HTML 5 spec (#4637) (645a850), closes #4632
- core: measure perf for async checks (#4609) (7e9bacf)
- fix grammar when using "alternative text" in a sentence (#4811) (237a586), closes #4394
- get-ancestry: add nth-child selector for multiple siblings of shadow root (#4606) (1cdd6c3), closes #4563
- get-ancestry: don't error when there is no parent (#4617) (a005703)
- locale: fix typos in japanese (ja) locale (#4856) (3462cc5)
- locale: fixed typos in german (DE) locale (#4631) (b7736de)
- locale: proofread and updated de.json (#4643) (8060ada)
- meta-viewport: lower impact to moderate (#4887) (2f32aa5), closes #4714
- no-autoplay-audio: don't timeout for preload=none media elements (#4684) (cdc871e)
- performanceTimer: throwing in axe catch clause (#4852) (a4ade04), closes /github.com/dequelabs/axe-core/blob/e7dae4ec48cbfef74de9f833fdcfb178c1002985/lib/core/base/rule.js#L297-L300
- performanceTimer: work in frames (#4834) (d7dfebc)
- rules: Change "alternate text" to "alternative text" (#4582) (b03ada3)
- target-size: do not treat focusable tabpanels as targets (#4702) (60d11f2), closes #4421 #4701
- type: correct RuleError type (#4893) (d1aa8e2)
- types: correct raw types (#4903) (3eade11)
Release 4.10.3
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
Release 4.10.1
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
- aria-allowed-role: add form to allowed roles of form element (#4588) (d462d67), closes /github.com/dequelabs/axe-core/blob/develop/lib/standards/html-elms.js#L264
- axe.d.ts: add typings for preload options object (#4543) (72e269f)
- button-name,input-button-name,input-img-alt: allow label to give accessible name (#4607) (364eb72), closes #4472 #3696 #3696
- get-ancestry: add nth-child selector for multiple siblings of shadow root (#4606) (bdd94a2), closes #4563
- rules: Change "alternate text" to "alternative text" (#4582) (31e0f61)
Release 4.10.0
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
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
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
Features
- adding the wcag131 tag to the aria-hidden-body rule (#4349) (dd4c3c3), closes #4315
- checks: deprecate aria-busy check (#4356) (be0b555), closes #4347 #4340
- color: add color channel values and luminosity, saturation, clip functions (#4366) (9e70199), closes /github.com/dequelabs/axe-core/pull/4365/files#r1517706612
- i18n: add Greek Translations (#3836) (3ea9a48)
- i18n: Add Italian translation (#4344) (de1baa9)
- i18n: Add Simplified Chinese translation (#4379) (bda7c8d)
- i18n: Add Taiwanese Mandarin translation (#4299) (c5e11de)
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: hiddenancestor (#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
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)