NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #1677 most downloaded on npm
Accessibility engine for automated Web UI testing
Last release today
05 Oct 2026
Ships on a steady schedule
a new release about every 1 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
11 years old
1667 releases · first in 2015
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
Fix broken 3.1.0 release script
<a name="3.1.0"></a>
region rule (#1073) (fb6438b)Check.evaluate and Check.after type definitions (#976) (db3ed40), closes #974indexOf override from crashing Axe (#968) (e3329ce)node.matches* in place of prototype.matches* to prevent IE crash (#956) (ebdb590)doT template engine (#1024) (f6f08d4)<a name="3.0.3"></a>
Nothing published for this version
do not allow postMessage with axe version of x.y.z
Don't require all ARIA IDREFS to exist
Nothing published for this version
Nothing published for this version
Nothing published for this version
rule: Allow empty aria-labelledby values
Allow mixed casing of caption/summary
<a name="3.0.0"></a>
<a name="3.0.0-beta.3"></a>
<a name="3.0.0-beta.2"></a>
All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
<a name="3.0.0-beta.1"></a>
<a name="3.0.0-alpha.9"></a>
<section> as a landmark if it has an accessible name #640 (#642) (c11b442)<a name="3.0.0-alpha.8"></a>
<a name="3.0.0-alpha.6"></a>
THEAD and TBODY in contrast checks (#514) (f98f8bd)<a name="3.0.0-alpha.5"></a>
<a name="3.0.0-alpha.4"></a>
Allow exclusion of Shadow DOM content
Correct runOnly object for TypeScript definition
perf: Improve getSelector performance
audio-caption: Change tag wcag122 to wcag121 #686
Nothing published for this version
aria-errormessage: adds support for aria-errormessage
<section> as a landmark if it has an accessible name #640 (#642) (c11b442)aria-allowed-attr: align rowcount, colcount, and colindex with 1.1 spec
Nothing published for this version
aria: adding support for aria-expanded in menuitem
THEAD and TBODY in contrast checks (#514) (f98f8bd)Nothing published for this version
fix(color-contrast): Include THEAD and TBODY in contrast checks
THEAD and TBODY in contrast checks (#514) (f98f8bd)<a name="3.0.0-alpha.3"></a>
Additional ARIA 1.1. support and tests
copy precommit hook as file, not a link
Shadow DOM support: rules and checks now supply a virtualNode in addition to the light DOM node. No slot styling support until supported by Chrome
Changes:
virtualNode in addition to the light DOM node. No slot styling support until supported by ChromeAdditions:
any checks from output if one passed (#466) (2dd3d68)<a name="2.4.2"></a>
## Bug Fixes * Remove a console.log statement
Added message about expected contrast ratio
tagName test (#652) (e67a913), closes #581<section> as a landmark if it has an accessible name #640 (#642) (0131458)aria._lut, add to developer guidearia-errormessage: adds support for aria-errormessage
This patch release fixed an issue preventing installs on Windows and dependency installs.
Note: use release [v2.4.1](https://github.com/dequelabs/axe-core/releases/tag/v2.4.1) as a dependency or in development on Windows.
Note: use release v2.4.1 as a dependency or in development on Windows.
THEAD and TBODY in contrast checks (#514) (f98f8bd)any checks from output if one passedrestoreScrolltest(aria): aria-haspopup, aria-modal for 1.1
doc: add more info on testing hidden regions
Additions:
restoreScrollChanges:
any checks from output if one passedImprovements to hidden-content rule
Changes: - Improvements to hidden-content rule - Deduplicated langs in valid-lang options
<a name="2.3.0"></a>
New experimental rule for hidden content
Changes: - Overhaul of selectors API - New experimental rule for hidden content - New rule for aria-hidden="true" on the 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
<a name="2.2.3"></a>
Fixes bugs with incomplete data in previous versions.
Fixes bugs with incomplete data in previous versions.
<a name="2.2.2"></a>
Stabilize incompleteData API for backwards compatibility
<a name="2.2.2"></a>
Remove nodes from the color contrast incompleteData API to avoid circular references
Changes:
<a name="2.2.0"></a>
Add configuration options for iframes: false, selectors: false, and elementRef: true
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
Add promise-based axe.run API method in favor of axe.a11yCheck
<a name="2.0.7"></a>
### Changes - Add TypeScript definition v1
<a name="2.0.5"></a>
Adds 508 tagging for table rules
<a name="2.0.5"></a>
### Changes - Adds Travis hooks - Adds Sauce Labs - Encodes HTML in descriptions - Updates messages and help URLs
<a name="1.0.1"></a>
Nothing published for this version
### Changes - Initial public release
Your coding agent can read these notes before it upgrades. Set up the MCP server →