Releases
v4.4.0
Features
add new ARIA roles (#3138 ) (61be7e5 )
aria-allowed-attr: report violation for non-global ARIA attrs on element without role (#3342 ) (fb5d990 )
aria-allowed-attr: report violations for non-global ARIA attributes on elements without a role (#3102 ) (87cfc0b )
color-contrast: add support for CSS mix-blend-mode (#3226 ) (d497f40 )
commons: deprecate shadowElementsFromPoint (#3311 ) (c3a7d16 )
configure: Deprecate branding: Object, use a string instead. (#3278 ) (1f01309 )
dpub: upgrade to DPUB 1.1 and report deprecated roles (#3280 ) (034a846 )
options: make axe.ping configurable with pingWaitTime (#3273 ) (ce4dfaf )
rule: add new color-contrast-enhanced rule (WCAG AAA) (#3235 ) (bec20fc ), closes #2934
Bug Fixes
allowed-role: area without href can have a button or link role (#3275 ) (bf7e60a )
aria-allowed-attr: check for invalid aria-attributes
for role="row"
(#3160 ) (cfa900d )
aria-allowed-attr: revert violation for non-global ARIA attrs on element without role (#3243 ) (112b960 )
aria-allowed-children,aria-allowed-parent: allow group role in listbox (#3195 ) (cb01975 )
aria-allowed-role: allow title, aria-label and aria-labelledby on a img element with a supported role (#3224 ) (006a681 )
aria-allowed-role: landmark roles banner on header and contentinfo on footer to only report on top-level rule (#3142 ) (1fd4b00 )
aria-allowed-roles: allow role=radio on img with non-empty name (#3320 ) (accafdf )
aria-allowed-roles: update role allowances for section element (#3238 ) (99676ec ), closes #3237
aria-allowed-role: Update allowed roles based on ARIA spec updates (#3124 ) (00f6efc )
aria-allowed-role: updates the allowed roles for the wbr element to none and presentation (#3192 ) (2f439b3 ), closes #3177
aria-prohibited-attr: update metadata message (#3206 ) (d1a768e )
autocomplete-valid: Allow custom autocomplete attribute values (#3225 ) (6076ee8 )
axe.configure: do not remove newline characters from locale doT strings (#3216 ) (ea2ce17 )
axe.d.ts: allow Node for include/exclude object (#3338 ) (e699939 )
axe.run: add option to increase iframe ping timeout (#3233 ) (ec937e3 )
check for hidden elements on aria-errormessage
(#3156 ) (95d37dd )
color-contrast: account for 0 width scroll regions with children (#3172 ) (5908f0d )
color-contrast: account for elements that do not fill entire bounding size (#3186 ) (699697b )
color-contrast: check bg on fg contrast for thin text-shadows (#3350 ) (d92a7e5 )
color-contrast: correctly apply page background color (#3207 ) (fbc581d )
color-contrast: correctly compute color-contrast of truncated children (#3203 ) (ac7b2b5 )
color-contrast: correctly handle nested scroll regions (#3212 ) (22db29c )
color-contrast: correctly work with positioned elements without z-index (#3209 ) (725a20c )
color-contrast: inconsistency of bgOverlap message based on scroll (#3310 ) (25eff98 )
color-contrast: properly blend multiple alpha colors (#3193 ) (e930a70 )
core: Incomplete fallback was missing, and could cause infinite loop (#3302 ) (f23d8c8 )
custom-elms: Don't error on custom Element.children prop (#3326 ) (2ad92f6 )
d.ts: Add PartialResults type (#3126 ) (544b6d5 )
get-selector: do not URL encode or token escape attribute selectors (#3215 ) (6f7e183 )
getFrameContext: option.iframe=false always returns an empty array (#3279 ) (dfa9725 )
greater consistency of help / description text (#3204 ) (0677565 )
is-visible: do not error if window.Node does not exist (#3168 ) (4046087 )
jsdoc: typo Sting -> String (d1cc205 )
label-content-name-mismatch: account for formatting elements (#3349 ) (53a6684 )
label-title-only: allow hidden labels (#3183 ) (cad3994 )
listitem: allow as child of menu (#3286 ) (4bf7d35 )
nativeSelectValue: update selected value on change (#3154 ) (1ee88cb )
nested-interactive/aria-text: allow "tabindex=-1" on elements with no role (#3165 ) (0ddc00b ), closes #2466 #2934 #2934
nested-interactive: add focusable descendants as related nodes (#3261 ) (3b2fdda )
nested-interactive: add message for negative tabindex (#3194 ) (b445291 ), closes #2466 #2934 /github.com/dequelabs/axe-core/issues/3163#issuecomment-949804464
nested-interactive: update negative tabindex message to include asssistive technologies (#3262 ) (b985776 )
p-as-heading: p-as-heading
rule to account for textContent
length (#3145 ) (400a230 )
prohibited-attr: always report incomplete if there is text in the subtree (#3347 ) (2e27dca )
region: Allow skip menu buttons (#3277 ) (6b6f2e3 )
remove optional crypto dependency (webpack compatibility) (#3358 ) (aa9d095 )
reporter: Run inside isolated contexts (#3129 ) (afe6675 )
respondable: avoid crashes if the data in window.postMessage
is null
(#3249 ) (b37b2f6 )
scrollable-region-focusable: treat overflow:clip as hidden (#3304 ) (ef45377 )
Separate Level AAA rules from A and best-practices (#3191 ) (828e526 )
skip-link: work with absolute and relative paths (#2875 ) (ee49d3e )
typescript: allow passing a NodeList to ElementContext (#3161 ) (ad4b165 )
You can’t perform that action at this time.