Skip to content

Release 4.0.0

Compare
Choose a tag to compare
@attest-team-ci attest-team-ci released this 03 Aug 17:03
· 1261 commits to develop since this release
da080b5

Breaking Changes

The following rules were deprecated in axe-core 3.x, and are removed in 4.0:

  • aria-dpub-role-fallback
  • checkboxgroup
  • layout-table
  • radiogroup
  • video-description

The following checks were deprecated in axe-core 3.x, and are removed in 4.0:

  • aria/implicit-role-fallback
  • forms/fieldset
  • forms/group-labelledby
  • media/description
  • tables/has-caption
  • tables/has-summary
  • tables/has-th

Features

  • add layout-table-matches method (#2400) (d7ba70f)
  • aria/get-roles-by-type: deprecate in favor of standards/get-aria-roles-by-type (#2362) (c0c37ea)
  • aria/lookupTable, aria-allowed-attr: deprecate aria.lookupTable and passing allowed attributes to aria-allowed-attr (#2395) (739d1b1)
  • avoid-inline-spacing: add option for which css properties to look at (#2244) (93c027a)
  • checks: normalize check options to alway be an object (#2219) (da12da7)
  • checks,rules: remove deprecated checks and rules (#2214) (317545a)
  • closest: VirtualNode implementation of Element.closest. Deprecate commons.dom.findUp and commons.dom.findUpVirtual (#2139) (493dd22)
  • color-contrast, utils: add more options to color-contrast, add utils.deepMerge, deprecate commons.color.hasValidContrastRatio (#2256) (49fdb46)
  • commons/aria: deprecate getRole({ noImplicit }) for getExplicitRole() (#2294) (a2873ea)
  • commons/standards: create the commons/standards object for helper functions against the standards table (#2358) (6dce974)
  • duplicate-img-label: add option for parentSelector (#2216) (8906806)
  • get-role: add presentation role resolution and inheritance (#2281) (e207190)
  • get-role: work with standards object (#2367) (1b20faf)
  • globals: deduce required window and document globals from context (#2308) (61bac69)
  • has-descendant, page-no-duplicate: move page-has-elm and page-no-duplicate to generic check (#2229) (59125a0)
  • has-lang: add option for which attributes to look at (#2239) (e69c46a)
  • has-text-content: add generic check has-text-content (#2234) (60ddc65)
  • i18n: add Basque (eu) translation (#1964) (176cf82)
  • matcher: allow regex string to be parsed as regex (#2324) (321b2d1)
  • matches: add explicitRole, implicitRole, and semanticRole matches functions (#2286) (30efbff)
  • matches-definition: add generic check matches-definition (#2233) (20467aa)
  • metadata-function-map: add metadata function map to support check evaulate functions as an id string (#2162) (ec9b931)
  • non-space-content: switch all non-empty checks to new generic check (#2215) (7ce7b00)
  • object-alt,accessible-text: object-alt rule and accessible text to work with serial virtual nodes with children (e8e17e4)
  • options: add ancestry CSS selector to nodes (#2389) (f2cccf5)
  • region: add option to match nodes as region (#2249) (b544554)
  • required-attrs: deprecate options to pass more required attrs (797ee34)
  • rule: add reviewOnFail option to have rule return as needs review instead of violation (#2235) (bb72acd)
  • rule: optional impact on rules (#2393) (e48c1eb)
  • scope-value: add options for valid scope values (#2245) (44269ec)
  • standards: add ariaRoles standard (#2328) (70efbc0)
  • standards: add dpub-roles spec (#2332) (7ec3185)
  • standards: add get-aria-roles-supporting-name-from-content and deprecate aria/get-roles-with-name-from-content (#2363) (240b528)
  • standards: add get-elements-by-content-type and implicit-html-roles (#2375) (f1e0848)
  • add "ACT" tag for published W3C ACT rules (#2382) (cf11b64)
  • standards: add html-elms spec (#2333) (1d6a888)
  • standards: create standards object and ariaAttrs (#2315) (48610de)
  • utils.getFlattenTree: default to documentElement (#2260) (8b14ccc)
  • valid-lang: add option for which attributes to look at (#2240) (ffee19e)
  • update SC tags for label rule (#2037) (c7113fc)

Bug Fixes

  • accessible-name-virtual: allow subtree text to work with virtual and serial nodes (#2346) (67d2dca)
  • api: correct use of rules property in axe.run (#2278) (1fd9e11)
  • aria-allowed-attr: Add aria-orientation to radiogroup role (#2322) (5e1f922)
  • aria-allowed-attr: allow aria-activedescendant on role=application (#2304) (2554f5c)
  • aria-allowed-role: Add fieldset to allowed elements for radiogroup (#2326) (a5409d4)
  • aria-allowed-role: allow role=presentation on hr (#2300) (b524ea9)
  • aria-lablledby: work with virtual and serial virtual nodes (#2341) (c1f3db7)
  • aria-toggle-field-name: work with virtual nodes (#2353) (e5fb01e)
  • aria/allowed-attr: work with standards object (#2360) (40397f5)
  • aria/get-role-type: work with standards object (#2361) (a61e314)
  • autocomplete: allow all 'tel-*' autocomplete values on type=tel (#2307) (58c8175)
  • button-name: work with serial virtual node (#2351) (efa0e56)
  • bypass: find headings in iframes (#2310) (7c23dbd)
  • color: allow all valid CSS colors (#2381) (63d69ea)
  • color-contrast: account for text-shadow (#2334) (3eb6d2c)
  • color-contrast: ignore aria-disabled labels (#2130) (e451b87)
  • color-contrast: properly handle truncated text (#2302) (a56190c)
  • dlitem: allow role=presentation on parent dl (#2301) (9857978)
  • focusable-no-name: work with serial virtual nodes (#2399) (1ef3066)
  • forms/*: allow all form control value checks to work with virtual nodes (#2343) (8ad41af)
  • header-present: fail for headings with non-header role (#2306) (b8ffb39)
  • html-namespace-matches: work with serial virtual nodes (#2398) (18c22fd)
  • implicit-roles: add proper implicit role calculation (#2242) (e9dd259)
  • input-button-name: work with virtual nodes (#2352) (63ca388)
  • is-valid-autocomplete: allow autocomplete="one-time-code" (#2336) (638346f)
  • label: work with virtual nodes (#2354) (44b033c)
  • page-has-h1: allow aria-level=1 on native headings (#2349) (70b10b2)
  • rule: allow impact to be configured (#2426) (f325c75)
  • rule,check: allow function ids for matches property in rule.configure (#2423) (3ccb781)
  • run: cleanup globals if set from context (#2387) (d5b6931)
  • svg-image-alt: work with serial virtual nodes (#2397) (e2537ef)
  • types: Allow impact to be null (#2321) (757aacd), closes #2313
  • types: Make any tag allowed (#2314) (5d98a04), closes #2312
  • typings: update types file (#2425) (0aab922)
  • virtual-node: default and lowercase type property (#2350) (f6b3484)
  • ensure correctly generated axe is required by aria-supported build step (#2295) (1414a9f)
  • aria-required-attr: pass aria-checked for elements with checked property (#2226) (64318a5)
  • axe.d.ts: add element to NodeResults (#2211) (2429355)
  • color-contrast: mark more punctutions for review (#2126) (dc98afc)
  • duplicate-id: list the duplicate id in message (#2163) (f5d4ff9)
  • required-children: consider overriding descendant role(s)… (#2131) (e1c11dd)
  • scrollable-region-focusable: pass for elements with contenteditable (#2133) (1012dfe)
  • th-has-data-cells: fail when only cell points to different header (2d420c3)
  • types: Add "wcag21aa" and "wcag21a" to our TS definition (#2272) (23674d4)
  • types: Add missing properties to Spec (#2273) (c39ba9f)