Releases: dequelabs/axe-core
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)
Release 4.7.2
This release corrects the Trusted Tester v5 tags, which were introduced in 4.7.0, and it addresses a few false positives which for pages with forms may result in a few less issues found.
Bug Fixes
Release 4.7.1
This release addresses a number of bugs. Some things that were failed in the previous release may now be passed or require manual review.
Bug Fixes
- aria-allowed-attr: no inconsistent aria-checked on HTML checkboxes (#3895) (704043e)
- aria-allowed-attrs: add aria-expanded to allowed attrs for menuitemcheckbox and menuitemradio (#3994) (0f405c6)
- aria-required-children: trigger reviewEmpty with hidden children (#4012) (a19b6cb)
- color-contrast: support CSS 4 color spaces (#4020) (65621c3)
- link-in-text-block: set links with pseudo-content for review (#4005) (949f4f8)