In summary, this release adds:
-
Support Element Internals: A modern way for building accessible component libraries
Axe-core is the first accessibility tool to support this major new web feature!
Thanks to RedHat and Adobe for working with us to figure out the right way forward. -
A new Swedish translation, thanks to our a community contribution
-
A new Finish contribution (not open source), thanks to our Scandinavian partner
-
10 False positives closed, including all the critical ones!
-
And 13 updates to get Axe-core consistent with the latest web standards
This release is one of the bigger changes we've done in a few years, so likely issue numbers are going to change in adopting this version.
Features
- aria-actions: add aria-actions to allowed ARIA attributes (#5200) (029655d), closes #4584 #5199, references #5215 #5215
- aria-allowed-attr: flag deprecated ARIA attributes as needs-review (#5246) (518f3cc), closes #3341
- aria-prohibited-attr: allow many elements to be named and disallow label and body from being named (#5259) (d8b1ea5)
- aria-roles: add sectionheader and sectionfooter roles (#5238) (c36c109), closes #4734, references #4734
- aria/get-aria-value: new function to get aria values of a node (#5109) (a7d8f3e), references #5042
- aria/has-attr-value: new function to check if node has aria value (#5136) (61f2624), references #5109
- aria: support role=image as equivalent to role=img (#5248) (5aa8aaf), closes #4656, references #5272
- checks/aria: support ARIA element internals properties (#5172) (9b7f754)
- checks/label: support ARIA element internals properties (#5170) (21c5f8b)
- checks/navigation: support ARIA element internals properties (#5167) (2c3a98f)
- commons/aria: support ARIA element internals properties (#5171) (31f09e7)
- commons/dom: support ARIA element internals properties (#5163) (f0a12cf)
- commons/forms: support ARIA element internals properties (#5165) (27a4686)
- commons/matches/fromPrimative: deprecate in favor of correct spelling (#5270) (31cfb2e)
- commons/text: support ARIA element internals properties (#5169) (e841a33)
- commons/text: support form-associated labels via element internals (#5182) (57cfe0a), closes #5045, references #5170 #5039 #5151 #5039
- dom/getResolvedRefs: new function to get the resolved virtual nodes of idrefs (#5151) (489cdea), references #5109
- element-internals: enable ElementInternals by default (#5284) (2740d42), closes #5277
- i18n: Add Swedish locale (#5190) (dcd13f2), references #5189
- matches: add inSectioningContent, hasChild, and isSummaryForDetails matches (#5262) (c47cdcd)
- rules: support ARIA element internals properties (#5168) (065baf7)
- standards/ariaAttrs: add caseInsensitive property for attributes (#5224) (bcd791c)
Bug Fixes
- aria-allowed-role: allow roles on a non-details summary (#5242) (3bd9875), closes #3911, references #3443 #3911
- aria-allowed-role: restrict figure roles with child figcaption (#5240) (178a635), closes #3443
- aria-prohibited-attr: visible aria-labelledby requires review only (#5285) (fd6fa9f)
- axe.d.ts: make enabled property of RuleMetadata optional (#5129) (90fce18)
- color-contrast: fix various stacking context bugs (#5214) (d5e5b04), references #8 #5213
- gather-internals: handle non-HTMLElement nodes (#5161) (06e84c3)
- get-selector: escape control characters in attribute selectors (#5273) (4b60ac5), closes #5204 #5204
- image-alt: allow whitespace alt on presentational images (#5218) (c5dd0ef), closes #5216
- landmark-unique: exclude section/form with non-landmark roles from landmark match (#5085) (c5fd013), closes #4722 #5064
- name the image role in role-img-alt and svg-img-alt metadata (#5279) (995a269), closes #5272, references #5248 #5248
- standards: update aria-errormessage and aria-details to be idrefs (#5157) (fb94f8a)