Skip to content

Latest commit

 

History

History
977 lines (744 loc) · 92.9 KB

CHANGELOG.md

File metadata and controls

977 lines (744 loc) · 92.9 KB

Changelog

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

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

  • 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.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.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](<#1470>) (1d70306)
  • Prevent error when using <select name="attributes"> [#1397](<#1432>) (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