CHANGELOG.md 134 KB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

4.1.1 (2020-11-19)

Bug Fixes

  • remove axios import (#2653) (2d20cde)
  • color-contrast: greatly improve color-contrast-matches speed. add aria/get-accessible-ref (#2635) (ba174bd)

4.1.0 (2020-11-13)

Features

  • new-rule: check that treeitem role has an accessible name (#2615) (5e95153)
  • Add aria-dialog-name (#2609) (b0e14b0)
  • aria-toggle-field-name: add option role (#2605) (0af0551)
  • checks: deprecate role-none and role-presentation for presentational-role (#2503) (cef54a0)
  • get-role: add noPresentational option (#2549) (4f39299), closes #1792
  • imports: deprecate axios (#2542) (82d43a0)
  • label,select-name: allow placeholder to pass label rule, add select-name rule (#2448) (1315f8e)
  • new-rule: ARIA links, buttons, menuitems have an accessible name (#2571) (9476a1f)
  • new-rule: aria-tooltip-name (#2548) (d00f378)
  • new-rule: check that meter role has an accessible name (#2607) (3ca2f04)
  • new-rule: check that progressbars have an accessible name (#2555) (dd0b44a)
  • presentation-role-conflict: create rule to flag elements with role conflict resolution (#2440) (e4edffc)
  • rule-matches: depreacte window-is-top-matches for is-intiator-matches (#2531) (db2be93)
  • standards: add superclassRole to ariaRoles (#2600) (a5e9ce0)
  • standards: add superclassRole to dpubRoles (#2606) (1b66930)
  • utils: deprecate get/set-scroll-state (#2581) (3c4827f)
  • valid-langs: deprecate validLangs, add isValidLangs, reduce file size (#2527) (8a699ec)

Bug Fixes

  • commons/get-text-element-stack: account for newline characters when text is larger than container (#2631) (3c2429b)
  • Update ACT rule tags (#2625) (c640d4f)
  • aria-errormessage: allow aria-live="polite" on aria-errormessage target (926b6a8)
  • aria-errormessage: allow aria-live=polite on aria-errormessage target (#2597) (0d5cfb1)
  • aria-roles: add group to menuitemradio context (#2518) (52b89f1)
  • aria-roles: Add WAI-ARIA 1.2 roles (#2544) (635b084), closes #2107 #2107 #2107 #2107
  • attr-non-space-content-evaluate: Split no attribute and empty attribute message (#2495) (5f822f4)
  • audit: updated axe.reset() to reset branding, application, and tagExcludes. (#2537) (828864b)
  • autocomplete-valid: allow type=tel for appropriate cc types (#2575) (ae21713)
  • checks/aria: Mark elements missing from aria-errormessage for review (#2550) (8f9a035), closes #2460
  • color-contrast: allow small text shadows to serve as text outline (#2627) (432e1f3)
  • color-contrast: mark elements with pseudo content as needs review (#2613) (fcdbdbc)
  • color-contrast: properly handle scrolling text (#2619) (984e7e2)
  • docs/rules: add missing category tags to rules metadata (#2569) (285c442), closes #2554
  • explicit-label: work with multiple labels (#2573) (d26f106)
  • get-headers: fix for rowspan and colspan (#2545) (3f02d14)
  • heading-order: evaluate headings from iframes in DOM order (#2572) (46f6628)
  • implilcit-role: use type property instead of attribute to resolve input role (#2547) (35e853d), closes #2514
  • link-name: pass landmark content as link text (#2617) (e77992e)
  • name-rules: ignore when explicit roles don't require a name (#2629) (52fb138)
  • region: allow role=dialog and svg elements outside regions (#2586) (fab58d4)
  • region: treat iframes as regions (#2614) (936db81)
  • rule: add check node to the check result object (#2608) (b188911)
  • scrollable-region-focusalbe: do not fail for combobox pattern (#2601) (ac71a57)
  • deprecate aria-form-field-name-matches for no-name-method-matches (#2584) (8be89e3)
  • do not allow fallback content for objects (#2525) (486eafe)

4.0.2 (2020-09-08)

Bug Fixes

  • color-contrast: dont error for floating element (#2444) (45eb746)
  • i18n: proofreading of the french translations (#2485) (ebd0407), closes #2484
  • implicit-role: return gridcell for td child of grid or treegrid (#2501) (0553d4d)
  • label: pass when role none or presentation (#2464) (1d3c2fc), closes #2458
  • link-name: fix regression where link was not named from title attribute (#2492) (b86c73b)
  • required-parent: fail if intermediate role is not the required parent (#2494) (522865c)
  • svg-non-empty-title: update fail message to indicate if the title element is empty or missing (#2462) (9598656), closes #2452
  • valid-lang: fail when lang attribute contains only whitespace (#2504) (8455a7f)

4.0.1 (2020-08-04)

Bug Fixes

  • checks: do not normalize options for custom checks (#2435) (83056ad)

4.0.0 (2020-07-28)

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)

3.5.5 (2020-06-16)

Bug Fixes

  • aria-input-field-name: add the missing word must to help metadata (b0f5562)
  • color-contrast: fix font-weight calculation for safari (205b587)
  • configure: validate rules and checks properties (8c91ead)
  • is-visible: return false for opacity: 0 and 0 height scrollable regions (86ada3f)
  • listitem: do not fail for parent with role=presentation|none (a3ddc6e)
  • meta-viewport: don't throw error if viewport property doesn't have a value (2176794)

3.5.4 (2020-05-22)

Bug Fixes

  • get-element-stack: properly calculate position of children of floated elements (28a8c58)

3.5.3 (2020-03-31)

Bug Fixes

  • meta-viewport: parse negative and string values for maximum-scale (#2137) (8c92472)
  • respondable: ignore reflected messages from iframes (#2134) (3ab9f21)
  • header-present: update verbiage to use heading instead of header (#2132) (8890063)
  • color-contrast: mark more punctuations for review (#2126) (dc98afc)
  • unicode: detect supplementary private use area A (#2102) (f1739c2)
  • definition-list: Mention
    is allowed to group content in
    (#2098) (76b1a9f)
  • td-headers-attr: mark as needs review if headers attr is empty (#2096) (699b566)
  • td-has-headers: don't fail for empty headers attribute (#2095) (7952a37)
  • th-has-data-cells: fail when data cell points to a different header (#2094) (d3bd416)
  • has-lang: update message to indicate that xml:lang is not valid on HTML pages (#2093) (c3a7de2)
  • page-no-duplicate-contentinfo: do not fail when first element is inside landmark (#2092) (eca7e05)
  • 3.5.2 (2020-03-06)

    Bug Fixes

    • aria-allowed-role: allow role=spinbutton on inputtype=tel
    • color-contrast: ignore form elements that move text outside of node using text-indent (#2044) (85cc6ab)
    • commons: handle node(s) contained by SVG document when de… (#2054) (bf4c9bf)
    • getCheckMessage: add API to return check message (#2066) (e216322)
    • has-lang: fail check when xml:lang is used in HTML docum… (#2053) (e07aaea)
    • label-content-name-mismatch: ignore non widget aria role(s) & do not use deprecated lookupTable.rolesOfType (#2022) (89bd84c)
    • package-lock: change @deque/doT from agora to npm (#2058) (c03c0e5)
    • page-has-heading-one: find screen-reader only headings (#2065) (f808a12)
    • region: ignore direct child text nodes of body (#2050) (fde31d0)
    • skip-link: identify as skip-link only if the link is offscreen (#2079) (241e1d0)
    • check invaildrole fails only when all roles are invalid (#2075) (989b317)
    • ignore empty, whitespace or undefined role for rule `ari… (#2077) (dbd3c02)
    • update tags for rule area-alt (#2051) (7db231f)

    3.5.1 (2020-02-12)

    Bug Fixes

    • color-contrast: parse font-weight value as number (#2031) (#2040) (0bb2166)
    • color-contrast: properly pass options to check (#2033) (26b99c0)
    • commons: avoid unicode regex encoding in axe.min.js (#2024) (ae90dc4)
    • sri-history: correct SRI for various versions (#2041) (940c017)

    3.5.0 (2020-02-04)

    Features

    • aria-dpub-role-fallback: depreacte aria-dpub-role-fallback and move into aria-allowed-role (#1899) (8e25c20)
    • aria-label: deprecate Element arg; use virtualNode (#1922) (d14981c)
    • audit: allow runOnly option to accept an array of rules (#1889) (38d6a3f)
    • color-contrast: greatly improve performance for very large sites (#1943) (9ea0065)
    • core: add preload configuration option for media files (#1958) (8a62649)
    • core/reporters/v1: Add failureSummary to incomplete results (#1972) (c88883d)
    • get-element-stack: performant api to replace document.elementsFromPoint (#1842) (9ae07fb)
    • i18n: add Danish (da-DK) translation (#1876) (fb6fc41)
    • landmark-no-duplicate-*: add rule landmark-no-duplicate-main, don't use html as element source for all duplicate rules (#1949) (5ec7894)
    • layout-table: deprecate layout-table rule and checks (#1885) (d22cb30)
    • matches: use VirtualNode and deprecate HTMLElement (#1988) (2600a06)
    • rule: add color-contrast check for unicode characters, behind flags. (#1969) (0cd4037), closes #1906
    • rule: identical-links-same-purpose (#1649) (9c73f62)
    • rule: no-autoplay-audio (#1946) (b2373cb)
    • svg-img-alt: rule for when svg needs a title (#1953) (9491e09)
    • deprecate the use doT.js for messages (#1938) (a2ddba3)

    Bug Fixes

    • color-contrast: properly pass options to check (#2033) (26b99c0)
    • commons: avoid unicode regex encoding in axe.min.js (#2024) (ae90dc4)
    • add tags with dots for wcag sc (#1849) (2f1ab36)
    • compute orientation lock from various transformation func… (#1937) (c987de0)
    • ignores axe.ping responses that do not contain axe=true (26cb1fb)
    • input[role=button][value='correct'] should pass (#1897) (4635fef)
    • remove heading from list of widget roles (#1882) (a8cbf71)
    • link-name: test role=link when there is no href (#1921) (6db28bc)
    • remove isNaN check (#2010) (5359b3f)
    • aria-allowed-attr: allow aria-details (#1956) (79e1c58)
    • aria-allowed-role: allow role combobox on input tel, search, url, and email (#1850) (ba75961)
    • aria-hidden-focus: mark as needs review if a modal is open (#1995) (28a3553)
    • aria-required-children: allow comboboxes with more popup roles (#1950) (35a24c0)
    • aria-roles: report error for fallback roles (#1970) (a1b7e08)
    • aria-valid-attr-value: mark as needs review for aria-current with invalid value (#1998) (39b8eae)
    • axe.d.ts: RunOnly.values should not accept a RunOnlyOption (#1888) (b68aa19)
    • build: add lang query parameter to helpUrl when builing with a locale (#1909) (8c5f9ef)
    • color-contrast: improve speed and accuracy of code blocks with syntax highlighting (#2003) (1b6ab42)
    • color-contrast: mark as needs review for text that contains only non-BMP characters (#2005) (e559be0)
    • color-contrast: support IE extension context (#2008) (62e31ea)
    • color-contrast: take into account parent opacity for foreground color (#1902) (8719700)
    • getElementStack: do not add hidden elements to the stack (#1991) (759d88d)
    • is-focusable: use tabindex attribute instead of property (#1912) (042a148)
    • is-icon-ligature: ignore whitespace characters (#1908) (7d2b2a6)
    • is-ligature-icon: rename canvas to canvasContext (#1880) (de9885d)
    • isFocusable: return true for summary element and false for details element with summary child (#1957) (34ec2d7)
    • listitem: clarify that li elements must be contained in a list or role=list (#1894) (6d8cfee)
    • locales: fix incompeteMessageFallback to be a string rather than an object (#1853) (88677a9)
    • meta-viewport: mark as a best-practice rule instead of wcag failure (#1960) (766f962)
    • only-listitem: add message about invalid role on li elements (#1954) (c3049ab)
    • page-has-main: do not find hidden elements (#2001) (6429e60)
    • page-no-duplicate-main: do not fail for duplicate hidden elements (#2000) (414dfb1)
    • preload: reject promise axe.utils.preload when XHR fails (#2009) (b406b1f)
    • region: allow content in roles with implicit aria-live (#2002) (a8d829e)
    • region: return outermost regionless node instead of html (#1980) (8d77be2)
    • region-rule: allow live regions with explicit roles (#1999) (b49bd95)
    • run: throw error if axe.run is called after a run has started but not completed (#1914) (3252a02)
    • server-side-image-map: return as needs review rather than failure (#1898) (d544856)
    • tabindex: don't error when tabindex property is overridden (#1910) (6b82a4c)
    • td-has-headers: greatly improve performance of td-has-headers rule (#1887) (a550309)
    • removes flaky test in axe Pro api check (b2bdcd1)
    • typings: add proper return value to getRule (#1900) (4d907f8)
    • unicode: stop parsing escaped unicode strings (#1997) (7447d03)

    3.4.2 (2020-02-04)

    Bug Fixes

    • color-contrast: support IE extension context (#2008) (cd651a0)
    • unicode: stop parsing escaped unicode strings (#1997) (523a31c)

    3.4.1 (2019-12-11)

    Bug Fixes

    • ignores axe.ping responses that do not contain axe=true (7d8aa42)
    • input[role=button][value='correct'] should pass (#1897) (3aba02c)
    • remove heading from list of widget roles (#1882) (beb458f)
    • listitem: clarify that li elements must be contained in a list or role=list (#1894) (8fa0964)
    • removes flaky test in axe Pro api check (f2b3b54)
    • aria-allowed-role: allow role combobox on input tel, search, url, and email (#1850) (75d3c8b)
    • axe.d.ts: RunOnly.values should not accept a RunOnlyOption (#1888) (94b1466)
    • build: add lang query parameter to helpUrl when builing with a locale (#1909) (a2f0247)
    • color-contrast: take into account parent opacity for foreground color (#1902) (639c41b)
    • is-focusable: use tabindex attribute instead of property (#1912) (aa5314d)
    • is-icon-ligature: ignore whitespace characters (#1908) (77fc838)
    • is-ligature-icon: rename canvas to canvasContext (#1880) (604ba4f)
    • link-name: test role=link when there is no href (#1921) (e839c57)
    • locales: fix incompeteMessageFallback to be a string rather than an object (#1853) (02a1d8a)
    • run: throw error if axe.run is called after a run has started but not completed (#1914) (290d125)
    • server-side-image-map: return as needs review rather than failure (#1898) (ce73af9)
    • tabindex: don't error when tabindex property is overridden (#1910) (e6875ee)
    • td-has-headers: greatly improve performance of td-has-headers rule (#1887) (a588cad)
    • typings: add proper return value to getRule (#1900) (0d7c3d2)

    3.4.0 (2019-10-18)

    Bug Fixes

    • aria-allowed-attr: allow 'aria-readonly' on listbox (#1825) (15f5d2d)
    • aria-form-field-name-matches: don't test combobox elements when they have a child input (#1742) (f0be6dc)
    • aria-required-children: allow combobox to own a searchbox (#1708) (42158ac)
    • aria-required-children: allow reviewEmpty nodes to have empty children (#1791) (a5d727c)
    • aria-valid-attr-value: fix incomplete translation message (#1739) (a0f3eef)
    • color-contrast: ignore nodes that don't contain text (#1837) (223a4bc)
    • color-contrast-matches: don't check aria-disabled explicit label element (#1741) (5bb566f)
    • configure: use translations for failure summaries (#1808) (5e53d7b)
    • flatten-tree: do not call deprecated getDistributedNodes (#1729) (46a5d11)
    • form-field-multiple-label: incomplete rather than fail for multiple labels (#1798) (0bdaa2b)
    • get-background-color: scroll element into view horizontally (#1845) (50df70a)
    • get-selector: don't throw error for disconnected fragment (#1802) (bb6591b)
    • label-content-name-mismatch: ignore ligature fonts (#1829) (683e005)
    • allows all roles on img tag with no alt attribute (929085a)
    • replace incorrect tag for meta-refresh rule (#1844) (754d56b)
    • update tags to wcag21aa for rule avoid-inline-spacing (#1757) (973d48f)
    • label-content-name-mismatch: ignore private space unicode (#1822) (b634c34)
    • scrollable-region-focus: ignore scrollable regions without content (#1788) (b36754e)
    • utils: Fix error in IE when getting scroll state on page with SVG elements. Closes #525 (#1820) (9a32f6f)

    Features

    • audit: add lang query paramenter to help urls (#1794) (2d1c8a6)
    • configure: accept ver property as axeVersion fallback (#1812) (4ebcde8)
    • configure: add axeVersion property that checks compatibility of axe.version (#1793) (18fb8c8)
    • fieldset, group-labelledby: deprecate fieldset and group-labelledby checks (#1740) (ec9b762)
    • i18n: add spanish translation (#1758) (e9f821d), closes #1757
    • Add axe.utils.assert method (2f10d24)
    • is-visible: add support for clip-path techniques (#1706) (8ab262a)
    • radiogroup, checkboxgroup: deprecate radiogroup and checkboxgroup rules (#1640) (6d30880)
    • Add SerialVirtualNode class (82d01b0)
    • pt_BR localization (#1756) (330e2ec)
    • rule: aria-roledescription (#1745) (16682fd)
    • runVirtualNode: Allow serialised nodes experimental
    • video-description: deprecate video-description rule (#1737) (e91c25f)

    3.3.3 (2020-02-04)

    Bug Fixes

    • color-contrast: support IE extension context (#2008) (cd651a0)
    • unicode: stop parsing escaped unicode strings (#1997) (523a31c)

    3.3.2 (2019-08-12)

    Bug Fixes

    • aria-form-field-name-matches: don't test combobox elements when they have a child input (#1742) (5ac278f)
    • aria-valid-attr-value: fix incomplete translation message (#1739) (6909604)
    • flatten-tree: do not call deprecated getDistributedNodes (#1729) (48ddf9d)
    • update tags to wcag21aa for rule avoid-inline-spacing (#1757) (f534a6b)

    3.3.1 (2019-07-23)

    Bug Fixes

    • accessible-text-virtual: sanitize attributes on start node (#1694) (c0bb08c)
    • axe.d.ts: add optional xpath property to NodeResult (#1642) (287ef9c)
    • get-background-color: No longer calculate color from non-opaque overlapping element (#1644) (d45f81e)
    • get-background-color: No longer calculate color from non-opaque overlapping elm (f1c2310)
    • get-background-color: process tbody, thead, and tfoot when getting background color (#1653) (e114bfd)
    • enable running axe-core in strict CSPs (#1707) (cc5bd59)
    • image-redundant-alt: check for parent before calculating text (#1705) (1adbd02)
    • th-has-data-cells: empty cells will now pass (#1659) (c7489ab)
    • types: add new properties to RunOptions (#1697) (02aa36c), closes #1696
    • valid-attr-value: allow aria-describedby to return needs review (#1671) (2390925)
    • color-contrast: add px unit to error messages (#1634) (1712e46)

    Tests

    • examples: do not fail tests if deque.com has violations (#1686) (2118360)
    • ensure locale files are valid (#1673) (588f9b5)
    • require new release rule help docs to be active before creating release (#1700) (e9f9c18)

    3.3.0 (2019-07-08)

    Bug Fixes

    • add SC 131 to rule aria hidden focus (#1474) (8da9a0d)
    • Add treegrid as allowed parent to rowgroup (#1435) (94e9893), closes #1386
    • arguments for gather function in build template (#1605) (753ecf4)
    • check if property exists in cache of flattenedTree (#1536) (51c2e19)
    • aria-valid-attr-value: allow aria-owns to pass when element is not in the DOM (#1526) (f835ed8)
    • deprecate na reporter (#1625) (3e807f0)
    • Exclude iframe for html-has-lang rule (Issue 1424) (#1430) (98b5ed2)
    • Include body as part of background color checks when element does not intersect (#1520) (55820cf)
    • make nullable impact properties have nullable types to match API docs (#1477) (efaed91)
    • Only load Promise polyfill if window.Promise is missing #1468 (1d70306)
    • Prevent error when using <select name="attributes"> #1397 (b477e0d)
    • remove unnecessary comments (6ed71c9)
    • role=radio should not require aria-checked (#1448) (0643cbd)
    • Scroll state had top and left properties flipped (#1469) (2ba83d3)
    • skip-link,region: Allow multiple skiplinks at page top (#1496) (642c8f1)
    • use execa instead of child_process.spawn (461ce83)
    • aria-allowed-attr: allow figure role (#1558) (a4b5240)
    • aria-required-attr: allow aria-valuenow to pass on elements with value (#1579) (3893e04)
    • aria-required-attr: don't require aria-valuemin/max (#1529) (80ae444)
    • aria-valid-attr-value: allow aria-controls to pass when element is not in the DOM (a7842e5)
    • flatten-tree: do not call deprecated getDistributedNodes (#1577) (93d59f4)
    • image-redundant-alt: prevent redundant issues of image tree (#1616) (af81897)
    • isSkipLink: cache first page link (#1525) (6a1bcba)
    • matches-selector: don't call matches function if none exist on the element (#1613) (7581592)
    • multiple-label: considers explicit labels in the same shadow tree (#1584) (b9a324a)
    • multiple-label: no longer raises issue when aria-labelledby overrides how AT views multiple labels (#1538) (fbae36b)
    • prettier: ignore generated api doc files (#1522) (c118da0)
    • raw-reporter: do not output DqElements (#1513) (3babcb6)
    • scrollable-region-focusable: exclude overflow:hidden as not scrollable (#1599) (940de07)
    • utils: make cache global instead of only setup in axe.run (#1535) (91a04c5)
    • virtual-node: fix hasClass to work with svg elements (#1603) (9d83662)

    Features

    • autocomplete-matches: use virtualNode only lookups (#1604) (b32d4fe)
    • autocomplete-valid: allow autocomplete-valid to be run entirely off of a virtual node (#1591) (b3e0873)
    • qsa, flatten-tree: abstract Node and Element apis in virtual tree (#1562) (2f2e590)
    • reporter: adds the rawEnv reporter which wraps raw and env data (#1556) (ed15ed3)
    • role-img-alt: Split rule for role=img with no accessible name (#1586) (2416ed3)
    • rule: add additional elements to check for incomplete with required children (#1547) (3726901)
    • rule: add more perf timing metrics to rules (#1472) (98646e5)
    • rule,check: add new apis to run a rule synchronously (#1467) (84094a1)
    • add AbstractVirtualNode for linting (#1627) (a072ed2)
    • rule: Adding landmark-is-unique rule (#1394) (0088e94)
    • rule: Inline text spacing must be adjustable with custom stylesheets (#1446) (430b07f)
    • Improve perf of axe.run WWD-1821 (a84431a)
    • rule: New aria-input-field-label rule (#1610) (73d5273)
    • rule: New aria-toggle-field-label rule (#1450) (69a9c3b)
    • rule: Scrollable region focusable (#1396) (861371a)
    • rules: split button name rule into button only and button input rules (#1615) (ce20fbf)
    • run-virtual-rule: new api to run rules using only virtual nodes (#1594) (4e12217)
    • utils: add support for complex CSS selectors (#1494) (a9f9ee5), closes #1493
    • utils: Update CSSOM for nested @import computation (#1339) (a4e177b)

    Tests

    3.2.3 (2020-02-04)

    Bug Fixes

    • color-contrast: support IE extension context (#2008) (cd651a0)
    • unicode: stop parsing escaped unicode strings (#1997) (523a31c)

    3.2.2 (2019-03-07)

    Bug Fixes

    3.2.1 (2019-03-06)

    Bug Fixes

    3.2.0 (2019-03-04)

    Bug Fixes

    Features

    Performance Improvements

    Deprecate

    3.1.2 (2018-09-07)

    Bug Fixes

    • i18n: Update Japanese locale (#1107) (8138e55)
    • autocomplete appropriate to handle state terms (#1121) (35a4d11)
    • banner comment in generated axe files (#1112) (e4788bf)
    • ignore invalid and allow redundant role in aria-allowed-role (#1118) (a0f9b31)

    3.1.1 (2018-08-28)

    Bug Fixes

    • Fix broken 3.1.0 release script (c3b2a52)

    3.1.0 (2018-08-28)

    Bug Fixes

    • rule fix: Allow fallback labels when input has id (#951) (54fa569)
    • rule fix: Updating aria 1.1 allowed attributes (#964) (c3249c1)
    • rule fix: Allow aria-errormessage with fallback (17608b6)
    • rule fix: Ignore abstracts in determining element roles (1af6088)
    • rule fix: Add combobox and radio required properties (e80af7a)
    • rule fix: Allow all ARIA idref(s) to be empty (1498696)
    • rule fix: Allow divs as groups in dl (#1076) (f4f6df6), closes #262
    • rule fix: Allow live-region and dialog in region rule (#1073) (fb6438b)
    • rule fix: Allow only-dlitem / only-listitem to have any hidden content (#1098) (6034aae), closes #1021
    • rule fix: Do not flag font icons in color-contrast rule (#1095) (b6ac084), closes #1068
    • rule fix: Do not require media captions / descriptions (#1075) (289f623), closes #816
    • rule fix: improve messaging for hidden labels (ae07b8e)
    • rule fix: Ignore abstracts in determining element roles (e3b1e1d)
    • rule fix: Correctly handle role attribute on lists and listitems. (#949) (3a8729b)
    • core: allow returning a Promise in jsdom from axe.run (#943) (3858a1f)
    • typescript: Correct Check.evaluate and Check.after type definitions (#976) (db3ed40), closes #974
    • typescript: Typescript interface updates (#973) (f8c9905), closes #972
    • messages: Clearer fail message for aria-labelledby (956281b)
    • messages: Consistent landmark rule/check descriptions (#1003) (d792970)
    • messages: Show attribute in message (#1061) (9ff5d54)
    • Check data is an array of IDs (d64bc5f)
    • Don't crash with slot elements without shadowDOM (#977) (cc044af)
    • Generate jsdoc(umentation) (9f9b15b)
    • Stop indexOf override from crashing Axe (#968) (e3329ce)
    • Use node.matches* in place of prototype.matches* to prevent IE crash (#956) (ebdb590)

    Features

    • new rule: Added new html-xml-lang-mismatch rule (#999) (7452a51)
    • new rule: aria-allowed-role (#945) (c270a46)
    • new rule: css-orientation-lock (wcag21) (#1081) (4ae4ea0)
    • new rule: Add WCAG 2.1 autocomplete-valid rule (e6189ce)
    • rule fix: Flag unsupported roles (#1064) (5515ee6)
    • rule fix: Remove non-existing "text" role (#1069) (67ec1f5)
    • rule fix: Break up duplicate-id rule for ARIA+labels and active elements (2ecfea7)
    • rule fix: Tag aria rules as WCAG 2, SC4.1.2 issues (e7816c0)
    • core: Allow rules to access CSSOM assets (#958) (5d6c1fa)
    • core: Add doT template engine (#1024) (f6f08d4)
    • commons: Add aria.getRole method (1d2a0e4)
    • commons: Add text.isValidAutocomplete method (8d44fe4)
    • i18n: Add runtime localization support (#1036) (7d4b70f)
    • i18n: Update FR (french) translation file for 3.1 release (#1089) (4a5cad0)
    • i18n: Update ja (Japanese) locale for 3.1 release (#1101) (ef6cd86)
    • deprecate: Deprecate audio-caption rule (#1071) (3b05fee)

    3.0.3 (2018-06-04)

    Bug Fixes

    • Resolve markdown lint errors. (efdad94) (aa90155)
    • Don't require all ARIA IDREFS to exist (#921) (130efed)
    • generate unsupported aria roles and attributes. (7315662)
    • Make empty role=lisbox elements as incomplete (#927) (87e979f)
    • Prevent axe-core crashing on “-“ as a class name (#884) (9c4d84e)
    • Right trim URLs before outputting them in getSelector (#924) (4775a23), closes #788
    • td-has-heading to ignore td with its role changed (#928) (d68af4c)
    • Update tags for frame-title rule (#935) (6436bbf)
    • core: Define 'axe-core' as an AMD module (#859) (7b46f63), closes #849 #856 #861 #847 #844 #871 #849 #849
    • Update tags to accesskey & link-name rules (#922) (a8e801c)
    • rule: Layout-table does not match presentation / none roles (#828) (5651ecc)
    • rule: restore labelledBy on unlabeled select (b7bdf66)
    • rules: Allow focusable role=application elements (b5de450)
    • typescript: Update ElementContext type (#822) (eb09248)

    Features

    • generate ARIA supported documentation for roles and attributes. (6f095dd)
    • generated impacts as a part of rule descriptions (#898) (6265608)

    3.0.2 (2018-04-24)

    Bug Fixes

    • rule: Allow empty aria-labelledby values (#829) (d280c5f)
    • Prevent color rules from crashing Chrome 66+ #856 (#861) (147b665)
    • respondable: Identify the current axe instance by its application name when it exists (affd75c)
    • respondable: Use the hard-coded axe.application name as default (ab4a49f)
    • rule: Ignore hashbang URLs for skiplinks (#827) (e1f0c57)
    • rule: Tag video-caption only as SC 1.2.2 (87818e7)

    3.0.1 (2018-04-03)

    Bug Fixes

    • allow mixed casing of caption/summary (ca091ac)
    • Allow title on button-name (#794) (e31fe9a)
    • sri: Fix incorrect sri-history entries (#789) (f5f55f3)

    3.0.0 (2018-03-19)

    Bug Fixes

    • Allow exclusion of Shadow DOM content (cc66eb2)
    • Avoid flatTree memory leak (a902e80)
    • main-is-top-level: Rename check to landmark-is-top-level for greater reuse (b405af1)
    • Avoid timing issue with axe cleanup method (24ea6a7)
    • correct misnamed check (1e709e0)
    • Correct runOnly object for TypeScript definition (571e984)
    • has-at-least-one-main: Rename check to page-has-main, for reusability (9a9c283)
    • has-no-more-than-one-main: Rename check to page-no-duplicate for better reuse (e75324b)
    • region: Ignore forms without accessible name as landmarks (8ad2718)
    • rule: skip-link rule doesn't decode URI encoded href's (818b5cd)
    • Ensure all rules have a category tag (d61e67d)
    • make getSelector work with URIs that cannot be shortened (a113555)

    Features

    • Make aria-level required with role=heading #740 (64b743f)
    • aria: allow DPUB ARIA roles (70b48f6)
    • frame-tested: Use this new rule to test if all frames are available, instead of axe.log (83cd17d)
    • landmark-contentinfo-is-top-level: add rule ensuring top level contentinfo (5692e7d)
    • landmark-no-more-than-one-banner: add rule ensuring no more than one banner (6617800)
    • landmark-no-more-than-one-contentinfo: add rule ensuring no more than one contentinfo (82217ef)
    • page-has-heading-one: Added new best-practice rule (cb8f261)
    • rules: add new rule aria-dpub-role-fallback (9470c02)
    • Make options.runOnly more forgiving about plurality (fa81f9d)
    • Translated all 3.0 rules to Japanese (3862e7e)

    BREAKING CHANGES

    • Incorrect use of runOnly now throws errors
    • main-is-top-level: The check main-is-top-level is no longer available
    • has-at-least-one-main: Original has-at-least-one-main check is no longer available

    3.0.0-beta.3 (2018-03-08)

    Bug Fixes

    • Correct runOnly object for TypeScript definition (571e984)
    • has-at-least-one-main: Rename check to page-has-main, for reusability (9a9c283)
    • has-no-more-than-one-main: Rename check to page-no-duplicate for better reuse (e75324b)
    • main-is-top-level: Rename check to landmark-is-top-level for greater reuse (b405af1)
    • region: Ignore forms without accessible name as landmarks (8ad2718)

    Features

    • aria-required-attr: Make aria-level required with role=heading #740 (64b743f)
    • aria: allow DPUB ARIA roles (70b48f6)
    • frame-tested: Use this new rule to test if all frames are available, instead of axe.log (83cd17d)
    • landmark-contentinfo-is-top-level: Add rule ensuring top level contentinfo (5692e7d)
    • landmark-no-more-than-one-banner: Add rule ensuring no more than one banner (6617800)
    • landmark-no-more-than-one-contentinfo: Add rule ensuring no more than one contentinfo (82217ef)
    • page-has-heading-one: Added new best-practice rule (cb8f261)
    • rules: Add new rule aria-dpub-role-fallback (9470c02)

    BREAKING CHANGES

    • main-is-top-level: The check main-is-top-level is no longer available
    • has-at-least-one-main: Original has-at-least-one-main check is no longer available

    3.0.0-beta.2 (2018-03-01)

    Bug Fixes

    • perf: Improve getSelector performance (737c81c)
    • Delete Selenium example, use grunt-axe-selenium instead (063e701)

    Features

    Change Log

    All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

    3.0.0-beta.1 (2018-02-19)

    Bug Fixes

    • audio-caption: Change tag wcag122 to wcag121 #686 (#721) (9c7b9f1)
    • empty-heading: Skip headings with the role changed #645 (#722) (80ef961)
    • image-alt: Exclude svg[role="img"] elements (#683) (0fe74d8)
    • label: Prevent label rule from crashing on input without type #678 (#730) (4498680)
    • perf: improve select performance fixes #702 (3274919)
    • perf: memoize axe.utils.select (c9cd122)
    • perf: normalize all selectors for better cache utilization (189c165)
    • perf: remove need for node sorting from select completely (7677a6a)
    • performance: significantly improve the performance of the dom.findUp utility fixes #696 (9197e03)
    • add shadow dom coverage to all checks (0e48413), closes #690
    • bug-705: cleanupPlugins() should not throw exception when no arguments are provided (#709) (fb1d2f7)
    • Remove axe.a11yCheck() (88d039f)
    • use virtual methods where applicable (6ddc4e5)
    • type-checking: Improve typescript axe.run call signature (#707) (de45ee3)

    Performance Improvements

    • Add performance metrics in Rule.runChecks (#701) (27fdc2f)

    3.0.0-alpha.9 (2018-01-18)

    Bug Fixes

    • aria-errormessage: adds support for aria-errormessage (#517) (c96f58c)
    • check: fix bug with async checks (441ca95)
    • color-contrast: allow disabled label children (db26bc9)
    • color-contrast: incl. elements w/ line breaks (a464918)
    • commons/aria: allow aria-required on checkbox role (3e21c6e)
    • adjust color algorithm for inline elements (7f8491e)
    • Allow checkbox and radio groups with hidden aria-labelledby targets #188 (6149bde)
    • Ensure overloaded Array.prototype won't crash axe (ea57ef2)
    • handle contrast of multiline inline el's (f9d565f)
    • Polyfills are made non-enumerable #648. (#649) (48d8703)
    • Remove href-no-hash rule (342cb6e)
    • Return inapplicable results (#473). (c9caeff)
    • Several of fixes for IE and Edge (#577) (63e1272)
    • skip-link rule now checks if a target exists (f7f9cf3)
    • commons/aria: allow aria-required on radio role (58b76a6)
    • commons/dom: fix isFocusable functions by checking screenreader (#658) (c665d0b), closes #647
    • core/utils/querySelectorAll: Ensure that elements do not get tested twice (#666) (a76a454)
    • required-children: add combobox > listbox exception (#559) (8d0991f)
    • rules/region: Treat <section> as a landmark if it has an accessible name #640 (#642) (c11b442)

    Features

    • Add rule, landmark-main-is-top-level (#462) (63040bd)
    • collect-results-from-frames: add frameWaitTime option (#661) (8016ad1)
    • landmark-one-main: add rule ensuring one main landmark in document (#498) (dfc6069)
    • reporter: return one result of each type instead of zero when resultTypes is used (#604) (216a83b), closes #603
    • rule: Flag div/p/spans/headings in focus order (ce5f3dc), closes #632
    • allow options in aria-allowed-attr, aria-required-attr (#673) (61ac303)
    • Enable all rules by default (18263eb)
    • Improve generated selectors for namespaced elements in XHTML (#582) (9e3ca45), closes #563

    BREAKING CHANGES

    • Skip-link rule no longer requires skip lins with a focusable target.

    3.0.0-alpha.8 (2017-10-20)

    Bug Fixes

    • aria-allowed-attr: align rowcount, colcount, and colindex with 1.1 spec (#555) (10efa88)
    • required-children: add combobox > listbox exception (#559) (8d0991f)
    • Added message about expected contrast ratio (#381) (#562) (9e30d64)

    3.0.0-alpha.6 (2017-09-27)

    Bug Fixes

    • aria: adding support for aria-expanded in menuitem (#521) (b30b451)
    • color-contrast: Include THEAD and TBODY in contrast checks (#514) (f98f8bd)
    • Match prerelease versions for helpUrl (#546) (5300577)
    • helpUrl: Properly parse x.0 versions (#550) (a51c5ce)
    • postinstall: use node, more conditionals (#520) (f5b5299)
    • responsible: Restrict error construction to known errors (0128a7e)

    3.0.0-alpha.5 (2017-09-25)

    Bug Fixes

    • aria: adding support for aria-expanded in menuitem (#521) (b30b451)
    • postinstall: use node, more conditionals (#520) (f5b5299)
    • Match prerelease versions for helpUrl (#546) (5300577)

    3.0.0-alpha.4 (2017-09-08)

    Bug fixes:

    • fix(color-contrast): Include THEAD and TBODY in contrast checks (#514) (f98f8bd)
    • fix(responsible): Restrict error construction to known errors (#513) (0128a7e)

    Features:

    • docs: Document how to propose axe-core rules (#507) (cabd329)

    3.0.0-alpha.3 (2017-09-06)

    Bug fixes:

    • Additional ARIA 1.1. support and tests (#509) (9b4d2ee)
    • fix: RestoreScroll was running out of sync (#508) (ff3df2d)

    3.0.0-alpha.2 (2017-09-01)

    Bug Fixes

    • copy precommit hook as file, not a link (16f2f76)
    • expand tr support for color contrast (5a77c2f)
    • Ignore shadowRoots on elements that don't allow them (7f66ee8)
    • only run postinstall if .git exists (1107783)
    • try telling circle to skip .git/hooks (674408f)
    • Use frame query that supports shadow dom (#492) (94008ff)

    Features

    • feat: Add sri-history file and update process (25ddb47)
    • feat: add standard-version (e1e067d)

    3.0.0-alpha.1 (2017-08-16)

    Bug Fixes

    • add copyright banner back in to axe.js (2aac29a)
    • Adjust if formatting (2211d78)
    • Align impact levels with Deque Way (28f4477)
    • Allow to have no kind attribute (f996d0f)
    • complete shadow support for color matches (f0fe551)
    • aria: Allow implicit attribute values (b949749)
    • Set relatedNodes on color/link-in-block rules (#407) (7fde0fe)
    • aria: Treegrid should own rows, not treeitems (645d1fa)
    • Correct flattened tree algorithm to include the shadow host (#405) (70985b0)
    • Ensure all tests pass in Chrome (0b0240f)
    • ensure document is fetched from correct node (b28597c)
    • Exclude any checks from output if one passed (#466) (2dd3d68)
    • get tests all passing (#457) (4874327)
    • get virtualNode with getNodeFromTree (9bf2870)
    • getComposedParent should not return slot nodes (#438) (0478cbd)
    • Have table rules use shadow DOM (453be1b)
    • help-same-as-label for shadow DOM (dbbc544)
    • incomplete results should have impact (fcc51eb)
    • Let findUp work on shadow root children (0252218)
    • Let findUp work on shadow root children (#447) (0f98481)
    • Minimise scrolling in getBackgroundColor (f4551bb)
    • Pass all tests that use accessibleText (7ea8d6b)
    • checks/aria/required-children: add exception for native input combobox missing textbox (81ee2e4)
    • use virtualNode in duplicate-img-label (82e51bc)
    • is-in-text-block: Add Shadow DOM support (a125f79)
    • pass virtualNode to Rule.run (4534e86)
    • Properly output error stack (56f1867)
    • Remove log statements (6a6bd73)
    • Solve a few tests (02daad1)
    • Use getAttribute(id) over .id (#374) (353b53f)
    • Use testUtils in table tests (364d5cd)
    • use virtualNode in title-only check (5fb06e3)
    • whitespace in hidden-content test (99e8b73)

    Features

    • Add aria-orientation to additional roles (bb07c2d)
    • add check testUtils (6f53279)
    • Add dom.getComposedParent function (aac57c0)
    • Add Japanese localisation (5f8c9c8)
    • Add new ARIA 1.1 values for haspopup (9f7da56)
    • Add option restoreScroll (d55f3cd)
    • add S.C. 2.4.4 to link-name rule. Fixes #369 (70728e6)
    • add SD support to color-contrast-matches (b595b42)
    • Add shadow DOM support to list checks (#439) (d92c1a1)
    • Add shadow DOM to duplicate-img-label check (#443) (2c0b075)
    • Add shadow DOM to landmark check (98f6023)
    • add shadow support to aria-required-children (f729e25)
    • add shadow support to group-labelledby (e2a9642)
    • Add sri-history file and update process (#476) (25ddb47)
    • Allow hidden-content to work through shadow DOM bounds (789d62e)
    • fieldset check shadow DOM (da148d3)
    • Make explicit check consider shadow DOM (#442) (9ddfc0f)
    • Make region check work with shadow DOM (ecd222f)
    • Run text.accessibleText() on virtual elements (#420) (414fcbe)
    • ShadowDOM support for media checks (0f21574)
    • aria: Support progressive ARIA 1.1 attributes / roles (#468) (ebb2a5d)
    • aria-required-parent: add Shadow DOM support (6ed29f0)
    • duplicate-id: Add shadow DOM support (439bc71)
    • link-in-text-block: Add shadow DOM support (46a2cca)
    • shadow DOM: Create commons virtual methods, for backward compatibility (86a4c25)

    2.4.2 (2017-09-25)

    Bug Fixes

    • aria: adding support for aria-expanded in menuitem (#521) (b4c42fe)
    • Match prerelease versions for helpUrl (#546) (c166708)
    • fix(node4): use var to declare variables (#541) (c72badb)

    2.4.1 (2017-09-12)

    Bug Fixes

    • fix(postinstall): use node, more conditionals (#520) (98fac8a)

    2.4.0 (2017-09-08)

    Bug fixes:

    • fix(color-contrast): Include THEAD and TBODY in contrast checks (#514) (f98f8bd)
    • fix(responsible): Restrict error construction to known errors (#513) (0128a7e)

    Features:

    • docs: Document how to propose axe-core rules (#507) (cabd329)

    2.4.0-alpha.2 (2017-09-06)

    Bug fixes:

    • test(aria): aria-haspopup, aria-modal for 1.1
    • style(test/aria): add line breaks for readability
    • test(aria): add missing roles and properties
    • fix: RestoreScroll was running out of sync (#508)

    Features:

    • feat(ARIA 1.1): Allow row-index, setsize and posinset on more roles

    2.4.0-alpha.1 (2017-08-31)

    Bug fixes:

    • chore: add help text for testconfig Grunt task
    • fix: Properly output error stack
    • doc: Add 'on mobile' to viewport rule
    • fix: Ensure all tests pass in Chrome
    • fix: Minimise scrolling in getBackgroundColor
    • chore: Minor build chores for whitespace and lockfile
    • fix: Align impact levels with Deque Way
    • fix: Set relatedNodes on color/link-in-block rules
    • fix: incomplete results should have impact
    • fix(aria): Allow implicit attribute values
    • chore: ignore growl in retire
    • fix: Use getAttribute(id) over .id
    • fix: Exclude any checks from output if one passed
    • fix(aria): Treegrid should own rows, not treeitems
    • fix(aria): add exception for native input combobox missing textbox. Fixes #160
    • test: fix aria/required-children for jshint
    • feat: allow link text from single-cell layout table
    • fix: expand tr support for color contrast
    • chore: ignore node_modules in examples when linting

    Features:

    • feat: Add option restoreScroll
    • doc: add more info on testing hidden regions
    • feat: add S.C. 2.4.4 to link-name rule. Fixes #369
    • feat: Add Japanese localisation
    • doc: Add instructions on debugging on CircleCI
    • test: add unit tests for button-has-visible-text
    • chore: add descriptions to Grunt tasks
    • feat(aria): Support progressive ARIA 1.1 attributes / roles
    • feat: Add new ARIA 1.1 values for haspopup
    • feat: Add aria-orientation to additional roles

    2.3.1 (2017-06-15)

    Bug fixes:

    • Improvements to hidden-content rule
    • Deduplicated langs in valid-lang options

    2.3.0 (2017-06-14)

    Bug fixes:

    • Overhaul of selectors API
    • New experimental rule for hidden-content
    • New rule for flagging aria-hidden="true" on document.body
    • Color-contrast rule impact is now serious
    • Color-contrast fixes for implicit labels and TR elements
    • Color-contrast puts 1:1 ratio elements into Needs Review/incomplete
    • List category mappings in docs
    • Update axe.source to work with Firefox webdriver

    2.2.3 (2017-06-01)

    Bug fixes:

    • Removed the disable property from link-in-text-block

    2.2.2 (2017-05-25)

    Bug fixes

    • Stabilize incompleteData API for backwards compatibility
    • Change impact of duplicate-id rule to moderate

    2.2.1 (2017-05-19)

    Bug fixes

    • Remove nodes from the color contrast incompleteData API to avoid circular references

    2.2.0 (2017-04-24)

    Changes

    • Add configuration options for iframes: false, selectors: false, and elementRef: true
    • Improve color-contrast rule for disabled elements
    • Add webdriver task for testing mobile viewports
    • Improve audio/video captioning rules
    • Improve th-has-data-cells rule
    • Expose incomplete reasons for color contrast rule as part of Needs Review
    • Implement rule groupings as tags
    • Allow building of axe in multiple languages
    • Empty-heading rule has impact: moderate

    2.1.8 (2017-05-21)

    Changes

    • Move from Snyk to Retire.js
    • Make CI run test-fast task instead of parallel
    • Add documentation on writing integration tests and rules
    • Allow a larger list of languages for HTML-valid-lang rule
    • Add support for [role=img] in image-alt rule
    • Fix bug with innerHeight in get-background-color
    • Improve dom.is-offscreen function
    • Integrate optional performance timer
    • Empty include defaults to document

    2.1.7 (2016-12-13)

    Changes

    • Add promise-based axe.run API method in favor of axe.a11yCheck
    • Move TypeScript definition to root of project
    • Add Inapplicable and Can't Tell results
    • New rule: frame-title-unique
    • Improvements to table rules: td-has-header, th-has-data-cells
    • Color contrast rule performance improvements using polyfilled elementsFromPoint
    • Add better support for implicit roles
    • DQElement supports xPath

    2.0.7 (2016-09-28)

    Changes

    • Add TypeScript definition v1

    2.0.5 (2016-04-20)

    Changes

    • Support for UMD pattern
    • Adds 508 tagging for table rules
    • Fixes race condition for iframes
    • Exclude actual nodes from array checking

    2.0.5 (2016-04-13)

    Changes

    • Improvements to messaging for extensions

    2.0.3 (2016-04-12)

    Changes

    • Security improvements
    • Build includes Babel/ES6
    • Improvements to table rules
    • axe can be loaded in Node

    2.0.0 (2016-03-01)

    Changes

    • Adds support for AMD modules
    • Fixes incompatibility with Webpack
    • Improvements to rules and checks
    • Help urls no longer hard-coded
    • Improved error handling

    1.1.1 (2015-09-04)

    Changes

    • Adds Travis hooks
    • Adds Sauce Labs
    • Encodes HTML in descriptions
    • Updates messages and help URLs

    1.0.1 (2015-06-10)

    Changes

    • Initial public release