Releases: dequelabs/axe-core
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: 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
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
Release 4.8.2
Release 4.8.1
Release 4.8.0
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)