chore(release): v4.13.0 - #5288
Merged
Merged
Conversation
…5109) The `getAriaValue` function gets the value from the 3 different locations for aria data (attribute, property, element internals). The function will always return am object of `{ value: String, source: String }` or null. However this is a slight problem when an idref(s) property is used as they return DOM nodes or arrays of such. In order to still report what the value is as a string, the function massages the data into a string by taking the node name of the DOM node as that's probably the easiest way to report it to the user. This would result in something like `node.ariaLabelledbyElements = [div, div];` having a value of `'[div,div]'` instead of `''` if we only used the attribute value. In a separate PR we'll create two functions for resolving idref(s) values into vNodes that should be used 99% of the time instead of `getAriaValue`. `getAriaValue` for idref(s) should only be used when reporting the value to the user (such as in `aria-validate-attr-value`). Closes: #5042 --------- Co-authored-by: Chris Hutchins <[email protected]>
Migrating Karma to use Web Test Runner (WTR). Out of the box it has some problems that needed to be addressed, and some things we'll need to get use to using a new test runner. * WTR uses Playwright by default, but Playwright doesn't support Firefox Nightly. We'll use the Selenium driver in order to support that * However the Selenium driver automatically runs each test inside an iframe, which we do not want (and also breaks our tests). The Selenium driver doesn't have an option to disable this, so had to hack a way around this to ensure each test ran in the root document and no iframe * WTR runs each test file in an isolated Mocha context, so using `.only` no longer works across test files, just within the file it's used in. A bit annoying, but we can get use to this (tried to hack a way around this but it became way too complicated and broke a bunch of other stuff). `develop` still will watch files and run the changed test file for us * WTR `--manual` is used to replace `test:debug`. This didn't have a UI at first, so added the `html` style mocha reporter that we are use to. The only difference now is that the browser doesn't open automatically (have to press 'D') and that the landing page is a list of links to each test file * WTR doesn't have a preprocess step like Karma had, so we had to move it to it's own file and do the preprocessing for integration tests before we run them Additionally: * Noticed that our axe.log stubbing in various tests weren't working since we moved to ES6 modules (the code directly calls `log` and doesn't go through `axe.log`), this meant the asserts testing the messages weren't being run at all. So I fixed that by adding a `axe._setLogger` helper that would let us designate the logger stub. This allows us to both stub the logger or suppress it (so we don't have to see performance timer logs in tests, etc.) * Puppeteer was [failing a lot recently](https://github.com/dequelabs/axe-core/actions/runs/26545263689/job/78398503218) so fixed that while I was here * WTR can support both our current test loading (relying on global axe and properties) and es6 imports to the `lib` directory. I updated `performance-timer` to show this being possible. This means we should be able to remove the `_thisWillBeDeletedDoNotUse` property that was added just to get things to the test and we can import those directly in the tests that need them. However, this isn't something we can do right away as the imported file is a different context from the same file being imported in axe (since we bundle the axe files together). This means file scope/state is different so we can't import the new `setLogger` function directly in tests and use it as it doesn't set the axe.js bundled `logger` variable scope. Closes #5115
This was an accidental breaking change if anyone uses `RuleMetadata` directly. --------- Co-authored-by: Jonathan Garbee <[email protected]> Co-authored-by: Chris Hutchins <[email protected]> Co-authored-by: Wilco Fiers <[email protected]>
In preparation for #5044, this will allow us to declaratively set aria prop values on the `testutils-element` using `with-aria-*` attributes (mimicking the `with-role` attribute). It handles converting idref(s) attributes to their DOM nodes.
…ue (#5136) Companion to #5109 but replaces `vNode.hasAttr`. This resulted in finding a bug in Firefox which crashes the browser when trying to access an empty array set to an idrefs property in element internals. This is why the Firefox tests are failing (technically crashing). Filled here https://bugzilla.mozilla.org/show_bug.cgi?id=2045887.
- Replaces all uses of grunt with build scripts. - Migrate build dir to .mjs - Remove grunt from qunit test example
…5154) Bumps the npm-low-risk group with 7 updates in the / directory: | Package | From | To | | --- | --- | --- | | [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `7.29.0` | `7.29.7` | | [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) | `7.29.5` | `7.29.7` | | [@babel/runtime-corejs3](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3) | `7.29.2` | `7.29.7` | | [jsdom](https://github.com/jsdom/jsdom) | `29.0.2` | `29.1.1` | | [mocha](https://github.com/mochajs/mocha) | `11.7.5` | `11.7.6` | | [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.43.0` | `4.44.0` | | [start-server-and-test](https://github.com/bahmutov/start-server-and-test) | `3.0.2` | `3.0.6` | Updates `@babel/core` from 7.29.0 to 7.29.7 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/babel/babel/releases">@babel/core's releases</a>.</em></p> <blockquote> <h2>v7.29.7 (2026-05-25)</h2> <p>Re-release all packages with npm provenance attestations</p> <h2>v7.29.6 (2026-05-25)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-generator</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/18014">#18014</a> Catchup source map position in preserveFormat (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-core</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/18001">#18001</a> [7.x packport]Improve input source map handling (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> </li> <li><code>babel-core</code>, <code>babel-generator</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/17998">#17998</a> Preserve original identifier names from input sourcemaps (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/17992">#17992</a>) (<a href="https://github.com/Andarist"><code>@Andarist</code></a>)</li> </ul> </li> </ul> <h4>Committers: 3</h4> <ul> <li>Huáng Jùnliàng (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> <li>Mateusz Burzyński (<a href="https://github.com/Andarist"><code>@Andarist</code></a>)</li> <li>Nicolò Ribaudo (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> <h2>v7.29.5 (2026-05-05)</h2> <h4>:house: Internal</h4> <ul> <li><code>babel-preset-env</code> <ul> <li>Update <code>@babel/*</code> dependencies</li> </ul> </li> </ul> <h2>v7.29.4 (2026-05-05)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-plugin-transform-modules-systemjs</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/17974">#17974</a> [7.x backport]fix(systemjs): improve module string name support (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> </li> </ul> <h4>Committers: 1</h4> <ul> <li>Huáng Jùnliàng (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> <h2>v7.29.3 (2026-04-30)</h2> <h4>:eyeglasses: Spec Compliance</h4> <ul> <li><code>babel-parser</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/17923">#17923</a> Support flow extends bound (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> </li> </ul> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-helper-create-class-features-plugin</code>, <code>babel-plugin-proposal-decorators</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/17931">#17931</a> fix(decorators): replace super within all removed static elements (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> </li> <li><code>babel-register</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/17915">#17915</a> Fix thread synchronization issues in <code>@babel/register</code> (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> <li><code>babel-compat-data</code>, <code>babel-plugin-bugfix-safari-rest-destructuring-rhs-array</code>, <code>babel-preset-env</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/17788">#17788</a> Add bugfix plugin for Safari array rest destructuring bug (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> </li> </ul> <h4>:nail_care: Polish</h4> <ul> <li><code>babel-parser</code></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/babel/babel/commit/4fba7541180bf5f58256d8e358b544e3831ad090"><code>4fba754</code></a> v7.29.7</li> <li><a href="https://github.com/babel/babel/commit/04ea6b27fdac8f40c3481aec2080ac9678779509"><code>04ea6b2</code></a> v7.29.6</li> <li><a href="https://github.com/babel/babel/commit/99f498a9b9fa0b900d603fbe8f6601bb3b9e42bb"><code>99f498a</code></a> [7.x packport]Improve input source map handling (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/18001">#18001</a>)</li> <li><a href="https://github.com/babel/babel/commit/feba0a3654c596bd369d1ef1231f5d56666d56dc"><code>feba0a3</code></a> Preserve original identifier names from input sourcemaps (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/17992">#17992</a>) (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/17998">#17998</a>)</li> <li>See full diff in <a href="https://github.com/babel/babel/commits/v7.29.7/packages/babel-core">compare view</a></li> </ul> </details> <br /> Updates `@babel/preset-env` from 7.29.5 to 7.29.7 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/babel/babel/releases">@babel/preset-env's releases</a>.</em></p> <blockquote> <h2>v7.29.7 (2026-05-25)</h2> <p>Re-release all packages with npm provenance attestations</p> <h2>v7.29.6 (2026-05-25)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-generator</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/18014">#18014</a> Catchup source map position in preserveFormat (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-core</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/18001">#18001</a> [7.x packport]Improve input source map handling (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> </li> <li><code>babel-core</code>, <code>babel-generator</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/17998">#17998</a> Preserve original identifier names from input sourcemaps (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17992">#17992</a>) (<a href="https://github.com/Andarist"><code>@Andarist</code></a>)</li> </ul> </li> </ul> <h4>Committers: 3</h4> <ul> <li>Huáng Jùnliàng (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> <li>Mateusz Burzyński (<a href="https://github.com/Andarist"><code>@Andarist</code></a>)</li> <li>Nicolò Ribaudo (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/babel/babel/commit/4fba7541180bf5f58256d8e358b544e3831ad090"><code>4fba754</code></a> v7.29.7</li> <li>See full diff in <a href="https://github.com/babel/babel/commits/v7.29.7/packages/babel-preset-env">compare view</a></li> </ul> </details> <br /> Updates `@babel/runtime-corejs3` from 7.29.2 to 7.29.7 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/babel/babel/releases">@babel/runtime-corejs3's releases</a>.</em></p> <blockquote> <h2>v7.29.7 (2026-05-25)</h2> <p>Re-release all packages with npm provenance attestations</p> <h2>v7.29.6 (2026-05-25)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-generator</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/18014">#18014</a> Catchup source map position in preserveFormat (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-core</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/18001">#18001</a> [7.x packport]Improve input source map handling (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> </li> <li><code>babel-core</code>, <code>babel-generator</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/17998">#17998</a> Preserve original identifier names from input sourcemaps (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3/issues/17992">#17992</a>) (<a href="https://github.com/Andarist"><code>@Andarist</code></a>)</li> </ul> </li> </ul> <h4>Committers: 3</h4> <ul> <li>Huáng Jùnliàng (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> <li>Mateusz Burzyński (<a href="https://github.com/Andarist"><code>@Andarist</code></a>)</li> <li>Nicolò Ribaudo (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> <h2>v7.29.5 (2026-05-05)</h2> <h4>:house: Internal</h4> <ul> <li><code>babel-preset-env</code> <ul> <li>Update <code>@babel/*</code> dependencies</li> </ul> </li> </ul> <h2>v7.29.4 (2026-05-05)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-plugin-transform-modules-systemjs</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/17974">#17974</a> [7.x backport]fix(systemjs): improve module string name support (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> </li> </ul> <h4>Committers: 1</h4> <ul> <li>Huáng Jùnliàng (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> <h2>v7.29.3 (2026-04-30)</h2> <h4>:eyeglasses: Spec Compliance</h4> <ul> <li><code>babel-parser</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/17923">#17923</a> Support flow extends bound (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> </li> </ul> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-helper-create-class-features-plugin</code>, <code>babel-plugin-proposal-decorators</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/17931">#17931</a> fix(decorators): replace super within all removed static elements (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> </li> <li><code>babel-register</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/17915">#17915</a> Fix thread synchronization issues in <code>@babel/register</code> (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> <li><code>babel-compat-data</code>, <code>babel-plugin-bugfix-safari-rest-destructuring-rhs-array</code>, <code>babel-preset-env</code> <ul> <li><a href="https://redirect.github.com/babel/babel/pull/17788">#17788</a> Add bugfix plugin for Safari array rest destructuring bug (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> </li> </ul> <h4>:nail_care: Polish</h4> <ul> <li><code>babel-parser</code></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/babel/babel/commit/4fba7541180bf5f58256d8e358b544e3831ad090"><code>4fba754</code></a> v7.29.7</li> <li>See full diff in <a href="https://github.com/babel/babel/commits/v7.29.7/packages/babel-runtime-corejs3">compare view</a></li> </ul> </details> <br /> Updates `jsdom` from 29.0.2 to 29.1.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/jsdom/jsdom/releases">jsdom's releases</a>.</em></p> <blockquote> <h2>v29.1.1</h2> <ul> <li>Fixed <code>'border-radius'</code> computed style serialization. (<a href="https://github.com/asamuzaK"><code>@asamuzaK</code></a>)</li> <li>Fixed computed style computation when using <code>'background-origin'</code> and <code>'background-clip'</code> CSS properties. (<a href="https://github.com/asamuzaK"><code>@asamuzaK</code></a>)</li> <li>Significantly optimized initial calls to <code>getComputedStyle()</code>, before the cache warms up. (<a href="https://github.com/asamuzaK"><code>@asamuzaK</code></a>)</li> </ul> <h2>v29.1.0</h2> <ul> <li>Added basic support for the ratio CSS type. (<a href="https://github.com/asamuzaK"><code>@asamuzaK</code></a>)</li> <li>Fixed <code>getComputedStyle()</code> sometimes returning outdated results after CSS was modified. (<a href="https://github.com/asamuzaK"><code>@asamuzaK</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c"><code>9b9ea7e</code></a> 29.1.1</li> <li><a href="https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a"><code>07efb78</code></a> Optimize computed style comparison</li> <li><a href="https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90"><code>5f66329</code></a> Fix background-origin/background-clip in background shorthand</li> <li><a href="https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a"><code>ad8af77</code></a> Fix border shorthand handling</li> <li><a href="https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24"><code>5a3e88e</code></a> 29.1.0</li> <li><a href="https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675"><code>73db204</code></a> Update dependencies and dev dependencies</li> <li><a href="https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412"><code>a7168a5</code></a> Support ratio CSS unit type</li> <li><a href="https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132"><code>15346e0</code></a> Fix style cache invalidation</li> <li>See full diff in <a href="https://github.com/jsdom/jsdom/compare/v29.0.2...v29.1.1">compare view</a></li> </ul> </details> <br /> Updates `mocha` from 11.7.5 to 11.7.6 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/mochajs/mocha/releases">mocha's releases</a>.</em></p> <blockquote> <h2>v11.7.6</h2> <h2><a href="https://github.com/mochajs/mocha/compare/v11.7.5...v11.7.6">11.7.6</a> (2026-02-14)</h2> <h3>🩹 Fixes</h3> <ul> <li>make <code>describe().timeout()</code> work (<a href="https://github.com/mochajs/mocha/commit/aafe6fd8c8f0a897c35cfb228aa8ecf43805b697">aafe6fd</a>)</li> <li><strong>test:</strong> replace <code>wmic</code> usage with native Windows API (<a href="https://redirect.github.com/mochajs/mocha/issues/5694">#5694</a>) (<a href="https://github.com/mochajs/mocha/commit/73ebdfadb95198704ca57ec8087d97f7f3a7a37a">73ebdfa</a>)</li> </ul> <h3>🧹 Chores</h3> <ul> <li>format all code (<a href="https://redirect.github.com/mochajs/mocha/issues/5629">#5629</a>) (<a href="https://github.com/mochajs/mocha/commit/0696784dd2d7f9b11471acd5854603fa57fe6fab">0696784</a>)</li> <li>remove Netlify (<a href="https://redirect.github.com/mochajs/mocha/issues/5630">#5630</a>) (<a href="https://github.com/mochajs/mocha/commit/8d01d335becbcb12439328be90ce75351418d787">8d01d33</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/mochajs/mocha/blob/v11.7.6/CHANGELOG.md">mocha's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/mochajs/mocha/compare/v11.7.5...v11.7.6">11.7.6</a> (2026-02-14)</h2> <h3>🩹 Fixes</h3> <ul> <li>make <code>describe().timeout()</code> work (<a href="https://github.com/mochajs/mocha/commit/aafe6fd8c8f0a897c35cfb228aa8ecf43805b697">aafe6fd</a>)</li> <li><strong>test:</strong> replace <code>wmic</code> usage with native Windows API (<a href="https://redirect.github.com/mochajs/mocha/issues/5694">#5694</a>) (<a href="https://github.com/mochajs/mocha/commit/73ebdfadb95198704ca57ec8087d97f7f3a7a37a">73ebdfa</a>)</li> </ul> <h3>🧹 Chores</h3> <ul> <li>format all code (<a href="https://redirect.github.com/mochajs/mocha/issues/5629">#5629</a>) (<a href="https://github.com/mochajs/mocha/commit/0696784dd2d7f9b11471acd5854603fa57fe6fab">0696784</a>)</li> <li>remove Netlify (<a href="https://redirect.github.com/mochajs/mocha/issues/5630">#5630</a>) (<a href="https://github.com/mochajs/mocha/commit/8d01d335becbcb12439328be90ce75351418d787">8d01d33</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/mochajs/mocha/commit/3765ba0d9bd9e8918405b681991b982d3f8d4d7e"><code>3765ba0</code></a> chore(v11.x): release 11.7.6 (<a href="https://redirect.github.com/mochajs/mocha/issues/5632">#5632</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/73ebdfadb95198704ca57ec8087d97f7f3a7a37a"><code>73ebdfa</code></a> fix(test): replace <code>wmic</code> usage with native Windows API (<a href="https://redirect.github.com/mochajs/mocha/issues/5694">#5694</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/aafe6fd8c8f0a897c35cfb228aa8ecf43805b697"><code>aafe6fd</code></a> fix: make <code>describe().timeout()</code> work</li> <li><a href="https://github.com/mochajs/mocha/commit/0696784dd2d7f9b11471acd5854603fa57fe6fab"><code>0696784</code></a> chore: format all code (<a href="https://redirect.github.com/mochajs/mocha/issues/5629">#5629</a>)</li> <li><a href="https://github.com/mochajs/mocha/commit/8d01d335becbcb12439328be90ce75351418d787"><code>8d01d33</code></a> chore: remove Netlify (<a href="https://redirect.github.com/mochajs/mocha/issues/5630">#5630</a>)</li> <li>See full diff in <a href="https://github.com/mochajs/mocha/compare/v11.7.5...v11.7.6">compare view</a></li> </ul> </details> <br /> Updates `selenium-webdriver` from 4.43.0 to 4.44.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/SeleniumHQ/selenium/releases">selenium-webdriver's releases</a>.</em></p> <blockquote> <h2>Selenium 4.44.0</h2> <h2>Detailed Changelogs by Component</h2> <p><!-- raw HTML omitted --> <strong><a href="https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG">Java</a></strong> | <!-- raw HTML omitted --> <strong><a href="https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES">Python</a></strong> | <!-- raw HTML omitted --> <strong><a href="https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG">DotNet</a></strong> | <!-- raw HTML omitted --> <strong><a href="https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES">Ruby</a></strong> | <!-- raw HTML omitted --> <strong><a href="https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md">JavaScript</a></strong> <!-- raw HTML omitted --></p> <!-- raw HTML omitted --> <h2>What's Changed</h2> <!-- raw HTML omitted --> <ul> <li>fix(documentation): update artifact naming for generated docs by <a href="https://github.com/diemol"><code>@diemol</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17332">SeleniumHQ/selenium#17332</a></li> <li>fix(ruby): retrieve devtools version dynamically for package verification by <a href="https://github.com/diemol"><code>@diemol</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17335">SeleniumHQ/selenium#17335</a></li> <li>[dotnet] Don't truncate internal log messages at error/warn levels by <a href="https://github.com/nvborisenko"><code>@nvborisenko</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17333">SeleniumHQ/selenium#17333</a></li> <li>[dotnet] Safe modifications of internal log handlers by <a href="https://github.com/nvborisenko"><code>@nvborisenko</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17334">SeleniumHQ/selenium#17334</a></li> <li>[dotnet] Remove planned obsoleted members for 4.44 by <a href="https://github.com/nvborisenko"><code>@nvborisenko</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17328">SeleniumHQ/selenium#17328</a></li> <li>[dotnet] [bidi] Statically declare commands by <a href="https://github.com/nvborisenko"><code>@nvborisenko</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17330">SeleniumHQ/selenium#17330</a></li> <li>[dotnet] [bidi] Statically declared events by <a href="https://github.com/nvborisenko"><code>@nvborisenko</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17331">SeleniumHQ/selenium#17331</a></li> <li>[dotnet] Add C# 14 extension to polyfill <code>ArgumentNullException.ThrowIfNull</code> by <a href="https://github.com/RenderMichael"><code>@RenderMichael</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/16697">SeleniumHQ/selenium#16697</a></li> <li>[dotnet] [bidi] Align SetDownloadBehavior command by <a href="https://github.com/nvborisenko"><code>@nvborisenko</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17336">SeleniumHQ/selenium#17336</a></li> <li>[dotnet] [bidi] Align ContinueWithAuth command by <a href="https://github.com/nvborisenko"><code>@nvborisenko</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17337">SeleniumHQ/selenium#17337</a></li> <li>[dotnet] [bidi] Align SetGeolocation polymorphic command by <a href="https://github.com/nvborisenko"><code>@nvborisenko</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17338">SeleniumHQ/selenium#17338</a></li> <li>[dotnet] [test] In-process test webserver by <a href="https://github.com/nvborisenko"><code>@nvborisenko</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17339">SeleniumHQ/selenium#17339</a></li> <li>[java] deprecate the 'native' methods inside the HttpClient interface by <a href="https://github.com/joerg1985"><code>@joerg1985</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17340">SeleniumHQ/selenium#17340</a></li> <li>CDDL 2 Python generator by <a href="https://github.com/AutomatedTester"><code>@AutomatedTester</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/16914">SeleniumHQ/selenium#16914</a></li> <li>Fix py:local_dev rake task by <a href="https://github.com/cgoldberg"><code>@cgoldberg</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17342">SeleniumHQ/selenium#17342</a></li> <li>[grid] Accept legacy session-closed event payloads by <a href="https://github.com/VietND96"><code>@VietND96</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17343">SeleniumHQ/selenium#17343</a></li> <li>[java] specify nullability in package <code>org.openqa.selenium.remote</code> by <a href="https://github.com/asolntsev"><code>@asolntsev</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17325">SeleniumHQ/selenium#17325</a></li> <li>fix NPE when response status is null by <a href="https://github.com/asolntsev"><code>@asolntsev</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17348">SeleniumHQ/selenium#17348</a></li> <li>[java] fix NoSuchElementException for custom By locators by <a href="https://github.com/Chandan25sharma"><code>@Chandan25sharma</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17287">SeleniumHQ/selenium#17287</a></li> <li>[py] Update docs with pytest example and minor formatting fixes by <a href="https://github.com/cgoldberg"><code>@cgoldberg</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17351">SeleniumHQ/selenium#17351</a></li> <li>[dotnet] Fix stopping of network monitoring via DevTools by <a href="https://github.com/nvborisenko"><code>@nvborisenko</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17352">SeleniumHQ/selenium#17352</a></li> <li>[dotnet] [test] Update tests to target .NET 10 by <a href="https://github.com/nvborisenko"><code>@nvborisenko</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17353">SeleniumHQ/selenium#17353</a></li> <li>[build] Clean extra tools from GHA runner to free disk space by <a href="https://github.com/cgoldberg"><code>@cgoldberg</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17360">SeleniumHQ/selenium#17360</a></li> <li>Initial Creation of the Selenium CLI Tool by <a href="https://github.com/AutomatedTester"><code>@AutomatedTester</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17327">SeleniumHQ/selenium#17327</a></li> <li>[java] fix some nullability warnings by <a href="https://github.com/asolntsev"><code>@asolntsev</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17362">SeleniumHQ/selenium#17362</a></li> <li>[py] Use generated Bidi files instead of hand curated ones by <a href="https://github.com/AutomatedTester"><code>@AutomatedTester</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17266">SeleniumHQ/selenium#17266</a></li> <li>[docs] Add AI-assisted contribution policy by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17043">SeleniumHQ/selenium#17043</a></li> <li>[Agents] Update agents to make sure do linting. by <a href="https://github.com/AutomatedTester"><code>@AutomatedTester</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17366">SeleniumHQ/selenium#17366</a></li> <li>[py] Bump dependencies by <a href="https://github.com/cgoldberg"><code>@cgoldberg</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17368">SeleniumHQ/selenium#17368</a></li> <li>[git] update gitignore to exclude mempalace by <a href="https://github.com/AutomatedTester"><code>@AutomatedTester</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17369">SeleniumHQ/selenium#17369</a></li> <li>[java] remove field <code>ChromiumDriver.capabilities</code> by <a href="https://github.com/asolntsev"><code>@asolntsev</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17363">SeleniumHQ/selenium#17363</a></li> <li>[spec] Use http_file for the cddl files by <a href="https://github.com/AutomatedTester"><code>@AutomatedTester</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17372">SeleniumHQ/selenium#17372</a></li> <li>[dotnet] [bidi] Obsolete Type(string) method in Input module by <a href="https://github.com/nvborisenko"><code>@nvborisenko</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17377">SeleniumHQ/selenium#17377</a></li> <li>Fix Network failures by <a href="https://github.com/AutomatedTester"><code>@AutomatedTester</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17381">SeleniumHQ/selenium#17381</a></li> <li>[java] [test] Unignore bidi network conditions tests for Firefox by <a href="https://github.com/nvborisenko"><code>@nvborisenko</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17385">SeleniumHQ/selenium#17385</a></li> <li>[dotnet] [test] Unignore network conditions tests for Firefox by <a href="https://github.com/nvborisenko"><code>@nvborisenko</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17386">SeleniumHQ/selenium#17386</a></li> <li>[dotnet] [test] Migrate to MTP by <a href="https://github.com/nvborisenko"><code>@nvborisenko</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17384">SeleniumHQ/selenium#17384</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/SeleniumHQ/selenium/commit/da2039bd1456a161d0c284de16f9f4f179f1e8ca"><code>da2039b</code></a> [build] Prepare for release of selenium-4.44.0 (<a href="https://redirect.github.com/SeleniumHQ/selenium/issues/17444">#17444</a>)</li> <li><a href="https://github.com/SeleniumHQ/selenium/commit/d56867b3163eaa25541843ebfdd8c632a01fbf52"><code>d56867b</code></a> Fix prerelease (<a href="https://redirect.github.com/SeleniumHQ/selenium/issues/17442">#17442</a>)</li> <li><a href="https://github.com/SeleniumHQ/selenium/commit/331becdcd9be0a34b733818c9d05ed209411783d"><code>331becd</code></a> [dotnet][rb][java][js][py] Automated Browser Version Update (<a href="https://redirect.github.com/SeleniumHQ/selenium/issues/17440">#17440</a>)</li> <li><a href="https://github.com/SeleniumHQ/selenium/commit/65bb32ebd5a72f0374934da3ed2355757bb3b068"><code>65bb32e</code></a> [build] do not auto-merge browser updates (<a href="https://redirect.github.com/SeleniumHQ/selenium/issues/17432">#17432</a>)</li> <li><a href="https://github.com/SeleniumHQ/selenium/commit/fd1d36d41053a8886164ed6b12c706fbc602507f"><code>fd1d36d</code></a> [build] dynamically add and remove rulesets for release (<a href="https://redirect.github.com/SeleniumHQ/selenium/issues/17439">#17439</a>)</li> <li><a href="https://github.com/SeleniumHQ/selenium/commit/c799aff2b94666c6cab94c0dec8762ce962bb107"><code>c799aff</code></a> [build] fix release workflow (<a href="https://redirect.github.com/SeleniumHQ/selenium/issues/17437">#17437</a>)</li> <li><a href="https://github.com/SeleniumHQ/selenium/commit/83ce01eb2ea710bdd9cb34e2ce4eda08a9c890f1"><code>83ce01e</code></a> [dotnet] [bidi] Add DisownData command in Network module (<a href="https://redirect.github.com/SeleniumHQ/selenium/issues/17436">#17436</a>)</li> <li><a href="https://github.com/SeleniumHQ/selenium/commit/f342feeeb5d4f2760e8c2c1083815151f25327c7"><code>f342fee</code></a> [dotnet] [bidi] Additional Event streaming (breaking change) (<a href="https://redirect.github.com/SeleniumHQ/selenium/issues/17349">#17349</a>)</li> <li><a href="https://github.com/SeleniumHQ/selenium/commit/dfcc86ead1ad4b8291cc89e139f5e25fa011a475"><code>dfcc86e</code></a> [JavaScript] Move 'isDisplayed' atom to be typescript (<a href="https://redirect.github.com/SeleniumHQ/selenium/issues/17316">#17316</a>)</li> <li><a href="https://github.com/SeleniumHQ/selenium/commit/cc26ec89c1bdd4a63cd994d5b185c5d169652858"><code>cc26ec8</code></a> [js][py] Convert getAttribute atom from Closure to TypeScript (<a href="https://redirect.github.com/SeleniumHQ/selenium/issues/17370">#17370</a>)</li> <li>Additional commits viewable in <a href="https://github.com/SeleniumHQ/selenium/compare/selenium-4.43.0...selenium-4.44.0">compare view</a></li> </ul> </details> <br /> Updates `start-server-and-test` from 3.0.2 to 3.0.6 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/bahmutov/start-server-and-test/releases">start-server-and-test's releases</a>.</em></p> <blockquote> <h2>v3.0.6</h2> <h2><a href="https://github.com/bahmutov/start-server-and-test/compare/v3.0.5...v3.0.6">3.0.6</a> (2026-06-02)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>deps:</strong> remove bluebird and use native Promise (<a href="https://redirect.github.com/bahmutov/start-server-and-test/issues/467">#467</a>) (<a href="https://github.com/bahmutov/start-server-and-test/commit/c74811716ee98858cb00e4e03f68dcf4907785b3">c748117</a>)</li> </ul> <h2>v3.0.5</h2> <h2><a href="https://github.com/bahmutov/start-server-and-test/compare/v3.0.4...v3.0.5">3.0.5</a> (2026-05-13)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>deps:</strong> update dependency wait-on to v9.0.10 (<a href="https://redirect.github.com/bahmutov/start-server-and-test/issues/466">#466</a>) (<a href="https://github.com/bahmutov/start-server-and-test/commit/21965ecb9d8020333d818a8d0d88c5a0e2e4f653">21965ec</a>)</li> </ul> <h2>v3.0.4</h2> <h2><a href="https://github.com/bahmutov/start-server-and-test/compare/v3.0.3...v3.0.4">3.0.4</a> (2026-05-10)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>deps:</strong> update dependency wait-on to v9.0.6 (<a href="https://redirect.github.com/bahmutov/start-server-and-test/issues/465">#465</a>) (<a href="https://github.com/bahmutov/start-server-and-test/commit/9fb66805ae262bcd3e30b9cad2f5521fc865a787">9fb6680</a>)</li> </ul> <h2>v3.0.3</h2> <h2><a href="https://github.com/bahmutov/start-server-and-test/compare/v3.0.2...v3.0.3">3.0.3</a> (2026-05-10)</h2> <h3>Bug Fixes</h3> <ul> <li>improve check for already exited processes on windows (<a href="https://redirect.github.com/bahmutov/start-server-and-test/issues/464">#464</a>) (<a href="https://github.com/bahmutov/start-server-and-test/commit/bc51feed0ee463fb95f6ba9067bc51688c111ef6">bc51fee</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/bahmutov/start-server-and-test/commit/c74811716ee98858cb00e4e03f68dcf4907785b3"><code>c748117</code></a> fix(deps): remove bluebird and use native Promise (<a href="https://redirect.github.com/bahmutov/start-server-and-test/issues/467">#467</a>)</li> <li><a href="https://github.com/bahmutov/start-server-and-test/commit/a5e1cfbb0901cc5aaef53c53f2a37e565026b990"><code>a5e1cfb</code></a> chore: add .gitattributes to enforce LF line endings (<a href="https://redirect.github.com/bahmutov/start-server-and-test/issues/468">#468</a>)</li> <li><a href="https://github.com/bahmutov/start-server-and-test/commit/719581b35dc2238daaf6ed24658a82102775a2dd"><code>719581b</code></a> chore(deps): add minimum release age for installation / updating (<a href="https://redirect.github.com/bahmutov/start-server-and-test/issues/470">#470</a>)</li> <li><a href="https://github.com/bahmutov/start-server-and-test/commit/21965ecb9d8020333d818a8d0d88c5a0e2e4f653"><code>21965ec</code></a> fix(deps): update dependency wait-on to v9.0.10 (<a href="https://redirect.github.com/bahmutov/start-server-and-test/issues/466">#466</a>)</li> <li><a href="https://github.com/bahmutov/start-server-and-test/commit/9fb66805ae262bcd3e30b9cad2f5521fc865a787"><code>9fb6680</code></a> fix(deps): update dependency wait-on to v9.0.6 (<a href="https://redirect.github.com/bahmutov/start-server-and-test/issues/465">#465</a>)</li> <li><a href="https://github.com/bahmutov/start-server-and-test/commit/bc51feed0ee463fb95f6ba9067bc51688c111ef6"><code>bc51fee</code></a> fix: improve check for already exited processes on windows (<a href="https://redirect.github.com/bahmutov/start-server-and-test/issues/464">#464</a>)</li> <li><a href="https://github.com/bahmutov/start-server-and-test/commit/e5118f0b74b97c9a2c5e81b60b1333ba3f89ed56"><code>e5118f0</code></a> chore(ci): add Node.js 26 to tests (<a href="https://redirect.github.com/bahmutov/start-server-and-test/issues/463">#463</a>)</li> <li>See full diff in <a href="https://github.com/bahmutov/start-server-and-test/compare/v3.0.2...v3.0.6">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [sinon](https://github.com/sinonjs/sinon) from 21.1.2 to 22.0.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sinonjs/sinon/blob/main/docs/changelog.md">sinon's changelog</a>.</em></p> <blockquote> <h2>22.0.0</h2> <ul> <li><a href="https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878"><code>ed911df5</code></a> Update Ruby gems (Carl-Erik Kopseng)</li> <li><a href="https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841"><code>75a1e5b8</code></a> Update to Node 26 (Carl-Erik Kopseng)</li> <li><a href="https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2"><code>197d6608</code></a> Update documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)</li> <li><a href="https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c"><code>c5ddf80b</code></a> Update [email protected]: includes new Temporal API (Carl-Erik Kopseng)</li> <li><a href="https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e"><code>f4ab02f6</code></a> Update updatable packages (Carl-Erik Kopseng)</li> <li><a href="https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa"><code>0536afc8</code></a> Quality: Global mutable call id can grow unbounded across long-lived processes (<a href="https://redirect.github.com/sinonjs/sinon/issues/2691">#2691</a>) (tuanaiseo) <blockquote> <ul> <li>refactor: global mutable call id can grow unbounded across l</li> </ul> <p><code>callId</code> is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.</p> <p>Affected files: proxy-invoke.js</p> <p>Signed-off-by: tuanaiseo <a href="mailto:[email protected]">[email protected]</a></p> <ul> <li>Wrap around for all values that are too high</li> </ul> <hr /> <p>Signed-off-by: tuanaiseo <a href="mailto:[email protected]">[email protected]</a> Co-authored-by: Carl-Erik Kopseng <a href="mailto:[email protected]">[email protected]</a></p> </blockquote> </li> <li><a href="https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222"><code>f4f7d93b</code></a> Perform additional cleanup when calling callThrough() (<a href="https://redirect.github.com/sinonjs/sinon/issues/2670">#2670</a>) (Cyrille)</li> <li><a href="https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f"><code>6199e9e4</code></a> improve GitHubworkflows by introducing zizmor for monitoring (<a href="https://redirect.github.com/sinonjs/sinon/issues/2686">#2686</a>) (Till!) <blockquote> <ul> <li>fix(workflows): fetch-depth is for actions/checkout</li> <li>chore(workflows): update</li> </ul> <ul> <li>pin all actions to precise commits</li> <li>avoid credential leakage from actions/checkout</li> <li>group action updates going forward</li> <li>add zimor config to ignore "secrets outside env"</li> <li>add job to keep validating workflows</li> </ul> </blockquote> </li> <li><a href="https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e"><code>f7476b59</code></a> Use path.normalize() for path normalization (Carl-Erik Kopseng)</li> <li><a href="https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619"><code>2c975393</code></a> fix: make build and node test scripts cross-platform (laplace young)</li> <li><a href="https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5"><code>a7692917</code></a> fix: isolate walk state from Object prototype (laplace young)</li> <li><a href="https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671"><code>66df977a</code></a> Fix sinon.restore() cascade-restoring sub-sandboxes (<a href="https://redirect.github.com/sinonjs/sinon/issues/2704">#2704</a>) (Charlie Leitheiser) <blockquote> <p>The ESM port of <code>createApi</code> (<a href="https://redirect.github.com/sinonjs/sinon/issues/2683">#2683</a>, shipped in 21.1.0) replaced <code>createSandbox: createSandbox</code> with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:</p> </blockquote> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6"><code>52555af</code></a> 22.0.0</li> <li><a href="https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878"><code>ed911df</code></a> Update Ruby gems</li> <li><a href="https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841"><code>75a1e5b</code></a> Update to Node 26</li> <li><a href="https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2"><code>197d660</code></a> Update documentation on faking timers to reflect the current state of fake-ti...</li> <li><a href="https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c"><code>c5ddf80</code></a> Update [email protected]: includes new Temporal API</li> <li><a href="https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e"><code>f4ab02f</code></a> Update updatable packages</li> <li><a href="https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa"><code>0536afc</code></a> Quality: Global mutable call id can grow unbounded across long-lived processe...</li> <li><a href="https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222"><code>f4f7d93</code></a> Perform additional cleanup when calling callThrough() (<a href="https://redirect.github.com/sinonjs/sinon/issues/2670">#2670</a>)</li> <li><a href="https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f"><code>6199e9e</code></a> improve GitHubworkflows by introducing zizmor for monitoring (<a href="https://redirect.github.com/sinonjs/sinon/issues/2686">#2686</a>)</li> <li><a href="https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07"><code>1519009</code></a> Merge <a href="https://redirect.github.com/sinonjs/sinon/issues/2703">#2703</a>: isolate walk state from Object prototype</li> <li>Additional commits viewable in <a href="https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.0">compare view</a></li> </ul> </details> <br /> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [lint-staged](https://github.com/lint-staged/lint-staged) from 16.4.0 to 17.0.7. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/lint-staged/lint-staged/releases">lint-staged's releases</a>.</em></p> <blockquote> <h2>v17.0.7</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1806">#1806</a> <a href="https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07"><code>e692e58</code></a> - Update dependency <code>tinyexec@^1.2.4</code>.</li> </ul> <h2>v17.0.6</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1803">#1803</a> <a href="https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383"><code>bdf2770</code></a> - Run all tests with <a href="https://deno.com">Deno</a>, in addition to Node.js and Bun.</p> </li> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1796">#1796</a> <a href="https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9"><code>7508272</code></a> - Fix performance regression of <em>lint-staged</em> v17 by going back to using <code>git add</code> to stage task modifications. This was changed to <code>git update-index --again</code> in v17 for less manual work, but unfortunately the <code>update-index</code> command gets slower in very large Git repos.</p> </li> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1797">#1797</a> <a href="https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a"><code>7b2505a</code></a> - This version of <em>lint-staged</em> uses the new <a href="https://docs.npmjs.com/staged-publishing">staged publishing for npm packages</a> feature. Releases are already published from GitHub Actions with <a href="https://docs.npmjs.com/trusted-publishers">trusted publishing</a>, but now an additional approval with two-factor authentication is also required.</p> </li> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1802">#1802</a> <a href="https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037"><code>321b0a9</code></a> - Downgrade dependency <code>[email protected]</code> to avoid issues in version 1.2.3.</p> </li> </ul> <h2>v17.0.5</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1792">#1792</a> <a href="https://github.com/lint-staged/lint-staged/commit/1f672718b6fa67e0f00aafe107cb9f084f4d9102"><code>1f67271</code></a> - Correctly set the <code>--max-arg-length</code> default value based on the running platform. This controls how very long lists of staged files are split into multiple chunks.</li> </ul> <h2>v17.0.4</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1788">#1788</a> <a href="https://github.com/lint-staged/lint-staged/commit/f95c1f8df3368758c44c2052e568aac1b3d4c767"><code>f95c1f8</code></a> - Another fix for making sure <em>lint-staged</em> adds task modifications correctly to the commit in the following cases:</p> <ul> <li>after editing <code><file></code> it is staged with <code>git add <file></code>, and then committed with <code>git commit</code></li> <li>after editing <code><file></code> it is committed with <code>git commit --all</code> without explicit <code>git add</code></li> <li>after editing <code><file></code> it is committed with <code>git commit <pathspec></code> without explicit <code>git add</code></li> </ul> <p>There's new test cases which actually setup the Git <code>pre_commit</code> hook to run <em>lint-staged</em> and verify them. These issues started in <strong>v17.0.0</strong> when trying to improve support for committig without having explicitly staged files.</p> </li> </ul> <h2>v17.0.3</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1782">#1782</a> <a href="https://github.com/lint-staged/lint-staged/commit/06813f9ab661db987e7720086ef9ec3f552ee097"><code>06813f9</code></a> Thanks <a href="https://github.com/iiroj"><code>@iiroj</code></a>! - Fix <em>lint-staged</em> behavior when implicitly committing files without using <code>git add</code> by either: <ul> <li><code>git commit -am "my commit message"</code> where <code>-a</code> (<code>--all</code>) means to automatically stage all tracked modified and deleted files</li> <li><code>git commit -m "my commit message" .</code> where <code>.</code> is an example of a <a href="https://git-scm.com/docs/git-commit#Documentation/git-commit.txt-pathspec"><em>pathspec</em></a> where matching files will be staged</li> </ul> </li> </ul> <h2>v17.0.2</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1779">#1779</a> <a href="https://github.com/lint-staged/lint-staged/commit/88670ca2278200f6348ed663358895ddc4bfff3c"><code>88670ca</code></a> Thanks <a href="https://github.com/iiroj"><code>@iiroj</code></a>! - Enable immutable GitHub releases</li> </ul> <h2>v17.0.1</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1776">#1776</a> <a href="https://github.com/lint-staged/lint-staged/commit/4a5664be63af19590ec37940f705dad870ac5cfb"><code>4a5664b</code></a> Thanks <a href="https://github.com/iiroj"><code>@iiroj</code></a>! - Adjust GitHub Actions workflow so that automatic publishing works with signed commits.</li> </ul> <h2>v17.0.0</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md">lint-staged's changelog</a>.</em></p> <blockquote> <h2>17.0.7</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1806">#1806</a> <a href="https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07"><code>e692e58</code></a> - Update dependency <code>tinyexec@^1.2.4</code>.</li> </ul> <h2>17.0.6</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1803">#1803</a> <a href="https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383"><code>bdf2770</code></a> - Run all tests with <a href="https://deno.com">Deno</a>, in addition to Node.js and Bun.</p> </li> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1796">#1796</a> <a href="https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9"><code>7508272</code></a> - Fix performance regression of <em>lint-staged</em> v17 by going back to using <code>git add</code> to stage task modifications. This was changed to <code>git update-index --again</code> in v17 for less manual work, but unfortunately the <code>update-index</code> command gets slower in very large Git repos.</p> </li> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1797">#1797</a> <a href="https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a"><code>7b2505a</code></a> - This version of <em>lint-staged</em> uses the new <a href="https://docs.npmjs.com/staged-publishing">staged publishing for npm packages</a> feature. Releases are already published from GitHub Actions with <a href="https://docs.npmjs.com/trusted-publishers">trusted publishing</a>, but now an additional approval with two-factor authentication is also required.</p> </li> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1802">#1802</a> <a href="https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037"><code>321b0a9</code></a> - Downgrade dependency <code>[email protected]</code> to avoid issues in version 1.2.3.</p> </li> </ul> <h2>17.0.5</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1792">#1792</a> <a href="https://github.com/lint-staged/lint-staged/commit/1f672718b6fa67e0f00aafe107cb9f084f4d9102"><code>1f67271</code></a> - Correctly set the <code>--max-arg-length</code> default value based on the running platform. This controls how very long lists of staged files are split into multiple chunks.</li> </ul> <h2>17.0.4</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1788">#1788</a> <a href="https://github.com/lint-staged/lint-staged/commit/f95c1f8df3368758c44c2052e568aac1b3d4c767"><code>f95c1f8</code></a> - Another fix for making sure <em>lint-staged</em> adds task modifications correctly to the commit in the following cases:</p> <ul> <li>after editing <code><file></code> it is staged with <code>git add <file></code>, and then committed with <code>git commit</code></li> <li>after editing <code><file></code> it is committed with <code>git commit --all</code> without explicit <code>git add</code></li> <li>after editing <code><file></code> it is committed with <code>git commit <pathspec></code> without explicit <code>git add</code></li> </ul> <p>There's new test cases which actually setup the Git <code>pre_commit</code> hook to run <em>lint-staged</em> and verify them. These issues started in <strong>v17.0.0</strong> when trying to improve support for committig without having explicitly staged files.</p> </li> </ul> <h2>17.0.3</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1782">#1782</a> <a href="https://github.com/lint-staged/lint-staged/commit/06813f9ab661db987e7720086ef9ec3f552ee097"><code>06813f9</code></a> Thanks <a href="https://github.com/iiroj"><code>@iiroj</code></a>! - Fix <em>lint-staged</em> behavior when implicitly committing files without using <code>git add</code> by either: <ul> <li><code>git commit -am "my commit message"</code> where <code>-a</code> (<code>--all</code>) means to automatically stage all tracked modified and deleted files</li> <li><code>git commit -m "my commit message" .</code> where <code>.</code> is an example of a <a href="https://git-scm.com/docs/git-commit#Documentation/git-commit.txt-pathspec"><em>pathspec</em></a> where matching files will be staged</li> </ul> </li> </ul> <h2>17.0.2</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1779">#1779</a> <a href="https://github.com/lint-staged/lint-staged/commit/88670ca2278200f6348ed663358895ddc4bfff3c"><code>88670ca</code></a> Thanks <a href="https://github.com/iiroj"><code>@iiroj</code></a>! - Enable immutable GitHub releases</li> </ul> <h2>17.0.1</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/lint-staged/lint-staged/commit/cd11fec419c59b4900aab194f288adf6bb4afdd1"><code>cd11fec</code></a> Merge pull request <a href="https://redirect.github.com/lint-staged/lint-staged/issues/1807">#1807</a> from lint-staged/changeset-release/main</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/15a8ee0df4ffb4c6fc65ea6828133cc32740c9c4"><code>15a8ee0</code></a> chore(changeset): release</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/797bbd943a7adab888640915449c09b8a67cc11d"><code>797bbd9</code></a> Merge pull request <a href="https://redirect.github.com/lint-staged/lint-staged/issues/1808">#1808</a> from lint-staged/add-stashing-faq</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/504e307c819a8b2decdf6c791d5350c4db0b15ed"><code>504e307</code></a> docs: add FAQ entry on how stashing works</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/eff5cd19633ce51ca62ac17a9e66d972a2aaf104"><code>eff5cd1</code></a> Merge pull request <a href="https://redirect.github.com/lint-staged/lint-staged/issues/1806">#1806</a> from lint-staged/update-tinyexec</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07"><code>e692e58</code></a> build(deps): update <code>tinyexec@^1.2.4</code></li> <li><a href="https://github.com/lint-staged/lint-staged/commit/a2dd4ea97b1ff36486d88d9bad285834acef7ea6"><code>a2dd4ea</code></a> Merge pull request <a href="https://redirect.github.com/lint-staged/lint-staged/issues/1805">#1805</a> from lint-staged/update-github-templates</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/c92851945ff4fa604841e53fe044b47177b159b8"><code>c928519</code></a> docs: update GitHub templates</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/094ba56a3caeeda2cf83ad0a0c83df38ab2f6d06"><code>094ba56</code></a> Merge pull request <a href="https://redirect.github.com/lint-staged/lint-staged/issues/1798">#1798</a> from lint-staged/changeset-release/main</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/88e19fe3d81b8e1516564e7afaf6681f09f83b16"><code>88e19fe</code></a> chore(changeset): release</li> <li>Additional commits viewable in <a href="https://github.com/lint-staged/lint-staged/compare/v16.4.0...v17.0.7">compare view</a></li> </ul> </details> <br /> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…odes of idrefs (#5151) A new function that is very similar to `commons.dom.idrefs` function, but understands handling ARIA idrefs properties and element internals properties and additionally returns virtual nodes rather than DOM nodes. This was the leftover work from #5109 to handle idrefs being a string (attribute) or array of nodes (property). I also update the `queryShadowFixture` function to allow both `#shadow` and `#target` ids to exist in the light DOM. I looked at all uses of `queryShadowFixture` and almost all of them use the `#shadow` in the light DOM and `#target` in the shadow DOM, though a few rely on `#target` in the light DOM (but no `#shadow`). The changes prioritize the order of find things so that `#shadow` is used first as the container, then `#target` (instead of the other way around) and the target selector is found in the shadow DOM first, then in the light DOM after (instead of the other way around). Lastly to support changing either selector I allowed the 3rd parameter to be an object that could define them (no current uses of `queryShadowFixture` pass a 3rd parameter, but I left the option to just pass the target selector as a string). --------- Co-authored-by: Chris Hutchins <[email protected]> Co-authored-by: Wilco Fiers <[email protected]>
This started because `chromedriver` wasn't the latest version in the package-lock so every time I switched between the grunt removal branch and any other branch I had to reinstall chromedriver to the latest. It then spiraled to looking at all the npm warnings and updating what made sense. * `@babel/plugin-proposal-object-rest-spread` was deprecated as it was merged into the spec and we can now use the actual package `@babel/plugin-transform-object-rest-spread` * `standard-version` was deprecated and they recommend using `commit-and-tag-version` * `glob` was prevented from updating to v11 as it removed node version <20 and we still test under node 18. But looking at the code now we only use glob when we build, which we [already restore a cache version](https://github.com/dequelabs/axe-core/blob/develop/.github/workflows/test.yml#L236-L237) of before we test our code using different node versions. so we should be able to update it now The remaining warns can't be fixed at the moment. * `[email protected]` and `[email protected]` are both used by latest `commit-and-tag-version`. [an issue exists about it](absolute-version/commit-and-tag-version#295) * `[email protected]` is used by latest `http-server`. [an issue exists about it](http-party/http-server#973) * `[email protected]` is used by `node-notifier`, which hasn't been updated in several years. we could move to https://github.com/Aetherinox/node-toasted-notifier which is a fork of it, but I wasn't sure if we wanted to or not. Alternatively we could just drop the package, it's only used 1 time in our build to notify when axe-core build is completed (a nice to have but not necessary). * `[email protected]` is used by latest `mocha`, but the next major mocha version looks like it updates to the latest glob
…nals (#5164) Discovered as part of the [conversion of commons/dom](#5163). @chutchins25 had pointed out that the `null` only check would fail if the value was ever `undefined`, but since all browsers supported `null` on all ARIA prop values I didn't think it was necessary. Well turns out that when we set the internals to an object for the external api code, the values no longer return `null` when missing but `undefined`. So need to add the `undefined` check for those cases. Is `chore` as we don't need to announce this fix in the changelog as the feature hasn't be released yet
Updates the `commons/forms` directory to use the new `getAriaValue` or `hasAriaValue` functions where it makes sense. Also updated the test files to use `queryFixture` instead of appending to fixture directly and trying to find the node after. Here's a report of the full directory: * `commons/forms/is-native-textbox` - looks at `type` attribute, keep .attr Refs: #5142
This allows `queryFixture` to now support declarative shadow DOM,
replacing the need for `queryShadowFixture` and `createNestedShadowDom`.
I wanted the detection to be conditional so we didn't need to do the
expensive calls of `setHTMLUnsafe` and querying for every shadow on
every test. So the code only does the expensive operations when it
detects a declarative shadow DOM. Alternatively if we don't like the
regex we could just have the `options.shadow` be passed into the
`queryFixture`, but that would be a bit odd when the 2nd param is the
query, but would be fine for the few times we actually use the
functions: `queryFixture('<div>', '#target', { shadow: true });`
Updates the `commons/dom` directory to use the new `getAriaValue` or `hasAriaValue` functions where it makes sense. Also update any uses of `node.getAttribute` or `node.hasAttribute` where it made sense as well. Here's a report of the full directory: * `commons/dom/focus-disabled` - hasAttr(disabled), disabled (not aria-disabled) is not an ARIA prop so remains hasAttr * `commons/dom/get-element-by-reference` - looks up non-aria attrs, should still use .attr, but do we need to split the logic to handle non-aria vs aria attributes differently? * `commons/dom/tabbable-elements` - looks at tabindex, should still use .attr * `commons/dom/has-lang-text` - looks at lang attr, should still use .attr * `commons/dom/idrefs` - superceded by `get-resolved-refs` so won't update uses * `Commons/dom/inserted-into-focus-order` - looks at tabindex, should still use .attr * `commons/dom/is-current-page-link` - looks at href, should still use .attr (or getAttribute in this case since it has to deal with html anchor only properties) * `commons/dom/is-focusable` - tabindex, use .attr * `commons/dom/is-in-tab-order` - tabindex, use .attr * `commons/dom/is-inert` - inert, use .hasAttr * `commons/dom/is-natively-focusable` - href, use .hasAttr * `commons/dom/is-visibile (deprecated)` - no conversion * `commons/dom/url-props-from-attribute` - needs node (`ownerSVGElement` prop), so no conversion from getAttribute * `commons/dom/visibility-methods` - only the aria-hidden use should move to getAriaValue, others are non-aria attrs Refs: #5142 Refs: #5043
Updates the `checks/aria` directory to use the new `getAriaValue`,
`hasAriaValue`, and `getResolvedRefs` functions where it makes sense.
Here's a report of the full directory:
* `checks/aria/aria-busy` - aria-busy → getAriaValue with `{ lowercase:
true }` (boolean type)
* `checks/aria/aria-conditional-checkbox-attr` - aria-checked →
getAriaValue with `{ lowercase: true }` (normalizeAriaChecked calls
toLowerCase)
* `checks/aria/aria-conditional-radio-attr` - aria-checked →
getAriaValue with `{ lowercase: true }` (same reason as checkbox)
* `checks/aria/aria-conditional-row-attr` - checks
aria-rowindex/aria-colspan, but only via `.attrNames` presence check, no
value access
* `checks/aria/aria-errormessage` - aria-errormessage → getAriaValue +
hasAriaValue; aria-invalid → getAriaValue + hasAriaValue; `idrefs()` →
getResolvedRefs; since getResolvedRefs returns a VirtualNode, changed
`idref.getAttribute('aria-live')` to `idref.attr('aria-live')`;
aria-describedby → getAriaValue
* `checks/aria/aria-hidden-body` - aria-hidden → getAriaValue (nmtoken
type, no toLowerCase since original didn't use it)
* `checks/aria/aria-level` - aria-level → getAriaValue (int type, no
toLowerCase)
* `checks/aria/aria-required-attr` - aria-valuetext → getAriaValue;
aria-expanded → getAriaValue (in isClosedCombobox); required attr
presence check → hasAriaValue (so internals-set required attrs are
recognized)
* `checks/aria/aria-required-children` - aria-busy → getAriaValue with
`{ lowercase: true }` (boolean type, two uses)
* `checks/aria/aria-valid-attr-value` - preCheck functions for
aria-haspopup, aria-controls, aria-expanded, aria-selected,
aria-current, aria-owns, aria-describedby, aria-labelledby →
getAriaValue; the main attrNames loop and `const attrValue =
virtualNode.attr(attrName)` remain as-is since validation iterates over
actual HTML attributes only
* `checks/aria/braille-label-equivalent` - aria-braillelabel →
getAriaValue (string type)
* `checks/aria/braille-roledescription-equivalent` -
aria-brailleroledescription and aria-roledescription → getAriaValue
(both string type); defaulted roleDesc to null so `typeof roleDesc !==
'string'` check is preserved
* `checks/aria/abstractrole` - checks role attribute, not an ARIA prop
* `checks/aria/aria-allowed-attr` / `aria-allowed-attr-elm` /
`aria-prohibited-attr` / `aria-unsupported-attr` / `aria-valid-attr` -
iterate over `attrNames`, validate ARIA attribute names (not values)
* `checks/aria/aria-allowed-role` - checks role attribute, not an ARIA
prop
* `checks/aria/aria-required-parent` - checks role hierarchy, no ARIA
attr value access
* `checks/aria/aria-roledescription` - checks aria-roledescription
presence via `attrNames`, no value access
* `checks/aria/deprecatedrole` / `fallbackrole` / `invalidrole` /
`unsupportedrole` - check role attribute, not an ARIA prop
* `checks/aria/has-global-aria-attribute` - checks for presence of any
global ARIA attr via `attrNames`, no value access
* `checks/aria/has-widget-role` - checks role, not an ARIA prop
* `checks/aria/is-element-focusable` - checks focusability, no ARIA attr
value access
* `checks/aria/no-implicit-explicit-label` /
`valid-scrollable-semantics` - no ARIA attr value access
Refs: #5142
…5167) Updates the `checks/navigation` directory to use the new `getAriaValue` function where it makes sense. Here's a report of the full directory: * `checks/navigation/heading-order` - aria-level → getAriaValue * `checks/navigation/identical-links-same-purpose` - compares accessible names, no ARIA attr access * `checks/navigation/internal-link-present` - checks href, no ARIA attr access * `checks/navigation/meta-refresh` - checks meta content attribute, not an ARIA prop * `checks/navigation/p-as-heading` - checks text styles, no ARIA attr access * `checks/navigation/region` - aria-live → getAriaValue * `checks/navigation/skip-link` - checks link destination, no ARIA attr access * `checks/navigation/unique-frame-title` - checks title attribute, not an ARIA prop Closes: #5148
Updates the `commons/text` directory to use the new `getAriaValue` and `hasAriaValue` functions where it makes sense. Here's a report of the full directory: * `commons/text/form-control-value` - aria-selected → getAriaValue; aria-valuenow → hasAriaValue + getAriaValue * `commons/text/accessible-text` / `accessible-text-virtual` - computes accessible names via commons/aria functions; no direct ARIA attr access * `commons/text/label-text` / `label-virtual` / `label` - delegates to commons/aria functions; no direct ARIA attr access * `commons/text/native-text-alternative` / `native-text-methods` / `native-element-type` - checks native HTML semantics (type, value, placeholder, etc.), not ARIA props * `commons/text/title-text` - checks title attribute, not an ARIA prop * `commons/text/visible-virtual` / `visible` / `visible-text-nodes` / `subtree-text` - text visibility utilities, no ARIA attr access * `commons/text/sanitize` / `unicode` / `has-unicode` / `remove-unicode` / `is-human-interpretable` / `is-icon-ligature` / `is-valid-autocomplete` - text processing utilities, no ARIA attr access Closes: #5141
Use `Node` instead of `HTMLElement` when checking the element internals prop value so we include all node types, such as SVGs. This is the follow up to a [similar problem in the `get-aria-value` pr](#5109 (comment)). I also added an eslint rule to prevent us from using `HTMLElements` in the future so we don't make the same mistake again.
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p> <blockquote> <h2>v7.0.0</h2> <h2>What's Changed</h2> <ul> <li>block checking out fork pr for pull_request_target and workflow_run by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2454">actions/checkout#2454</a></li> <li>Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 in the minor-actions-dependencies group across 1 directory by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2458">actions/checkout#2458</a></li> <li>Bump flatted from 3.3.1 to 3.4.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2460">actions/checkout#2460</a></li> <li>Bump js-yaml from 4.1.0 to 4.2.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2461">actions/checkout#2461</a></li> <li>Bump <code>@actions/core</code> and <code>@actions/tool-cache</code> and Remove uuid by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2459">actions/checkout#2459</a></li> <li>upgrade module to esm and update dependencies by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2463">actions/checkout#2463</a></li> <li>Bump the minor-npm-dependencies group across 1 directory with 3 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2462">actions/checkout#2462</a></li> <li>getting ready for checkout v7 release by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2464">actions/checkout#2464</a></li> <li>update error wording by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2467">actions/checkout#2467</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/2454">actions/checkout#2454</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v6.0.3...v7.0.0">https://github.com/actions/checkout/compare/v6.0.3...v7.0.0</a></p> <h2>v6.0.3</h2> <h2>What's Changed</h2> <ul> <li>Update changelog by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2357">actions/checkout#2357</a></li> <li>fix: expand merge commit SHA regex and add SHA-256 test cases by <a href="https://github.com/yaananth"><code>@yaananth</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2414">actions/checkout#2414</a></li> <li>Fix checkout init for SHA-256 repositories by <a href="https://github.com/yaananth"><code>@yaananth</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2439">actions/checkout#2439</a></li> <li>Update changelog for v6.0.3 by <a href="https://github.com/yaananth"><code>@yaananth</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2446">actions/checkout#2446</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/yaananth"><code>@yaananth</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/2414">actions/checkout#2414</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v6...v6.0.3">https://github.com/actions/checkout/compare/v6...v6.0.3</a></p> <h2>v6.0.2</h2> <h2>What's Changed</h2> <ul> <li>Add orchestration_id to git user-agent when ACTIONS_ORCHESTRATION_ID is set by <a href="https://github.com/TingluoHuang"><code>@TingluoHuang</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2355">actions/checkout#2355</a></li> <li>Fix tag handling: preserve annotations and explicit fetch-tags by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2356">actions/checkout#2356</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v6.0.1...v6.0.2">https://github.com/actions/checkout/compare/v6.0.1...v6.0.2</a></p> <h2>v6.0.1</h2> <h2>What's Changed</h2> <ul> <li>Update all references from v5 and v4 to v6 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2314">actions/checkout#2314</a></li> <li>Add worktree support for persist-credentials includeIf by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2327">actions/checkout#2327</a></li> <li>Clarify v6 README by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2328">actions/checkout#2328</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v6...v6.0.1">https://github.com/actions/checkout/compare/v6...v6.0.1</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/checkout/commit/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"><code>9c091bb</code></a> update error wording (<a href="https://redirect.github.com/actions/checkout/issues/2467">#2467</a>)</li> <li><a href="https://github.com/actions/checkout/commit/1044a6dea927916f2c38ba5aeffbc0a847b1221a"><code>1044a6d</code></a> getting ready for checkout v7 release (<a href="https://redirect.github.com/actions/checkout/issues/2464">#2464</a>)</li> <li><a href="https://github.com/actions/checkout/commit/f0282184c7ce73ab54c7e4ab5a617122602e575f"><code>f028218</code></a> Bump the minor-npm-dependencies group across 1 directory with 3 updates (<a href="https://redirect.github.com/actions/checkout/issues/2462">#2462</a>)</li> <li><a href="https://github.com/actions/checkout/commit/d914b262ffc244530a203ab40decab34c3abf34d"><code>d914b26</code></a> upgrade module to esm and update dependencies (<a href="https://redirect.github.com/actions/checkout/issues/2463">#2463</a>)</li> <li><a href="https://github.com/actions/checkout/commit/537c7ef99cef6e5ddb5e7ff5d16d14510503801d"><code>537c7ef</code></a> Bump <code>@actions/core</code> and <code>@actions/tool-cache</code> and Remove uuid (<a href="https://redirect.github.com/actions/checkout/issues/2459">#2459</a>)</li> <li><a href="https://github.com/actions/checkout/commit/130a169078a413d3a5246a393625e8e742f387f6"><code>130a169</code></a> Bump js-yaml from 4.1.0 to 4.2.0 (<a href="https://redirect.github.com/actions/checkout/issues/2461">#2461</a>)</li> <li><a href="https://github.com/actions/checkout/commit/7d09575332117a40b46e5e020664df234cd416f3"><code>7d09575</code></a> Bump flatted from 3.3.1 to 3.4.2 (<a href="https://redirect.github.com/actions/checkout/issues/2460">#2460</a>)</li> <li><a href="https://github.com/actions/checkout/commit/0f9f3aa320cb53abeb534aeb54048075d9697a0e"><code>0f9f3aa</code></a> Bump actions/publish-immutable-action (<a href="https://redirect.github.com/actions/checkout/issues/2458">#2458</a>)</li> <li><a href="https://github.com/actions/checkout/commit/f9e715a95fcd1f9253f77dd28f11e88d2d6460c7"><code>f9e715a</code></a> block checking out fork pr for pull_request_target and workflow_run (<a href="https://redirect.github.com/actions/checkout/issues/2454">#2454</a>)</li> <li>See full diff in <a href="https://github.com/actions/checkout/compare/v6...v7">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the npm-low-risk group with 5 updates: | Package | From | To | | --- | --- | --- | | [@axe-core/webdriverjs](https://github.com/dequelabs/axe-core-npm) | `4.11.3` | `4.12.1` | | [globals](https://github.com/sindresorhus/globals) | `17.6.0` | `17.7.0` | | [lint-staged](https://github.com/lint-staged/lint-staged) | `17.0.7` | `17.0.8` | | [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.44.0` | `4.45.0` | | [start-server-and-test](https://github.com/bahmutov/start-server-and-test) | `3.0.10` | `3.0.11` | Updates `@axe-core/webdriverjs` from 4.11.3 to 4.12.1 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/dequelabs/axe-core-npm/blob/develop/CHANGELOG.md">@axe-core/webdriverjs's changelog</a>.</em></p> <blockquote> <h1><a href="https://github.com/dequelabs/axe-core-npm/compare/v4.11.3...v4.12.1">4.12.1</a> (2026-06-22)</h1> <h3>Features</h3> <ul> <li>Update axe-core to v4.12.1 (<a href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1378">#1378</a>) (<a href="https://github.com/dequelabs/axe-core-npm/commit/4263054240dc10bbfac0005ae2904f48651891d3">4263054</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/dequelabs/axe-core-npm/commits">compare view</a></li> </ul> </details> <br /> Updates `globals` from 17.6.0 to 17.7.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sindresorhus/globals/releases">globals's releases</a>.</em></p> <blockquote> <h2>v17.7.0</h2> <ul> <li>Update globals (2026-06-22) (<a href="https://redirect.github.com/sindresorhus/globals/issues/345">#345</a>) 33b75f9</li> </ul> <hr /> <p><a href="https://github.com/sindresorhus/globals/compare/v17.6.0...v17.7.0">https://github.com/sindresorhus/globals/compare/v17.6.0...v17.7.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/sindresorhus/globals/commit/a19670cc86c1218e915657c55ea02ba3e7623834"><code>a19670c</code></a> 17.7.0</li> <li><a href="https://github.com/sindresorhus/globals/commit/9611620bad0ea45531ae0261b986ce694374e42c"><code>9611620</code></a> Update actions (<a href="https://redirect.github.com/sindresorhus/globals/issues/346">#346</a>)</li> <li><a href="https://github.com/sindresorhus/globals/commit/33b75f9ddeb6f9ddd81251b043667eb8104a8d15"><code>33b75f9</code></a> Update globals (2026-06-22) (<a href="https://redirect.github.com/sindresorhus/globals/issues/345">#345</a>)</li> <li><a href="https://github.com/sindresorhus/globals/commit/887dd529bde24486b7f9e31d1b2c515df2b7cf5c"><code>887dd52</code></a> Fix build script (<a href="https://redirect.github.com/sindresorhus/globals/issues/344">#344</a>)</li> <li>See full diff in <a href="https://github.com/sindresorhus/globals/compare/v17.6.0...v17.7.0">compare view</a></li> </ul> </details> <br /> Updates `lint-staged` from 17.0.7 to 17.0.8 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/lint-staged/lint-staged/releases">lint-staged's releases</a>.</em></p> <blockquote> <h2>v17.0.8</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1809">#1809</a> <a href="https://github.com/lint-staged/lint-staged/commit/179b4372b2528f6fa66f927337d238711694d0e0"><code>179b437</code></a> - Fix <em>lint-staged</em> discarding the ongoing merge conflict status (<code>.git/MERGE_HEAD</code>) when using the <code>--hide-unstaged</code> or <code>--hide-all</code> options.</p> </li> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1811">#1811</a> <a href="https://github.com/lint-staged/lint-staged/commit/3d0b2c0709a2a39aa7b134e3741fed21250d808e"><code>3d0b2c0</code></a> - Fix issues with Git commands that are successful but also emit warnings to <code>stderr</code>, by ignoring the <code>stderr</code> output completely when the process exits with code 0. This was the behavior when using <code>nano-spawn</code> and <code>execa</code>, but when switching to <code>tinyexec</code> in 16.3.0 both <code>stdout</code> and <code>stderr</code> were used as interleaved output.</p> </li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md">lint-staged's changelog</a>.</em></p> <blockquote> <h2>17.0.8</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1809">#1809</a> <a href="https://github.com/lint-staged/lint-staged/commit/179b4372b2528f6fa66f927337d238711694d0e0"><code>179b437</code></a> - Fix <em>lint-staged</em> discarding the ongoing merge conflict status (<code>.git/MERGE_HEAD</code>) when using the <code>--hide-unstaged</code> or <code>--hide-all</code> options.</p> </li> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1811">#1811</a> <a href="https://github.com/lint-staged/lint-staged/commit/3d0b2c0709a2a39aa7b134e3741fed21250d808e"><code>3d0b2c0</code></a> - Fix issues with Git commands that are successful but also emit warnings to <code>stderr</code>, by ignoring the <code>stderr</code> output completely when the process exits with code 0. This was the behavior when using <code>nano-spawn</code> and <code>execa</code>, but when switching to <code>tinyexec</code> in 16.3.0 both <code>stdout</code> and <code>stderr</code> were used as interleaved output.</p> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/lint-staged/lint-staged/commit/5f3b8f28e895972bd5a2cdba733327b49859b91f"><code>5f3b8f2</code></a> Merge pull request <a href="https://redirect.github.com/lint-staged/lint-staged/issues/1812">#1812</a> from lint-staged/changeset-release/main</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/43a9b8d759443d3c313514b8a54af37108b19ac5"><code>43a9b8d</code></a> chore(changeset): release</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/630e2f60abc9e3964cf62f3f833594a19cdaf3cd"><code>630e2f6</code></a> Merge pull request <a href="https://redirect.github.com/lint-staged/lint-staged/issues/1809">#1809</a> from lint-staged/restore-merge-status</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/179b4372b2528f6fa66f927337d238711694d0e0"><code>179b437</code></a> fix: restore Git merge status after creating backup stash</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/6bae2e2aac7fd2981cf0b24e266631191760186c"><code>6bae2e2</code></a> Merge pull request <a href="https://redirect.github.com/lint-staged/lint-staged/issues/1811">#1811</a> from lint-staged/exec-git-ignore-stderr</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/b82a83099ddef36fccc26937761f184dfbe7c370"><code>b82a830</code></a> ci: run npm audit omitting dev, including prod dependencies</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/0b19b80233efc83b8e7c6df3f117d87fe760752c"><code>0b19b80</code></a> build(deps): update dependencies</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/3d0b2c0709a2a39aa7b134e3741fed21250d808e"><code>3d0b2c0</code></a> fix: ignore stderr when doing Git operations</li> <li>See full diff in <a href="https://github.com/lint-staged/lint-staged/compare/v17.0.7...v17.0.8">compare view</a></li> </ul> </details> <br /> Updates `selenium-webdriver` from 4.44.0 to 4.45.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/SeleniumHQ/selenium/releases">selenium-webdriver's releases</a>.</em></p> <blockquote> <h2>Selenium 4.45.0</h2> <h2>Detailed Changelogs by Component</h2> <p><!-- raw HTML omitted --> <strong><a href="https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG">Java</a></strong> | <!-- raw HTML omitted --> <strong><a href="https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES">Python</a></strong> | <!-- raw HTML omitted --> <strong><a href="https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG">DotNet</a></strong> | <!-- raw HTML omitted --> <strong><a href="https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES">Ruby</a></strong> | <!-- raw HTML omitted --> <strong><a href="https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md">JavaScript</a></strong> <!-- raw HTML omitted --></p> <!-- raw HTML omitted --> <h2>What's Changed</h2> <ul> <li>[build] derive PR diff base from HEAD^1 instead of trunk tip by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17438">SeleniumHQ/selenium#17438</a></li> <li>[build] setup trusted publishing from Github to npmrc by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17445">SeleniumHQ/selenium#17445</a></li> <li>[build] generate release notes from previous minor release tag by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17449">SeleniumHQ/selenium#17449</a></li> <li>[build] fix when to update lock files during the release process by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17450">SeleniumHQ/selenium#17450</a></li> <li>[java] remove deprecated logging classes by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17453">SeleniumHQ/selenium#17453</a></li> <li>[grid] Close pre-handshake race in WebSocket proxy by <a href="https://github.com/shs96c"><code>@shs96c</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17435">SeleniumHQ/selenium#17435</a></li> <li>[JavaScript] Correct handling for older browsers and missing casing by <a href="https://github.com/AutomatedTester"><code>@AutomatedTester</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17451">SeleniumHQ/selenium#17451</a></li> <li>Use pyproject for Python runtime deps lock input by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17452">SeleniumHQ/selenium#17452</a></li> <li>[rb] deprecate curb http client support by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17443">SeleniumHQ/selenium#17443</a></li> <li>[javascript] Migrate find-elements atom from Closure to TypeScript by <a href="https://github.com/AutomatedTester"><code>@AutomatedTester</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17458">SeleniumHQ/selenium#17458</a></li> <li>[py] replace rules_python sphinxdocs with local sphinx_docs rule by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17461">SeleniumHQ/selenium#17461</a></li> <li>[build] Configure Renovate dashboard approval by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17464">SeleniumHQ/selenium#17464</a></li> <li>[js] update vulnerable dependency with a range by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17466">SeleniumHQ/selenium#17466</a></li> <li>[build] remove duplicated grid ui tests by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17468">SeleniumHQ/selenium#17468</a></li> <li>[build] update java graphpql dependency by filtering out bad reference by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17469">SeleniumHQ/selenium#17469</a></li> <li>[rb] upgrade to steep 2.0 by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17470">SeleniumHQ/selenium#17470</a></li> <li>[rust] update dependencies by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17472">SeleniumHQ/selenium#17472</a></li> <li>[build] update GitHub Actions to latest major versions by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17475">SeleniumHQ/selenium#17475</a></li> <li>[dotnet] update dev dependencies by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17474">SeleniumHQ/selenium#17474</a></li> <li>[dotnet] fix template caching by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17476">SeleniumHQ/selenium#17476</a></li> <li>[dotnet] update system.text.json to 8.0.6 by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17477">SeleniumHQ/selenium#17477</a></li> <li>[js] update dev dependencies by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17479">SeleniumHQ/selenium#17479</a></li> <li>[dotnet] upgrade paket from v9 to v10 by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17481">SeleniumHQ/selenium#17481</a></li> <li>[build] bump bazel version to 9.1 by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17480">SeleniumHQ/selenium#17480</a></li> <li>[rust] update zip to v8 by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17485">SeleniumHQ/selenium#17485</a></li> <li>[js] update eslint to v10 with fixes by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17482">SeleniumHQ/selenium#17482</a></li> <li>[rb] Update ruby to 3.3.9 by <a href="https://github.com/aguspe"><code>@aguspe</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17484">SeleniumHQ/selenium#17484</a></li> <li>[dotnet] include snupkg files when packaging things up and allow the use of sourcelink by <a href="https://github.com/AutomatedTester"><code>@AutomatedTester</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17467">SeleniumHQ/selenium#17467</a></li> <li>[build] update download-artifact to v8 by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17493">SeleniumHQ/selenium#17493</a></li> <li>[dotnet] run format against slnx instead of looping csproj by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17483">SeleniumHQ/selenium#17483</a></li> <li>[build] bump low-risk Bazel module dependencies by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17494">SeleniumHQ/selenium#17494</a></li> <li>[rust] update reqwest to 0.13 by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17488">SeleniumHQ/selenium#17488</a></li> <li>[dotnet] [build] Fix remote linkage in SourceLink by <a href="https://github.com/nvborisenko"><code>@nvborisenko</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17495">SeleniumHQ/selenium#17495</a></li> <li>[build] remove renovate update requests pending work done in <a href="https://redirect.github.com/SeleniumHQ/selenium/issues/17427">#17427</a> by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17498">SeleniumHQ/selenium#17498</a></li> <li>[dotnet] [build] Support deterministic build output by <a href="https://github.com/nvborisenko"><code>@nvborisenko</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17497">SeleniumHQ/selenium#17497</a></li> <li>[build] bump ruby versions to latest patch releases by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17496">SeleniumHQ/selenium#17496</a></li> <li>[js] remove npm dependency by using bazel for everything by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17499">SeleniumHQ/selenium#17499</a></li> <li>[build] bump rules_jvm_external by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17501">SeleniumHQ/selenium#17501</a></li> <li>[build] bump rules_closure version by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17500">SeleniumHQ/selenium#17500</a></li> <li>[build] clarify dependency pin and update tasks by <a href="https://github.com/titusfortner"><code>@titusfortner</code></a> in <a href="https://redirect.github.com/SeleniumHQ/selenium/pull/17463">SeleniumHQ/selenium#17463</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/SeleniumHQ/selenium/commit/cd6a3cdfca6970f62e5bc8344109d0fe0e2af05e"><code>cd6a3cd</code></a> [build] Prepare for release of selenium-4.45.0 (<a href="https://redirect.github.com/SeleniumHQ/selenium/issues/17680">#17680</a>)</li> <li><a href="https://github.com/SeleniumHQ/selenium/commit/15fad06cba4d0eb577bf3891954ecaf81e9a11d8"><code>15fad06</code></a> [build] Automated Browser Version Update (<a href="https://redirect.github.com/SeleniumHQ/selenium/issues/17679">#17679</a>)</li> <li><a href="https://github.com/SeleniumHQ/selenium/commit/cb9b6fdbabdc1ed68a8bdbf31a4222c0396fe2fd"><code>cb9b6fd</code></a> [grid] Add support Redis-backed for SessionQueue (<a href="https://redirect.github.com/SeleniumHQ/selenium/issues/17678">#17678</a>)</li> <li><a href="https://github.com/SeleniumHQ/selenium/commit/18bb1d97d3db196522aa9b3873a350dc40d3ccb8"><code>18bb1d9</code></a> [py] terminate driver service process when start() fails to connect (<a href="https://redirect.github.com/SeleniumHQ/selenium/issues/17651">#17651</a>)</li> <li><a href="https://github.com/SeleniumHQ/selenium/commit/b3164ef7d071b5add6750d686ffbae1b936cadf0"><code>b3164ef</code></a> [grid] add HtmlUnit browser logo to Grid UI (<a href="https://redirect.github.com/SeleniumHQ/selenium/issues/17656">#17656</a>)</li> <li><a href="https://github.com/SeleniumHQ/selenium/commit/bb741bd07b1c5e36054328627903b4507eaca9f5"><code>bb741bd</code></a> [build] Automated Browser Version Update (<a href="https://redirect.github.com/SeleniumHQ/selenium/issues/17658">#17658</a>)</li> <li><a href="https://github.com/SeleniumHQ/selenium/commit/887237c468022cb5e4637aa98404fac2de0c8d23"><code>887237c</code></a> [py] translate continue_request/continue_response kwargs to BiDi wire format ...</li> <li><a href="https://github.com/SeleniumHQ/selenium/commit/f53de51c263c5ab0e598253a46286777a794ede0"><code>f53de51</code></a> [rb] run minimize test on linux now that <a href="https://redirect.github.com/SeleniumHQ/selenium/issues/17644">#17644</a> fixed fluxbox startup</li> <li><a href="https://github.com/SeleniumHQ/selenium/commit/3f37cce5cd7be6500ba90f44c994e140e27e3108"><code>3f37cce</code></a> [rb] set window state before each window test instead of resetting driver</li> <li><a href="https://github.com/SeleniumHQ/selenium/commit/2bfb9904f65649d7bcb6b4a678ac37c9909d2d22"><code>2bfb990</code></a> [rb] skip Safari double_click action tests</li> <li>Additional commits viewable in <a href="https://github.com/SeleniumHQ/selenium/compare/selenium-4.44.0...selenium-4.45.0">compare view</a></li> </ul> </details> <br /> Updates `start-server-and-test` from 3.0.10 to 3.0.11 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/bahmutov/start-server-and-test/releases">start-server-and-test's releases</a>.</em></p> <blockquote> <h2>v3.0.11</h2> <h2><a href="https://github.com/bahmutov/start-server-and-test/compare/v3.0.10...v3.0.11">3.0.11</a> (2026-06-11)</h2> <h3>Bug Fixes</h3> <ul> <li>register --expected as an alias of --expect (<a href="https://redirect.github.com/bahmutov/start-server-and-test/issues/484">#484</a>) (<a href="https://github.com/bahmutov/start-server-and-test/commit/57c221d7892e8375bb76033628edff7b301b4e1a">57c221d</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/bahmutov/start-server-and-test/commit/57c221d7892e8375bb76033628edff7b301b4e1a"><code>57c221d</code></a> fix: register --expected as an alias of --expect (<a href="https://redirect.github.com/bahmutov/start-server-and-test/issues/484">#484</a>)</li> <li>See full diff in <a href="https://github.com/bahmutov/start-server-and-test/compare/v3.0.10...v3.0.11">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
[//]: # (dependabot-start)⚠️ **Dependabot is rebasing this PR**⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 149.0.2 to 150.0.0. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/giggio/node-chromedriver/commit/85919db4badaeccb1a61d0abfd0741d16188dca7"><code>85919db</code></a> Bump version to 150.0.0</li> <li><a href="https://github.com/giggio/node-chromedriver/commit/7d81064131319a559cc91a694225c560997cf0a0"><code>7d81064</code></a> Bump version to 149.0.4</li> <li><a href="https://github.com/giggio/node-chromedriver/commit/14ab6c2952ea36ee3c3cf1656e45f0dedf1c3629"><code>14ab6c2</code></a> Bump version to 149.0.3</li> <li>See full diff in <a href="https://github.com/giggio/node-chromedriver/compare/149.0.2...150.0.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
#5178) The `context.md` examples labeled "Test a Node list" and "Test everything except these DOM nodes" used `document.querySelector(...)`, which only ever returns a single node, so they didn't actually show a NodeList. Switched both to `document.querySelectorAll(...)` and tweaked the comments so the examples demonstrate the NodeList support that already works. Also added two `Context` unit tests: one for a NodeList passed as the bare context, and one for NodeLists passed via `include`/`exclude`. (`doc/API.md` already lists NodeList as an accepted context, so it didn't need a change.) Heads up: I couldn't get the browser test runner going in my environment, so the new assertions were checked against the built `axe.js` bundle under jsdom rather than web-test-runner — prettier and eslint are clean. Worth a CI run to confirm in-browser. Closes: #3348
…nflict resolution (#5175) Audited `lib/checks/shared` for the #5044 conversion — no `getAriaValue`/`hasAriaValue` conversion applies: - `aria-label` / `aria-labelledby` checks delegate to the already-converted `commons/aria` helpers (`arialabelText` / `arialabelledbyText`), so they're internals-aware transitively. - `presentational-role` uses one global-ARIA **presence** check for role conflict resolution, which stays `hasAttr` — element internals must **not** trigger conflict resolution (no browser supports it yet; see #5162). This matches the convention already set in #5172 (`has-global-aria-attribute`) and #5171 (`get-role`). So this is a **test-only** change: it adds a test demonstrating that a global ARIA attribute supplied via element internals does **not** override a presentational role. No production code changes. Closes #5145
Updates the `checks/label` directory to use the new `getAriaValue`, `hasAriaValue`, and `getResolvedRefs` functions where it makes sense. Here's a report of the full directory: * `checks/label/help-same-as-label` - aria-describedby: replaced `node.getAttribute` + `idrefs()` with `hasAriaValue` + `getResolvedRefs`; since `getResolvedRefs` returns VirtualNodes, updated `accessibleText(thing)` to `accessibleText(thing.actualNode)` * `checks/label/multiple-label` - aria-labelledby: replaced `idrefs()` with `getResolvedRefs`; since VirtualNodes are returned, updated `.includes(domNode)` to `.some(ref => ref?.actualNode === domNode)` * `checks/label/title-only` - aria-describedby: replaced `.attr()` truthy check with `hasAriaValue` since only presence is needed * `checks/label/alt-space-value` - checks alt attribute, not an ARIA prop * `checks/label/duplicate-img-label` - compares accessible names, no direct ARIA attr access * `checks/label/explicit` - checks label[for] association, no ARIA attr access * `checks/label/hidden-explicit-label` - checks label visibility, no ARIA attr access * `checks/label/implicit` - checks implicit label wrapping, no ARIA attr access * `checks/label/label-content-name-mismatch` - computes accessible names, no direct ARIA attr access * `checks/label/no-implicit-explicit-label` - no direct ARIA attr access (in aria directory, not label) Closes: #5146 --------- Co-authored-by: Chris Hutchins <[email protected]> Co-authored-by: JC Franco <[email protected]>
Ignoring the breaking tests until we can update our code to handle them. See #5207
## Summary Adds `aria-actions` to axe-core's known ARIA attributes so it is recognized as valid, allowed, and prohibited on the roles the spec prohibits it on — and re-enables the APG `tabs-actions` example that had been disabled for lack of `aria-actions` support. Per the [spec draft](w3c/aria#1805), `aria-actions`: - **Value type:** ID reference list → `idrefs` - **Global:** yes (like `aria-describedby`) - **Empty allowed:** yes — the spec permits `aria-actions=""` (the deferred-DOM case) → `allowEmpty: true` - **Prohibited roles:** the name-prohibited roles the spec also prohibits it on (all axe `prohibitedAttrs` roles except `none`/`presentation`, which the spec still permits) - **ElementInternals reflection:** `ariaActionsElements` ## Accessibility-supported rationale Following the [Impact on ARIA](https://github.com/dequelabs/axe-core/blob/develop/doc/accessibility-supported.md#impact-on-aria) decision framework: 1. Supported by all platforms? No — shipped in WebKit and Firefox; **Chromium pending**. 2. Does its use negatively impact accessibility? **No** — unsupported browsers simply ignore the attribute (progressive enhancement), and the spec hard-guards exposure. → **allow.** > **Note for reviewers:** the ARIA spec change is still [PR #1805](w3c/aria#1805), not yet merged — this aligns to the two engines shipping ahead of spec approval. We can patch the config later in the unlikely event the spec shifts. ## Changes **Attribute recognition** — `lib/standards/aria-attrs.js`: add the `aria-actions` entry (`idrefs`, global, `allowEmpty`). **Prohibited-on-role** — `lib/standards/aria-roles.js`: add `aria-actions` to `prohibitedAttrs` for `caption`, `code`, `deletion`, `emphasis`, `insertion`, `mark`, `paragraph`, `strong`, `subscript`, `superscript`, `suggestion`. Per [w3c/aria#1805](w3c/aria#1805) these roles prohibit it; `none`/`presentation` do not, so they are left unchanged. **APG test re-enable (Closes #4584)** — bump `aria-practices` to latest `main` (the `tabs-actions` page did not exist at the previously pinned commit) and remove it from `skippedPages`. axe recognizes the attribute but not the authoring *pattern*, so `aria-required-children` (tabs-actions) and `nested-interactive` (listbox-actions) are disabled per-page pending #5215. **Review feedback** — update the stale `wai-aria-1.1` `Source:` comment to the unversioned WAI-ARIA URL; add an `aria-actions=""` pass case exercising `allowEmpty`. ## Testing - `get-global-aria-attrs`, `aria-prohibited-attr` (check + virtual-rule), `aria-valid-attr`, `aria-allowed-attr`, `aria-valid-attr-value` unit + integration tests ✓ - Full APG suite green (76 passing) ✓ - `npm run build` clean; no auto-generated committed files change ## Follow-ups - #5215 — teach `aria-required-children` / `nested-interactive` about the `aria-actions` pattern, then remove the per-page disables in `apg.spec.js` Closes #5199 Closes #4584
The tests only set up the virtual tree from the `fixture` down. This causes problems in our tests when code walks up the DOM tree (not the virtual tree) and tries to get virtual nodes from the walk. This causes tests to fail when it wouldn't fail in an actual run (as doing `axe.run` setups the virtual tree for the entire page). This updates the testutils functions to set up the virtual tree using the entire DOM to parity an actual run.
## What changed - **Lockfile:** `package-lock.json` removed, `pnpm-lock.yaml` seeded via `pnpm import` so resolutions carry over. `packageManager` in `package.json` pins pnpm 11; pnpm honors that field itself, so contributors only need pnpm installed, not a specific version (and never Corepack, which is gone in Node 25+). - **Patching:** `patch-package` is dropped in favor of pnpm's native `patchedDependencies`. The `colorjs.io` patch moves to pnpm's naming, and `prepare` no longer has to run a patch step — which also removes the `npm run prepare && npm run build` pairing from every workflow. - **Build scripts:** `pnpm-workspace.yaml` declares `allowBuilds` explicitly. `esbuild` and `chromedriver` need their postinstall; the `core-js` family and `es5-ext` do not. The two git-hosted W3C test corpora are keyed by resolved tarball spec, so bumping either pin means updating that key too. The nightly jobs that install those corpora from a floating branch can't know the resolved commit ahead of time, so they opt into all builds for that install. - **Strict `node_modules`:** `core-js-pure` was being used through npm's hoisting and is now a direct dependency. - **CI:** every workflow gains `pnpm/action-setup` ahead of `setup-node` (needed for `cache: pnpm` to resolve the store path) and uses `pnpm ci`. - **Deploy pipeline:** `pnpm publish` needs `--no-git-checks` because the version bump is uncommitted and the branch isn't `master`. `pnpm version` has no `--ignore-scripts`, so the bump writes the manifest field directly. Package validation no longer touches global package-manager state: `validate-package.mjs` symlinks the repo into its own `node_modules` instead of `npm link`, and `validate-npm-deploy.sh` installs into a throwaway project instead of globally. - **Docs:** setup instructions and command examples across `CONTRIBUTING.md`, `doc/`, and the example projects now use pnpm. Closes: #5111 --------- Co-authored-by: Copilot Autofix powered by AI <[email protected]>
Adds the new ARIA 1.3 `sectionheader` and `sectionfooter` roles to axe-core's standards data. ## What & why Per [w3c/aria#1931](w3c/aria#1931) (merged into the ARIA spec `main`), `sectionheader` and `sectionfooter` are new **concrete structural roles** with superclass `section`. axe-core did not recognize them, so `role="sectionheader"` / `role="sectionfooter"` were flagged as invalid roles. Definitions were grounded directly against the spec source (`w3c/aria` `main`): - `roleInfo.js` — `parentRoles: ["section"]`, no required / prohibited / local (non-global) properties. - `index.html` characteristics table — **Is Abstract:** no (concrete), **Name From:** author (so no `nameFromContent`), **Accessible Name Required:** no. They are modeled on the existing `blockquote` precedent (`type: 'structure', superclassRole: ['section']`). ## Note on scope — bundling `sectionfooter` The issue (#4734) names only `sectionheader`, but the spec introduced `sectionheader` and `sectionfooter` together and there is no separate `sectionfooter` issue. They are bundled here as one cohesive "ARIA 1.3 section header/footer roles" change. ## Out of scope / follow-up The updated HTML-AAM implicit-role mapping (`<header>` / `<footer>` scoped inside sectioning content → implicit `sectionheader` / `sectionfooter`) is **not** included here — it has a much larger blast radius (landmark/region computations, `aria-allowed-role`) and will be tracked as a separate issue. ## Tests - `aria-roles` integration HTML/JSON — pass cases for both roles. - `aria-roles` virtual-rule — pass cases for both roles. - Verified `abstractrole` / `fallbackrole` / `unsupportedrole` / `aria-allowed-role` check suites still pass. Closes #4734
…iew (#5246) Flags the deprecated ARIA attributes `aria-grabbed` and `aria-dropeffect` as "needs review". ## What & why WAI-ARIA 1.1 deprecated `aria-grabbed` and `aria-dropeffect` globally, but axe had no signal for deprecated ARIA *attributes* (it already handles deprecated *roles* via `aria-deprecated-role`). Following the approach in the issue thread ([@WilcoFiers](#3341)): add a new **`aria-deprecated-attr` check to the existing `aria-allowed-attr` rule** (rather than a standalone rule), which **incompletes** an element using deprecated ARIA, or lets the rule **fail** when the element also uses an unsupported/unallowed attribute. ## Implementation - `deprecated: true` on `aria-grabbed` / `aria-dropeffect` in `lib/standards/aria-attrs.js`. - New data-driven `aria-deprecated-attr` check: returns **incomplete** when any attribute with `deprecated: true` is present, pass otherwise. - Added to the `aria-allowed-attr` rule's `all` array. Because a failing sibling check (`aria-allowed-attr` / `aria-unsupported-attr`) outranks an incomplete, an element with a deprecated attribute is: - **needs review** when that's its only ARIA issue, or - a **violation** when it also has an unsupported/unallowed attribute. ## Behavior change Any element using `aria-grabbed` or `aria-dropeffect` now reports under `aria-allowed-attr` (needs-review, or a violation when combined with an unsupported attribute). The `passes.html` integration fixture used these two as "global attribute" filler on 68 pass blocks; they've been removed from those blocks (each still tests global-attribute allowance via its other global attributes), with dedicated incomplete/failure coverage added. ## Tests - New `aria-deprecated-attr` check unit — incomplete (single/multiple), data-driven via `axe.configure`, and an open **Shadow DOM** case. - `aria-allowed-attr` virtual-rule — incomplete for a deprecated attr; violation when combined with an unallowed attr. - `aria-allowed-attr` integration — `incomplete.html` (deprecated-only, singular + plural) and `failures.html` (#fail12: deprecated + unallowed → violation); 68 pass blocks updated. ## Follow-up Per the issue discussion, a separate ticket will track a future standards mechanism to return "needs review" for not-recommended-but-valid roles/attributes generally. Closes #3341 --------- Co-authored-by: Steven Lambert <[email protected]>
Just adds the `aria-allowed-role` integration cases for the `<button>` element (`separator`, `slider`, `treeitem`; `gridcell` was already covered), which is all #4142 needs on top of #4398. Closes #4142 --------- Co-authored-by: Steven Lambert <[email protected]>
…elling (#5270) Corrects the spelling of `fromPrimative` to `fromPrimitive` and deprecates the former function.
Adds support for `role="image"` as a valid role equivalent to `role="img"` (ARIA 1.3, [w3c/aria#1370](w3c/aria#1370)). ## What & why ARIA 1.3 adds `image` as an alias of `img` with an identical mapping; axe previously treated `role="image"` as an invalid role. Per the review discussion, this does **not** use a synonym-normalization mechanism (which would force every reporting path to remember the role the author used vs. the one our code resolved it to). Instead, `image` is a first-class role that shares `img`'s definition and is allowed wherever `img` is: - `image` is added to `lib/standards/aria-roles.js`, spread from a shared `imgRole` object so it stays in sync with `img`. - `image` is added to every `html-elms` `allowedRoles` list that includes `img` (`embed`, `iframe`, `object`). `svg` needs no change — it is `allowedRoles: true`, so it already accepts any role. - The `role-img-alt` and `svg-img-alt` selectors match both roles via `:is([role='img'], [role='image'])`. Without the `svg-img-alt` change, `<svg role="image">` matched neither rule — `svg-img-alt`'s selector omitted it and `role-img-alt` is gated by `html-namespace-matches` — so axe accepted the role and then never checked for an accessible name. - `image` is added to the `aria-roledescription` check's `supportedRoles`, so `role="image"` passes where `role="img"` does. Because there is no synonym resolution, an unallowed `role="image"` reports **`image`** (the role the author used), not `img`. ## Tests - `is-valid-role` / `aria-roles` integration — `image` is a valid role. - `get-element-unallowed-roles` — `image` allowed on `svg`/`embed`/`object`/`iframe`; reported as authored when unallowed (e.g. on `hr`). - `role-img-alt` integration + virtual-rules — matches `role="image"`. - `svg-img-alt` integration + virtual-rules — matches `role="image"`. - `aria-roledescription` — `role="image"` passes against the check's default `supportedRoles`. - ACT specs `7d6734` and `23a2a8` still pass with the broadened selectors. ## Not in scope `role-img-alt` and `svg-img-alt` metadata still name only `img` in their `description`/`help` strings. Updating them regenerates `locales/_template.json`, invalidates those translations, and needs a matching axe-rule-help change — tracked in #5272. Closes #4656 --------- Co-authored-by: Steven Lambert <[email protected]>
…ails matches (#5262) This should allow us to handle the variant matching in `htmlElms` needed for header, footer, [figure](#3443), and [summary](#3911). ```js { header: { variant: { sectioned: { matches: { inSectioningContent: true } } } }, figure: { variant: { figcaption: { matches: { hasChild: 'figcaption' } } } }, summary: { variant: { details: { matches: { isSummaryForDetails: true } } } } } ``` --------- Co-authored-by: Chris Hutchins <[email protected]>
Bumps the npm-low-risk group with 4 updates: [eslint](https://github.com/eslint/eslint), [lint-staged](https://github.com/lint-staged/lint-staged), [prettier](https://github.com/prettier/prettier) and [sinon](https://github.com/sinonjs/sinon). Updates `eslint` from 10.7.0 to 10.8.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/eslint/eslint/releases">eslint's releases</a>.</em></p> <blockquote> <h2>v10.8.0</h2> <h2>Features</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/2fee9bb7416116cbed4d8c8100b1ae713b6356a1"><code>2fee9bb</code></a> feat: export <code>ConfigObject</code> from <code>eslint/config</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21082">#21082</a>) (sethamus)</li> </ul> <h2>Bug Fixes</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/6b8d2f7589b8a7c8b91b8ca2a2ef6d46178760d8"><code>6b8d2f7</code></a> fix: escape reserved characters in rule id in <code>html</code> formatter (<a href="https://redirect.github.com/eslint/eslint/issues/21129">#21129</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/90910715011211a20d011d807d398a7005127f35"><code>9091071</code></a> fix: prevent <code>no-unreachable-loop</code> crash when all loop types are ignored (<a href="https://redirect.github.com/eslint/eslint/issues/21116">#21116</a>) (Pixel)</li> <li><a href="https://github.com/eslint/eslint/commit/e23fafe8d4b15355adef6cdebef414c3a2019454"><code>e23fafe</code></a> fix: prefer-object-spread add semicolon when adding parenthesis (<a href="https://redirect.github.com/eslint/eslint/issues/21081">#21081</a>) (synthex-byte)</li> <li><a href="https://github.com/eslint/eslint/commit/20b5ad052360a443786a202e94624a3f81846511"><code>20b5ad0</code></a> fix: quadratic-time regex in <code>prefer-template</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21096">#21096</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/8b6f6c0b33411f34485512456d94f221daf7321f"><code>8b6f6c0</code></a> fix: apply ignore configs to computed methods in class-methods-use-this (<a href="https://redirect.github.com/eslint/eslint/issues/21094">#21094</a>) (Pixel)</li> <li><a href="https://github.com/eslint/eslint/commit/b2c608c014a396800a24a89343265d0616bee2d8"><code>b2c608c</code></a> fix: NewExpression with parenthesized callee in <code>preserve-caught-error</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21083">#21083</a>) (Francesco Trotta)</li> </ul> <h2>Documentation</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/6ddf8587e5cfeeb7328332601bb76d98b8a198ea"><code>6ddf858</code></a> docs: fix broken Specify Parser Options anchor link (<a href="https://redirect.github.com/eslint/eslint/issues/21106">#21106</a>) (Minsu)</li> <li><a href="https://github.com/eslint/eslint/commit/784dfbe98f0222426fd200153a5ce2e5624151f0"><code>784dfbe</code></a> docs: Clarify <code>no-eq-null</code> description (<a href="https://redirect.github.com/eslint/eslint/issues/21120">#21120</a>) (Park Harin)</li> <li><a href="https://github.com/eslint/eslint/commit/7ec733a3ba5acb053a73ac656030a3879aa48fda"><code>7ec733a</code></a> docs: Fix typos and grammar in glossary (<a href="https://redirect.github.com/eslint/eslint/issues/21095">#21095</a>) (Marry (Subin Yang))</li> <li><a href="https://github.com/eslint/eslint/commit/92bb13f13065db72d62454b9830d3ae52db15c76"><code>92bb13f</code></a> docs: replace quake link (<a href="https://redirect.github.com/eslint/eslint/issues/21108">#21108</a>) (Jung Hyeon Jun)</li> <li><a href="https://github.com/eslint/eslint/commit/68eb4a57572409dbdcfeb3bc5c92ddbba46bc770"><code>68eb4a5</code></a> docs: fix broken Specify Globals anchor links in rule pages (<a href="https://redirect.github.com/eslint/eslint/issues/21103">#21103</a>) (Minsu)</li> <li><a href="https://github.com/eslint/eslint/commit/d28f697e0d32d7446c825fd89c362db028450134"><code>d28f697</code></a> docs: replace Code Climate CLI links with Qlty CLI links (<a href="https://redirect.github.com/eslint/eslint/issues/21099">#21099</a>) (Jung Hyeon Jun)</li> <li><a href="https://github.com/eslint/eslint/commit/eccc68d42564e46bc9020d19ec52d2988f3b7bfa"><code>eccc68d</code></a> docs: correct --suppressions-location option description (<a href="https://redirect.github.com/eslint/eslint/issues/21093">#21093</a>) (Ga eun Lee)</li> <li><a href="https://github.com/eslint/eslint/commit/c5963f74bfa82a5b7ccc0607dcdcc695b8c97a31"><code>c5963f7</code></a> docs: Update README (GitHub Actions Bot)</li> </ul> <h2>Chores</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/4fbf46d140120ae838db08cbe49544c985956490"><code>4fbf46d</code></a> test: pin <code>webpack</code> version to 5.108.4 (<a href="https://redirect.github.com/eslint/eslint/issues/21137">#21137</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/2d063e224e9bb0ccb0a28c120f7e380a8d62f320"><code>2d063e2</code></a> chore: update HTTP URLs to HTTPS in JSDoc and comments (<a href="https://redirect.github.com/eslint/eslint/issues/21101">#21101</a>) (Bo Hyun Kim)</li> <li><a href="https://github.com/eslint/eslint/commit/eccbe7bc9257a6c99880468e452c8dfafbf47f74"><code>eccbe7b</code></a> test: add error locations to <code>no-class-assign</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21123">#21123</a>) (devoil)</li> <li><a href="https://github.com/eslint/eslint/commit/e7d1e4373bf626f8da76d62ce024c28928bc99bc"><code>e7d1e43</code></a> ci: bump actions/setup-go from 6 to 7 (<a href="https://redirect.github.com/eslint/eslint/issues/21118">#21118</a>) (dependabot[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/e9d66d0cde1a7752c29dee53ab7b62632835a87a"><code>e9d66d0</code></a> ci: bump actions/setup-node from 6 to 7 (<a href="https://redirect.github.com/eslint/eslint/issues/21119">#21119</a>) (dependabot[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/ee225b60c26f0cc5f4d71641888a5bd2ec5626d6"><code>ee225b6</code></a> test: Add error location details to <code>no-eq-null</code> rule (<a href="https://redirect.github.com/eslint/eslint/issues/21117">#21117</a>) (Park Harin)</li> <li><a href="https://github.com/eslint/eslint/commit/044a627fa3e28ee1410d515acc5378eb4b49f8ba"><code>044a627</code></a> chore: update minimatch to ^10.2.5 (<a href="https://redirect.github.com/eslint/eslint/issues/21107">#21107</a>) (김채영)</li> <li><a href="https://github.com/eslint/eslint/commit/fb09aa8ff09730d3ccf68859e065f99666b52466"><code>fb09aa8</code></a> chore: update ecosystem plugins (<a href="https://redirect.github.com/eslint/eslint/issues/21115">#21115</a>) (ESLint Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/5abd878740fe417fd8a910cac3741f2a0317b365"><code>5abd878</code></a> test: add error locations to <code>no-proto</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21114">#21114</a>) (Gihyeon Jeong / 정기현)</li> <li><a href="https://github.com/eslint/eslint/commit/9715887ec94a5ff936447d7b680d039fbe2f0541"><code>9715887</code></a> test: Add error location details to <code>no-div-regex</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21110">#21110</a>) (Park Harin)</li> <li><a href="https://github.com/eslint/eslint/commit/a746ec6ea4a2249b1eb3f512264da5f4d5f7c886"><code>a746ec6</code></a> test: add error locations to <code>no-new-wrappers</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21109">#21109</a>) (Gihyeon Jeong / 정기현)</li> <li><a href="https://github.com/eslint/eslint/commit/8dde64570e240f3ef8af873d59a752db6d8519aa"><code>8dde645</code></a> test: add error locations to <code>no-ex-assign</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21102">#21102</a>) (devoil)</li> <li><a href="https://github.com/eslint/eslint/commit/13ab0ec447650c079d8a5e5d67222f79e69c741e"><code>13ab0ec</code></a> test: add error locations to <code>no-label-var</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21098">#21098</a>) (Gihyeon Jeong / 정기현)</li> <li><a href="https://github.com/eslint/eslint/commit/a99906ffb8342dde03336b5c6372b5658f21d5f2"><code>a99906f</code></a> test: Add error location details to <code>no-delete-var</code> rule (<a href="https://redirect.github.com/eslint/eslint/issues/21105">#21105</a>) (Park Harin)</li> <li><a href="https://github.com/eslint/eslint/commit/c47e8dc9bbfba797430db45ae08cb6f7392cfc9d"><code>c47e8dc</code></a> chore: add missing backticks to <code>languages/js/index.js</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21104">#21104</a>) (beeen)</li> <li><a href="https://github.com/eslint/eslint/commit/0174428dd7543d118cf67a823b98dd97032fe68c"><code>0174428</code></a> chore: add missing backticks to <code>translate-cli-options.js</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21097">#21097</a>) (dongkyu lee)</li> <li><a href="https://github.com/eslint/eslint/commit/3d36589a4917326500f0707bb41745160f387d00"><code>3d36589</code></a> chore: add missing backticks to <code>serialization.js</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21091">#21091</a>) (이규환)</li> <li><a href="https://github.com/eslint/eslint/commit/dcc9312c1081931de0fe1b555fbb6aa82fe696b9"><code>dcc9312</code></a> test: add error locations to <code>eqeqeq</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21090">#21090</a>) (Ga eun Lee)</li> <li><a href="https://github.com/eslint/eslint/commit/2710b182472cd1a95e4aff6186cb2c4fbadb4ee0"><code>2710b18</code></a> ci: Add explicit permissions to rebuild-docs-sites workflow (<a href="https://redirect.github.com/eslint/eslint/issues/21089">#21089</a>) (Marry (Subin Yang))</li> <li><a href="https://github.com/eslint/eslint/commit/5d2f8663ee60701e9036b0b0933a12efd9d93269"><code>5d2f866</code></a> chore: update dependency prettier to v3.9.5 (<a href="https://redirect.github.com/eslint/eslint/issues/21086">#21086</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/d584e31098f262563b97dc5d5f23a63a187879a0"><code>d584e31</code></a> chore: fix failing ecosystem test for <code>eslint-plugin-unicorn</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21084">#21084</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/bf3eda049bd690f1e9a5a0c4520a6329b3e4ec85"><code>bf3eda0</code></a> chore: update ecosystem plugins (<a href="https://redirect.github.com/eslint/eslint/issues/21079">#21079</a>) (ESLint Bot)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/eslint/eslint/commit/749dfed106f44d77bf3af2402ebfae20cdbf59ee"><code>749dfed</code></a> 10.8.0</li> <li><a href="https://github.com/eslint/eslint/commit/4bd0d75b22ffd44809a92659f113c972c5be0770"><code>4bd0d75</code></a> Build: changelog update for 10.8.0</li> <li><a href="https://github.com/eslint/eslint/commit/4fbf46d140120ae838db08cbe49544c985956490"><code>4fbf46d</code></a> test: pin <code>webpack</code> version to 5.108.4 (<a href="https://redirect.github.com/eslint/eslint/issues/21137">#21137</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/6ddf8587e5cfeeb7328332601bb76d98b8a198ea"><code>6ddf858</code></a> docs: fix broken Specify Parser Options anchor link (<a href="https://redirect.github.com/eslint/eslint/issues/21106">#21106</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/784dfbe98f0222426fd200153a5ce2e5624151f0"><code>784dfbe</code></a> docs: Clarify <code>no-eq-null</code> description (<a href="https://redirect.github.com/eslint/eslint/issues/21120">#21120</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/6b8d2f7589b8a7c8b91b8ca2a2ef6d46178760d8"><code>6b8d2f7</code></a> fix: escape reserved characters in rule id in <code>html</code> formatter (<a href="https://redirect.github.com/eslint/eslint/issues/21129">#21129</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/2d063e224e9bb0ccb0a28c120f7e380a8d62f320"><code>2d063e2</code></a> chore: update HTTP URLs to HTTPS in JSDoc and comments (<a href="https://redirect.github.com/eslint/eslint/issues/21101">#21101</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/eccbe7bc9257a6c99880468e452c8dfafbf47f74"><code>eccbe7b</code></a> test: add error locations to <code>no-class-assign</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21123">#21123</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/2fee9bb7416116cbed4d8c8100b1ae713b6356a1"><code>2fee9bb</code></a> feat: export <code>ConfigObject</code> from <code>eslint/config</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21082">#21082</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/e7d1e4373bf626f8da76d62ce024c28928bc99bc"><code>e7d1e43</code></a> ci: bump actions/setup-go from 6 to 7 (<a href="https://redirect.github.com/eslint/eslint/issues/21118">#21118</a>)</li> <li>Additional commits viewable in <a href="https://github.com/eslint/eslint/compare/v10.7.0...v10.8.0">compare view</a></li> </ul> </details> <br /> Updates `lint-staged` from 17.0.8 to 17.2.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/lint-staged/lint-staged/releases">lint-staged's releases</a>.</em></p> <blockquote> <h2>v17.2.0</h2> <h3>Minor Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1823">#1823</a> <a href="https://github.com/lint-staged/lint-staged/commit/ee156cc7039494f1db11f389b1233c78f588238c"><code>ee156cc</code></a> - The chunking of tasks based on maximum command line argument length has been re-implemented to be more precise. Now the chunking happens based on the final generated command string, instead of just the list of staged files like previously. This benefits mainly Windows platforms and function commands like:</p> <pre lang="js"><code>/** @type {import('lint-staged').Configuration} */ export default { "*.ts": () => "tsc", // Run "tsc" when any TS file is changed (for entire project) }; </code></pre> <p>Where the spawned command is literally <code>"tsc"</code> without any extra arguments. Previously, this was still chunked when a lot of files were staged. Now, it probably won't be chunked because the length of the command is just three letters.</p> <p>Also, native JavaScript/Node.js function tasks won't be chunked at all, when previously they were run multiple times when chunked:</p> <pre lang="js"><code>/** @type {import('lint-staged').Configuration} */ export default { "*.js": { title: "Log staged JS files to console", task: async (files) => { console.log("Staged JS files:", files); }, }, }; </code></pre> </li> </ul> <h2>v17.1.1</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1820">#1820</a> <a href="https://github.com/lint-staged/lint-staged/commit/a626a9f269d9ff6498a9b8245490e096f90c4bb7"><code>a626a9f</code></a> - It's now possible to set <code>--max-arg-length=Infinity</code> to effectively disable chunking of tasks based on the number of staged files. The parsing and validation of the numeric CLI options <code>--max-arg-length</code> and <code>--concurrency</code> has been improved.</li> </ul> <h2>v17.1.0</h2> <h3>Minor Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1816">#1816</a> <a href="https://github.com/lint-staged/lint-staged/commit/7568d4fb15ba3c3317a7aec36195461cb2f272d7"><code>7568d4f</code></a> - The console output of <em>lint-staged</em> has been simplified so that there's less interactive spinners and more explicit messages like <em>"Started…</em>" -> "<em>Done!</em>". The primary purpose of this was to remove <a href="https://github.com/listr2/listr2"><code>Listr2</code></a>, a very large dependency.</p> <p><strong>Before:</strong></p> <p>Size of <code>node_modules/</code> after installing: <code>1561.7 kB</code> with 29 packages.</p> <p>Fancy interactive spinners, but output dynamically changes:</p> <pre lang="shell"><code>✔ Backed up original state in git stash (0b191303) ✔ Running tasks for staged files... ✔ Staging changes from tasks... ✔ Cleaning up temporary files... </code></pre> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md">lint-staged's changelog</a>.</em></p> <blockquote> <h2>17.2.0</h2> <h3>Minor Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1823">#1823</a> <a href="https://github.com/lint-staged/lint-staged/commit/ee156cc7039494f1db11f389b1233c78f588238c"><code>ee156cc</code></a> - The chunking of tasks based on maximum command line argument length has been re-implemented to be more precise. Now the chunking happens based on the final generated command string, instead of just the list of staged files like previously. This benefits mainly Windows platforms and function commands like:</p> <pre lang="js"><code>/** @type {import('lint-staged').Configuration} */ export default { "*.ts": () => "tsc", // Run "tsc" when any TS file is changed (for entire project) }; </code></pre> <p>Where the spawned command is literally <code>"tsc"</code> without any extra arguments. Previously, this was still chunked when a lot of files were staged. Now, it probably won't be chunked because the length of the command is just three letters.</p> <p>Also, native JavaScript/Node.js function tasks won't be chunked at all, when previously they were run multiple times when chunked:</p> <pre lang="js"><code>/** @type {import('lint-staged').Configuration} */ export default { "*.js": { title: "Log staged JS files to console", task: async (files) => { console.log("Staged JS files:", files); }, }, }; </code></pre> </li> </ul> <h2>17.1.1</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1820">#1820</a> <a href="https://github.com/lint-staged/lint-staged/commit/a626a9f269d9ff6498a9b8245490e096f90c4bb7"><code>a626a9f</code></a> - It's now possible to set <code>--max-arg-length=Infinity</code> to effectively disable chunking of tasks based on the number of staged files. The parsing and validation of the numeric CLI options <code>--max-arg-length</code> and <code>--concurrency</code> has been improved.</li> </ul> <h2>17.1.0</h2> <h3>Minor Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1816">#1816</a> <a href="https://github.com/lint-staged/lint-staged/commit/7568d4fb15ba3c3317a7aec36195461cb2f272d7"><code>7568d4f</code></a> - The console output of <em>lint-staged</em> has been simplified so that there's less interactive spinners and more explicit messages like <em>"Started…</em>" -> "<em>Done!</em>". The primary purpose of this was to remove <a href="https://github.com/listr2/listr2"><code>Listr2</code></a>, a very large dependency.</p> <p><strong>Before:</strong></p> <p>Size of <code>node_modules/</code> after installing: <code>1561.7 kB</code> with 29 packages.</p> <p>Fancy interactive spinners, but output dynamically changes:</p> <pre lang="shell"><code>✔ Backed up original state in git stash (0b191303) ✔ Running tasks for staged files... </code></pre> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/lint-staged/lint-staged/commit/fb540fba1513a83a6be3fa31aeed4eae679c3e31"><code>fb540fb</code></a> Merge pull request <a href="https://redirect.github.com/lint-staged/lint-staged/issues/1824">#1824</a> from lint-staged/changeset-release/main</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/dc0a738a1b39033804667b3df3fb0f71cb03708a"><code>dc0a738</code></a> chore(changeset): release</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/60cbb8818f8c0d51d6d1e4c59c7a9e558d8fffe1"><code>60cbb88</code></a> Merge pull request <a href="https://redirect.github.com/lint-staged/lint-staged/issues/1823">#1823</a> from lint-staged/reimplement-chunk-files</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/2354dc42686e2c2bff4a5dff3abd57f3cc69624e"><code>2354dc4</code></a> build(deps): update dependencies</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/0516e7fa9bc8a05aee922872f4ebe5d9c21a8213"><code>0516e7f</code></a> docs: adjust debug logs</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/e22f6ede988cc6efe7c0065dcb8cb1408f2584dd"><code>e22f6ed</code></a> style: run <code>oxfmt</code> on README.md</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/37e8e1ad73a58c0b187716bd5172744ad50f36d1"><code>37e8e1a</code></a> fix: restore chunking of git add command after running tasks</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/2c75f1d0f2cc2c28c7191c48beafb281e3d1e78e"><code>2c75f1d</code></a> chore: remove unused file</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/ee156cc7039494f1db11f389b1233c78f588238c"><code>ee156cc</code></a> feat: add improved lazy-chunking of command strings</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/baa7c987f68e0c338b1fd5ad751da05e9cbe238d"><code>baa7c98</code></a> feat: remove current <code>chunkFiles</code> implementation</li> <li>Additional commits viewable in <a href="https://github.com/lint-staged/lint-staged/compare/v17.0.8...v17.2.0">compare view</a></li> </ul> </details> <br /> Updates `prettier` from 3.9.5 to 3.9.6 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/prettier/prettier/releases">prettier's releases</a>.</em></p> <blockquote> <h2>3.9.6</h2> <h2>What's Changed</h2> <ul> <li>Preserve quotes for methods named <code>new</code> (<a href="https://redirect.github.com/prettier/prettier/pull/19621">prettier/prettier#19621</a> by <a href="https://github.com/kovsu"><code>@kovsu</code></a>)</li> <li>Support <code>import defer</code> in <code>typescript</code> parser (<a href="https://redirect.github.com/prettier/prettier/pull/19624">prettier/prettier#19624</a>, <a href="https://redirect.github.com/prettier/prettier/pull/19675">prettier/prettier#19675</a> by <a href="https://github.com/fisker"><code>@fisker</code></a>)</li> <li>Added a new official plugin <a href="https://github.com/prettier/prettier/tree/3.9.6/packages/plugin-yuku"><code>@prettier/plugin-yuku</code> 🚀</a> (<a href="https://redirect.github.com/prettier/prettier/pull/19628">prettier/prettier#19628</a>, <a href="https://redirect.github.com/prettier/prettier/pull/19629">prettier/prettier#19629</a> by <a href="https://github.com/fisker"><code>@fisker</code></a>)</li> </ul> <p>🔗 <a href="https://github.com/prettier/prettier/blob/3.9.6/CHANGELOG.md#396">Changelog</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md">prettier's changelog</a>.</em></p> <blockquote> <h1>3.9.6</h1> <p><a href="https://github.com/prettier/prettier/compare/3.9.5...3.9.6">diff</a></p> <h4>TypeScript: Preserve quotes for methods named <code>new</code> (<a href="https://redirect.github.com/prettier/prettier/pull/19621">#19621</a> by <a href="https://github.com/kovsu"><code>@kovsu</code></a>)</h4> <!-- raw HTML omitted --> <pre lang="tsx"><code>// Input interface Container { "new"(id: string): number; } <p>// Prettier 3.9.5<br /> interface Container {<br /> new(id: string): number;<br /> }</p> <p>// Prettier 3.9.6<br /> interface Container {<br /> "new"(id: string): number;<br /> }<br /> </code></pre></p> <h4>TypeScript: Support <code>import defer</code> (<a href="https://redirect.github.com/prettier/prettier/pull/19624">#19624</a>, <a href="https://redirect.github.com/prettier/prettier/pull/19675">#19675</a> by <a href="https://github.com/fisker"><code>@fisker</code></a>)</h4> <!-- raw HTML omitted --> <pre lang="tsx"><code>// Input import defer * as foo from "foo"; <p>// Prettier 3.9.5<br /> import * as foo from "foo";</p> <p>// Prettier 3.9.6<br /> import defer * as foo from "foo";<br /> </code></pre></p> <h4>JavaScript: Added a new official plugin <code>@prettier/plugin-yuku</code> (<a href="https://redirect.github.com/prettier/prettier/pull/19628">#19628</a>, <a href="https://redirect.github.com/prettier/prettier/pull/19629">#19629</a> by <a href="https://github.com/fisker"><code>@fisker</code></a>)</h4> <p><code>@prettier/plugin-yuku</code> is powered by <a href="https://yuku.fyi/">Yuku</a> (A high-performance JavaScript/TypeScript compiler toolchain written in Zig).</p> <p>This plugin includes two new parsers: <code>yuku</code> (JavaScript syntax) and <code>yuku-ts</code> (TypeScript syntax).</p> <p><strong>To use this plugin:</strong></p> <ol> <li> <p>Install the plugin:</p> <pre lang="bash"><code>yarn add --dev prettier @prettier/plugin-yuku </code></pre> </li> </ol> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/prettier/prettier/commit/8f0c95057cc91d5836409466cd9d9af3bb901e84"><code>8f0c950</code></a> Release 3.9.6</li> <li><a href="https://github.com/prettier/prettier/commit/e9107647d0497d8ff1cacbb0f970d4543df77c1c"><code>e910764</code></a> Update changelog</li> <li><a href="https://github.com/prettier/prettier/commit/ec3f1c7bd74495992bc6954323a1a7fc8368808e"><code>ec3f1c7</code></a> Update typescript-eslint to v8.65.0 (<a href="https://redirect.github.com/prettier/prettier/issues/19675">#19675</a>)</li> <li><a href="https://github.com/prettier/prettier/commit/73d2efc2c6cba6f579585c88ef171132d90834ec"><code>73d2efc</code></a> Update Yuku parser to v0.7.0 (<a href="https://redirect.github.com/prettier/prettier/issues/19664">#19664</a>)</li> <li><a href="https://github.com/prettier/prettier/commit/dd5e24eabeab1f75ad573c79781e5fd408bcfad3"><code>dd5e24e</code></a> Preserve quotes for <code>TSMethodSignature</code> nodes named <code>new</code> (<a href="https://redirect.github.com/prettier/prettier/issues/19621">#19621</a>)</li> <li><a href="https://github.com/prettier/prettier/commit/c03ab4e71c23154d6b11537eee3c938f0d0f67d3"><code>c03ab4e</code></a> Update dependency eslint-plugin-unicorn to v72 (<a href="https://redirect.github.com/prettier/prettier/issues/19633">#19633</a>)</li> <li><a href="https://github.com/prettier/prettier/commit/b74dd53076c7208291a6b2e585c310844b41d35f"><code>b74dd53</code></a> Update Yuku parser to v0.6.5 (<a href="https://redirect.github.com/prettier/prettier/issues/19654">#19654</a>)</li> <li><a href="https://github.com/prettier/prettier/commit/f1b594ea1db1520c383d0e281d623551f671f824"><code>f1b594e</code></a> Update dependency eslint-plugin-simple-import-sort to v14 (<a href="https://redirect.github.com/prettier/prettier/issues/19655">#19655</a>)</li> <li><a href="https://github.com/prettier/prettier/commit/0d9dfb61530986373000dd107ea58ceebb79e233"><code>0d9dfb6</code></a> Update Yuku parser to v0.6.4 (<a href="https://redirect.github.com/prettier/prettier/issues/19650">#19650</a>)</li> <li><a href="https://github.com/prettier/prettier/commit/3bbb8159eb55575d4042653aa99f5f92a1416c19"><code>3bbb815</code></a> Remove <code>typescript-only</code> directory (<a href="https://redirect.github.com/prettier/prettier/issues/19636">#19636</a>)</li> <li>Additional commits viewable in <a href="https://github.com/prettier/prettier/compare/3.9.5...3.9.6">compare view</a></li> </ul> </details> <br /> Updates `sinon` from 22.0.0 to 22.1.0 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sinonjs/sinon/blob/main/CHANGES.md">sinon's changelog</a>.</em></p> <blockquote> <h2>22.1.0</h2> <ul> <li><a href="https://github.com/sinonjs/sinon/commit/d36e921baf382598cfa9323cb672c87ce85e2ad5"><code>d36e921b</code></a> fix: let returns override returnsArg (王胜) <blockquote> <p>Signed-off-by: 王胜 <a href="mailto:[email protected]">[email protected]</a></p> </blockquote> </li> <li><a href="https://github.com/sinonjs/sinon/commit/40c4caa0f47b8fb184319a8873bac616c3eef871"><code>40c4caa0</code></a> fix: align restoreObject docs test with idempotent behavior (<a href="https://redirect.github.com/sinonjs/sinon/issues/2745">#2745</a>) (Julia Miller) <blockquote> <p>restoreObject was made idempotent in <a href="https://redirect.github.com/sinonjs/sinon/issues/2737">#2737</a> — it no longer throws for objects with no restorable methods. Updates the docs page and its corresponding test to reflect this.</p> </blockquote> </li> <li><a href="https://github.com/sinonjs/sinon/commit/a68dac198c6d0d9ce797dc9178d0c57ea6455aab"><code>a68dac19</code></a> fix: throw a clear error when throwArg index equals the argument count (<a href="https://redirect.github.com/sinonjs/sinon/issues/2743">#2743</a>) (spokodev) <blockquote> <ul> <li>fix: throw a clear error when throwArg index equals the argument count</li> </ul> <p>spyCall.throwArg(pos) guarded with pos > this.args.length, so calling it with pos equal to the number of recorded arguments slipped past the guard and reached throw this.args[pos], throwing undefined instead of the intended TypeError. A thrown undefined cannot be inspected as an Error and is reported by test frameworks as no exception thrown.</p> <p>Use >= to match ensureArgs in behavior.js and the sibling callArg helpers, which already reject an out-of-range index with a clear error.</p> </blockquote> </li> <li><a href="https://github.com/sinonjs/sinon/commit/9ea504e317e9a27c376a9740bc04ec75f699ed30"><code>9ea504e3</code></a> feat: make sinon.restoreObject idempotent (<a href="https://redirect.github.com/sinonjs/sinon/issues/2737">#2737</a>) (Ilia Choly) <blockquote> <p>Passing an object with no live fakes to restoreObject now restores nothing instead of throwing, giving it symmetry with sinon.restore() and sandbox.restore(). The strict "found no methods" check is retained for spy(object) and stub(object), which now use a dedicated walkObjectStrict export, while restoreObject uses the loose walkObject. Passing a falsy value still throws.</p> <p>Fixes <a href="https://redirect.github.com/sinonjs/sinon/issues/2736">#2736</a></p> </blockquote> </li> <li><a href="https://github.com/sinonjs/sinon/commit/4db4feffe19d3f117d46b9015b4890187a282cf0"><code>4db4feff</code></a> fix: preserve fake undefined argument validation (Vishal Kumar Singh)</li> <li><a href="https://github.com/sinonjs/sinon/commit/755a40d772b02a7ba7e9a1d465a5f26d486ebbdb"><code>755a40d7</code></a> fix: isolate callId counter per sandbox for parallel test support (Vishal Kumar Singh) <blockquote> <p>The global callId counter in proxy-invoke.js caused calledImmediatelyBefore and calledImmediatelyAfter to fail when tests run in parallel with separate sandboxes. Each sandbox now maintains its own callId counter, passed through the spy/stub/fake creation chain via a context object.</p> <p>Fixes <a href="https://redirect.github.com/sinonjs/sinon/issues/2472">#2472</a></p> </blockquote> </li> </ul> <p><em>Released by Morgan Roderick on 2026-07-20.</em></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/sinonjs/sinon/commit/ab289e92cdd76caf8cec2b0a8c9a391283e6c9df"><code>ab289e9</code></a> 22.1.0</li> <li><a href="https://github.com/sinonjs/sinon/commit/bb3b75ad7422f0e2e74b10d71378598b6ea475c3"><code>bb3b75a</code></a> chore: remove Jekyll steps from version hook</li> <li><a href="https://github.com/sinonjs/sinon/commit/bb38f25179598e9306c3b8cbd76a74887e6d5836"><code>bb38f25</code></a> chore: run docs tests in preversion hook</li> <li><a href="https://github.com/sinonjs/sinon/commit/d36e921baf382598cfa9323cb672c87ce85e2ad5"><code>d36e921</code></a> fix: let returns override returnsArg</li> <li><a href="https://github.com/sinonjs/sinon/commit/11db21399208b1ece7834031bbe9f86559cef79d"><code>11db213</code></a> ci: run docs tests on every PR (<a href="https://redirect.github.com/sinonjs/sinon/issues/2746">#2746</a>)</li> <li><a href="https://github.com/sinonjs/sinon/commit/40c4caa0f47b8fb184319a8873bac616c3eef871"><code>40c4caa</code></a> fix: align restoreObject docs test with idempotent behavior (<a href="https://redirect.github.com/sinonjs/sinon/issues/2745">#2745</a>)</li> <li><a href="https://github.com/sinonjs/sinon/commit/5ccb7fd4ee1556ca528b7f7168a8a5bd4cadab15"><code>5ccb7fd</code></a> build(deps): bump the action-deps group with 4 updates (<a href="https://redirect.github.com/sinonjs/sinon/issues/2744">#2744</a>)</li> <li><a href="https://github.com/sinonjs/sinon/commit/a68dac198c6d0d9ce797dc9178d0c57ea6455aab"><code>a68dac1</code></a> fix: throw a clear error when throwArg index equals the argument count (<a href="https://redirect.github.com/sinonjs/sinon/issues/2743">#2743</a>)</li> <li><a href="https://github.com/sinonjs/sinon/commit/9ea504e317e9a27c376a9740bc04ec75f699ed30"><code>9ea504e</code></a> feat: make sinon.restoreObject idempotent (<a href="https://redirect.github.com/sinonjs/sinon/issues/2737">#2737</a>)</li> <li><a href="https://github.com/sinonjs/sinon/commit/cf5d9e8de1a5307ed7b329b6306ee86982453db7"><code>cf5d9e8</code></a> fix: remove dead link and exclude code example URLs from link check</li> <li>Additional commits viewable in <a href="https://github.com/sinonjs/sinon/compare/v22.0.0...v22.1.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) from 12.7.3 to 13.1.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/absolute-version/commit-and-tag-version/releases">commit-and-tag-version's releases</a>.</em></p> <blockquote> <h2>v13.1.0</h2> <h2><a href="https://github.com/absolute-version/commit-and-tag-version/compare/v13.0.0...v13.1.0">13.1.0</a> (2026-07-21)</h2> <h3>Features</h3> <ul> <li>support ESM configuration files (<a href="https://redirect.github.com/absolute-version/commit-and-tag-version/issues/306">#306</a>) (<a href="https://github.com/absolute-version/commit-and-tag-version/commit/9e0e5ab7ec8cf8a465b63d3858634126cd040542">9e0e5ab</a>)</li> </ul> <h2>v13.0.0</h2> <h2><a href="https://github.com/absolute-version/commit-and-tag-version/compare/v12.7.3...v13.0.0">13.0.0</a> (2026-07-18)</h2> <h3>⚠ BREAKING CHANGES</h3> <ul> <li>Update all conventional-changelog dependencies to their modern version. There are a few breaking changes that will affect users with custom presets, please see MIGRATION.md. This also raises the node minimum to node 22.</li> <li>This package is now pure ESM. CLI uses should be unaffected. This raises the minimum engine to 20.19, and anyone using require will need to <code>require('commit-and-tag-version').default</code></li> </ul> <h3>deps</h3> <ul> <li>Update all conventional-changelog dependencies to their modern version. There are a few breaking changes that will affect users with custom presets, please see MIGRATION.md. This also raises the node minimum to node 22. (<a href="https://github.com/absolute-version/commit-and-tag-version/commit/c2d26bf0b5692de6c357104613557f5bd41c95da">c2d26bf</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>maven:</strong> preserve comments in pom.xml (<a href="https://redirect.github.com/absolute-version/commit-and-tag-version/issues/294">#294</a>) (<a href="https://github.com/absolute-version/commit-and-tag-version/commit/cbb60100f194877924d9cb98587aa8b2591b8318">cbb6010</a>)</li> </ul> <h3>Code Refactoring</h3> <ul> <li>This package is now pure ESM. CLI uses should be unaffected. This raises the minimum engine to 20.19, and anyone using require will need to <code>require('commit-and-tag-version').default</code> (<a href="https://github.com/absolute-version/commit-and-tag-version/commit/89ba82eae4e2a167a5272c88a51d24a4e0a6b5da">89ba82e</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/absolute-version/commit-and-tag-version/blob/master/CHANGELOG.md">commit-and-tag-version's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/absolute-version/commit-and-tag-version/compare/v13.0.0...v13.1.0">13.1.0</a> (2026-07-21)</h2> <h3>Features</h3> <ul> <li>support ESM configuration files (<a href="https://redirect.github.com/absolute-version/commit-and-tag-version/issues/306">#306</a>) (<a href="https://github.com/absolute-version/commit-and-tag-version/commit/9e0e5ab7ec8cf8a465b63d3858634126cd040542">9e0e5ab</a>)</li> </ul> <h2><a href="https://github.com/absolute-version/commit-and-tag-version/compare/v12.7.3...v13.0.0">13.0.0</a> (2026-07-18)</h2> <h3>⚠ BREAKING CHANGES</h3> <ul> <li>Update all conventional-changelog dependencies to their modern version. There are a few breaking changes that will affect users with custom presets, please see MIGRATION.md. This also raises the node minimum to node 22.</li> <li>This package is now pure ESM. CLI uses should be unaffected. This raises the minimum engine to 20.19, and anyone using require will need to <code>require('commit-and-tag-version').default</code></li> </ul> <h3>deps</h3> <ul> <li>Update all conventional-changelog dependencies to their modern version. There are a few breaking changes that will affect users with custom presets, please see MIGRATION.md. This also raises the node minimum to node 22. (<a href="https://github.com/absolute-version/commit-and-tag-version/commit/c2d26bf0b5692de6c357104613557f5bd41c95da">c2d26bf</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>maven:</strong> preserve comments in pom.xml (<a href="https://redirect.github.com/absolute-version/commit-and-tag-version/issues/294">#294</a>) (<a href="https://github.com/absolute-version/commit-and-tag-version/commit/cbb60100f194877924d9cb98587aa8b2591b8318">cbb6010</a>)</li> </ul> <h3>Code Refactoring</h3> <ul> <li>This package is now pure ESM. CLI uses should be unaffected. This raises the minimum engine to 20.19, and anyone using require will need to <code>require('commit-and-tag-version').default</code> (<a href="https://github.com/absolute-version/commit-and-tag-version/commit/89ba82eae4e2a167a5272c88a51d24a4e0a6b5da">89ba82e</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/absolute-version/commit-and-tag-version/commit/2a344ca68e36892311b3a35dacf9cd6302a55510"><code>2a344ca</code></a> chore(master): release 13.1.0 (<a href="https://redirect.github.com/absolute-version/commit-and-tag-version/issues/307">#307</a>)</li> <li><a href="https://github.com/absolute-version/commit-and-tag-version/commit/9e215d6658620fd81aa1c877d5538192691f9cd2"><code>9e215d6</code></a> build(deps): bump detect-indent from 6.1.0 to 7.0.2 (<a href="https://redirect.github.com/absolute-version/commit-and-tag-version/issues/284">#284</a>)</li> <li><a href="https://github.com/absolute-version/commit-and-tag-version/commit/14e37e56c724faf6018dde7e61b95be6eeb40e41"><code>14e37e5</code></a> build(deps-dev): bump strip-ansi from 6.0.1 to 7.2.0 (<a href="https://redirect.github.com/absolute-version/commit-and-tag-version/issues/286">#286</a>)</li> <li><a href="https://github.com/absolute-version/commit-and-tag-version/commit/9e0e5ab7ec8cf8a465b63d3858634126cd040542"><code>9e0e5ab</code></a> feat: support ESM configuration files (<a href="https://redirect.github.com/absolute-version/commit-and-tag-version/issues/306">#306</a>)</li> <li><a href="https://github.com/absolute-version/commit-and-tag-version/commit/7c74df63be9c61745ad93eb2bff8f7268c943f17"><code>7c74df6</code></a> build(deps): bump actions/checkout from 7.0.0 to 7.0.1 (<a href="https://redirect.github.com/absolute-version/commit-and-tag-version/issues/303">#303</a>)</li> <li><a href="https://github.com/absolute-version/commit-and-tag-version/commit/98ac008d75a80127e14282982875d431d7c215ec"><code>98ac008</code></a> build(deps): bump actions/setup-node from 6 to 7 (<a href="https://redirect.github.com/absolute-version/commit-and-tag-version/issues/304">#304</a>)</li> <li><a href="https://github.com/absolute-version/commit-and-tag-version/commit/00c0a5ed4b9f93d76b3e34a1177e5fec4797e87c"><code>00c0a5e</code></a> build(deps): bump chalk from 2.4.2 to 5.6.2 (<a href="https://redirect.github.com/absolute-version/commit-and-tag-version/issues/305">#305</a>)</li> <li><a href="https://github.com/absolute-version/commit-and-tag-version/commit/ddb4ed4d830ae8ccb9797fd78a06450d7400ad77"><code>ddb4ed4</code></a> test: make fs mocks tolerate non-string paths from the module loader (<a href="https://redirect.github.com/absolute-version/commit-and-tag-version/issues/302">#302</a>)</li> <li><a href="https://github.com/absolute-version/commit-and-tag-version/commit/1ac8d4d44a11965f0eaeb99ca690c37859726761"><code>1ac8d4d</code></a> chore(master): release 13.0.0 (<a href="https://redirect.github.com/absolute-version/commit-and-tag-version/issues/301">#301</a>)</li> <li><a href="https://github.com/absolute-version/commit-and-tag-version/commit/59ece916feda62466905d0ea10981f92c752e500"><code>59ece91</code></a> build(deps): bump codecov/codecov-action from 6 to 7 (<a href="https://redirect.github.com/absolute-version/commit-and-tag-version/issues/297">#297</a>)</li> <li>Additional commits viewable in <a href="https://github.com/absolute-version/commit-and-tag-version/compare/v12.7.3...v13.1.0">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by <a href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new releaser for commit-and-tag-version since your current version.</p> </details> <br /> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
) Follow-up to #5248. Since that change, `role-img-alt` and `svg-img-alt` match both `role="img"` and `role="image"` (via `:is([role='img'], [role='image'])`), but their metadata still named only `img` — so an author who wrote `<div role="image">` got a message referencing a role they didn't write. ## Changes - **`role-img-alt`** — description/help now name `[role="img"]` **and** `[role="image"]`. - **`svg-img-alt`** — description/help now include the `image` role alongside `img`/`graphics-document`/`graphics-symbol`. - Regenerated `locales/_template.json` and `doc/rule-descriptions.md` (via `pnpm run build`). ## Notes - Editing these four strings **invalidates the existing translations** for those keys until they're retranslated — this was deliberately deferred from #5248 and is expected. Only `locales/_template.json` is regenerated here; the translated `locales/*.json` files are left for the translation workflow. - A **matching `axe-rule-help` update** (the `role-img-alt`/`svg-img-alt` help pages) is a follow-up, tracked separately. Closes #5272
Models `presentation` as a synonym of `none` and removes the hardcoded `['none', 'presentation']` membership checks, per [@WilcoFiers on #4656](#4656). > **Stacked PR** — targets `chut/4656-role-image-synonym` (#4656), which introduced the `synonym` mechanism this builds on. GitHub will auto-retarget to `develop` once #4656 merges. ## What & why Uses the `synonym` mechanism from #4656: - `presentation` role gets `synonym: 'none'`, so `getExplicitRole`/`getRole` resolve it to the canonical `none`. - The **implicit** presentation role (empty-alt `<img>`) is also normalized to `none` at the data level (`implicit-html-roles.js`), so `getRole` never returns `'presentation'` from *either* the explicit or implicit path. With role resolution always yielding `none`, the scattered `['none', 'presentation'].includes(role)` checks that read from `getRole`/`getExplicitRole` collapse to a single `role === 'none'` — 18 sites simplified. ## Intentionally left with both terms - `fallbackrole-evaluate.js` — reads **raw** `role` attribute tokens (`tokenList`), so it needs the literal `presentation` and `none` tokens. - `presentation-role-conflict.json` (CSS selector) and `html-elms.js` `allowedRoles` arrays — raw/selector paths. - `lookup-table.js` `evaluateRoleForElement` — has no call sites, so its input couldn't be verified as normalized. ## Behavior note `getRole`/`getExplicitRole` now return `'none'` where they previously could return `'presentation'` (they're synonyms — `none` is the canonical term). **End-to-end rule results are unchanged** (all integration + virtual-rule suites pass without expectation changes); only internal `commons` role-resolution output and the corresponding unit-test expectations changed. ## Tests - `implicit-role`, `get-role` (13 inheritance cases), `presentational-role`, `aria-allowed-role` — result expectations updated `presentation`→`none`. - Full `commons` / `checks` / integration / virtual-rule suites green; no generated-file drift. Closes #5249 Co-authored-by: Steven Lambert <[email protected]>
…5240) Restricts the roles allowed on a `<figure>` element when it has a child `<figcaption>`, per the ARIA in HTML update. ## What & why Per [ARIA in HTML](https://www.w3.org/TR/html-aria/) (`#el-figure`, [w3c/html-aria#415](w3c/html-aria#415)): - A `figure` **with** a valid `figcaption` descendant allows **no role other than `figure`**, plus the DPub role **`doc-example`**. - A `figure` **without** a `figcaption` allows **any role** (though `figure` itself is NOT RECOMMENDED) — unchanged. axe previously modeled `figure` with a flat `allowedRoles: true` and an inline comment admitting it couldn't match the figcaption case. This replaces that with a `variant` using a `condition` matcher. ## Implementation notes - The implicit `figure` role still passes via the existing `allowImplicit` short-circuit, so the with-figcaption branch only needs `allowedRoles: ['doc-example']`. - The matcher checks **direct children** (`vNode.children?.some(...)`), not a descendant walk: HTML's content model only permits `figcaption` as the first/last child of `figure`, and a direct-child check avoids a nested-`<figure>` false match (an inner figure's figcaption wrongly restricting the outer figure). ## Behavior change A `<figure>` with a `<figcaption>` and an explicit role other than `figure`/`doc-example` (including `role="none"`/`role="presentation"`) now flags on `aria-allowed-role` (minor impact). This is spec-correct but will surface new findings for existing users. ## Tests - `get-element-spec` unit — variant resolution with/without figcaption. - `is-aria-role-allowed-on-element` and `aria-allowed-role` check units — incl. an open **Shadow DOM** case. - `aria-allowed-role` virtual-rule — figcaption-child cases (built with `SerialVirtualNode`) plus the no-figcaption default. - `aria-allowed-role` integration HTML/JSON — pass (`doc-example`, implicit `figure`) and violation (`group`) cases; existing no-figcaption pass retained as a regression anchor. Closes #3443 --------- Co-authored-by: Steven Lambert <[email protected]>
Updates the roles allowed on a `<summary>` element based on whether it is its parent `<details>` element's disclosure trigger, per the ARIA in HTML update. ## What & why Per [ARIA in HTML](https://www.w3.org/TR/html-aria/) (`#el-summary`, [w3c/html-aria#435](w3c/html-aria#435)): - A `summary` that **is** the "summary for its parent `details`" (the first `summary` child of a `details`) allows **no explicit role** — browsers expose it as the disclosure trigger. - A `summary` that is **not** the details summary (standalone, or a 2nd+ `summary`) is exposed as generic and allows **any role**. axe previously modeled `summary` with an unconditional `allowedRoles: false`. This converts it to a `variant` using a `condition` matcher (the same pattern introduced for `figure` in #3443). ## Scope — role side only Issue #3911 covers both the allowed **roles** and the allowed **`aria-*` attributes** for `summary`. This PR implements the **role** side. The attribute side (the spec disallows `aria-expanded`/`aria-pressed` on a details-summary) is intentionally deferred — it requires an element-level disallowed-attribute mechanism axe does not have today, and is tracked in **#5241**. ## Behavior change A standalone / non-details `<summary>` now permits **any** role, where previously only the implicit `button` role was allowed. This is a spec-correct loosening; a `<details>`-summary's role handling is unchanged in effect (still restricted to its implicit `button` role). ## Tests - `get-element-spec` unit — variant resolution for the three cases (details summary, non-first summary, standalone). - `aria-allowed-role` check unit — incl. an open **Shadow DOM** case. - `aria-allowed-role` virtual-rule — details/summary structures built with `SerialVirtualNode`, incl. the no-parent default. - `aria-allowed-role` integration HTML/JSON — first-summary fail, 2nd-summary pass, standalone pass, implicit-button pass. Closes #3911 --------- Co-authored-by: Steven Lambert <[email protected]>
…5273) Fixes #5204. When an element's attribute value contains a C0 control character (observed: form feed `U+000C`), `generateSelector` emitted it raw into an attribute selector. In CSS, form feed is a string-terminating newline, so `img[alt=" \f¼"]` is **invalid**, `Element.matches` throws inside `getNthChildString`, and the **entire `axe.run()` fails** — one bad attribute value on a page kills the whole audit. ## Fix `escapeAttribute` (in `lib/core/utils/get-selector.js`) previously escaped only `\`, `"`, and CR/LF newlines — missing form feed and every other control character. It now escapes **all C0 control characters (`U+0000–U+001F`) and DEL (`U+007F`)** as CSS numeric escapes (`\<hex> `), which subsumes the existing newline handling (`U+000A` → `\a `, `U+000C` → `\c `). This matches the issue's minimal proof that `CSS.escape('\f')` produces a valid selector. ## Compatibility No behavior change for existing cases: newline (`U+000A`) still escapes to `\a `. CR and CRLF now escape to `\d `/`\d \a ` (previously both collapsed to `\a `) — more correct round-tripping, and not covered by any existing test. All existing `get-selector` escape tests still pass. ## Test `test/core/utils/get-selector.js` — an attribute value containing form feed, vertical tab, and `U+001F` now produces a valid selector that both matches the expected escaped string and passes `matchesSelector` (which threw on the pre-fix code). Confirmed by @straker on the issue. Closes #5204
Removes the `axe._enableElementInternals` feature flag, graduating ElementInternals support to on-by-default. Closes #5277. ## Changes - **`lib/core/base/virtual-node/virtual-node.js`** — the `elementInternals` getter no longer gates on the flag, so ElementInternals is always computed. This also un-gates the `externalAPIs` `getElementInternals` path, which relied on this getter. - **Tests** — removed the flag setup and flag-specific tests: the global toggle in `testutils.js`, the `afterEach` hooks that reset it, and the "feature flag on/off" and "requires the feature flag" tests. Existing tests (`caches`/`sets`/`gets element internals`, the external-apis "correctly sets…" test) continue to cover the behavior. - **Docs** — removed the "behind a feature flag" instructions from `doc/element-internals.md` and `doc/external-apis.md`. ## Notes Per the ElementInternals epic, the commons ElementInternals surface is unreleased, so removing the flag is not a breaking change — it's the feature landing on by default. Verified: no `_enableElementInternals` references remain; `virtual-node` + `native-text-alternative` unit tests pass; the `external-apis` full integration test passes (3/3) with the flag gone.
Adds a regression test for #4335, where `axe.run` threw **`TypeError: Cannot read properties of undefined (reading 'props')`** when a `<section>`'s `aria-labelledby` referenced a `<slot>` in the same shadow root. The slot is not tracked in axe's virtual tree, so accessible-name computation dereferenced an undefined virtual node. ## Already fixed — this is a regression test The underlying error is **already resolved on `develop`** by the move to `getAccessibleRefs` for accessible-name idref lookups. Per review guidance (Steve / Wilco), the goal is only to **guarantee the error stays fixed — not to add `<slot>` support**. So this PR adds test coverage only; there are no `lib/` changes. ## The test `test/integration/full/aria-labelledby-slot/` — a full integration test that builds Steve's exact repro (a shadow root with `<section aria-labelledby="foo">` + `<slot id="foo">`), runs `axe.run`, and asserts: 1. it does not throw, 2. no result carries the `Cannot read properties` error, and 3. the shadow DOM content is actually evaluated (guards against a silent no-op). ### Why all rules instead of just `aria-allowed-role` The original stack trace ran through `aria-allowed-role` → `getElementUnallowedRoles`. On current `develop`, `aria-allowed-role` is **inapplicable** to a role-less `<section>`, so a rule-scoped test there would be a no-op. Per Steve's note that axe-core 4.11.1 produced errored incomplete results on `axe.run` for this page, the test runs the full rule set — which I confirmed exercises the section (5 rules) and would have failed pre-fix. Closes #4335
…low label and body from being named (#5259) After looking over the HTML in ARIA spec, I realized that we could better handle how we determine when an attribute is prohibited. Basically if the element doesn't have an explicit role, then we use the `htmlElm` spec to determine prohibited attrs and naming, otherwise we use the `ariaRoles` spec to determine that. This should allow us to eliminate the `elementsAllowedAriaLabel` option that was [introduced to fix which elements allowed naming](#2935) and then modified when we [added Chromium roles](#2948) to fix conflict name resolution. However the option still has the `applet` element which isn't in our html spec so I'm leaving it for now. Elements which allow naming now include: `section`, `blockquote`, `address`, `hgroup`, `ruby`. This also adds enforcement for elements that are not allowed any aria-* attribute (which has never been used in our code) by changing the `noAriaAttrs` spec property to an empty `allowedAriaAttrs` so that they now throw in the rule `aria-allowed-attr`. Closes: #5185 Closes: #3410
#5157) This is in the current [WAI-ARIA 1.3 draft](https://www.w3.org/TR/wai-aria-1.3/#aria-errormessage) and both attributes were changed to `idrefs` types. Since the AOM property is an idrefs type (returns an array) this allows us to be in sync with that for the Element Internals work. The `aria-errormessage` check [already accounts the attribute being an idrefs value](#4973) and will incomplete if the value has more than one id, so no changes should be needed with this pr.
Tested in latest Firefox (153.0) and this looks like it doesn't crash the browser anymore. The other non-crash issues still exist (logging the warning, `null` for empty `ariaLabelledByElements `), but we should be able to reenable the test now. Closes: #5139
* Add Swedish locale translation Closes: #5189 --------- Co-authored-by: Wilco Fiers <[email protected]>
…om landmark match (#5085) Closes #4722, #5064 Updated `landmark-unique-matches` to change the matching logic for `section` / `form` elements as follows: before | | No `aria-label` | Has `aria-label` | | ----------------------- | :-------------: | :--------------: | | No explicit `role` | ❌ | ✅ | | Explicit landmark role | ❌ | ✅ | | Non-landmark role | ❌ | ✅ ← bug | after | | No `aria-label` | Has `aria-label` | | ----------------------- | :-------------: | :--------------: | | No explicit `role` | ❌ | ✅ | | Explicit landmark role | ✅ | ✅ | | Non-landmark role | ❌ | ❌ | ~~Unrelated to this issue, but I think `section` / `form` with an explicit landmark role and no accessible name might also need to match, opened a separate issue for it: #5064~~ --------- Co-authored-by: Wilco Fiers <[email protected]>
### Summary npm now [scans published packages before they go live](https://github.blog/changelog/2026-07-28-npm-publish-time-malware-scanning-and-dual-use-metadata/), adding a delay of up to 15+ minutes between calling `publish` and the package becoming available. Our `wait-for-npm-ready.sh` retry loop was tuned for near-instant availability (10s × 30 = ~5 min), so it can now time out before the package appears. This raises the retry interval to **120s** and caps attempts at **12** (~22 min worst case). ### Notes - The two callers in `deploy.yml` (`validate-next-deploy`, `validate-deploy`) rely on the 360-min default job timeout, so no `timeout-minutes` changes were needed. Closes #5266
#5224) Add the `caseInsensitive` property to the aria attrs standard. This is used to automatically lowercase the value for `commons.aria.getAriaValue` instead of having to manually pass `{ lowercase: true }` every time you wanted to access one of the attributes. This updates `aria-expanded`, `aria-hidden`, `aria-haspopup`, `aria-selected`, `aria-invalid`, `aria-disabled`, and `ara-live` to be case insensitive (which we have tested in prior prs). Additionally, as a `chore` style change this also updates `getAriaValue` to not return `null` anymore but instead `{ value: null, source: null }` so that we don't have to conditionally access the `value` property of the return.
…refs (#5287) ### Summary Adds tests codifying how axe-core handles idref references that point outside its virtual tree — the two scenarios in #5221: 1. **Closed shadow DOM** — a custom element self-labels via `ElementInternals.ariaLabelledByElements` with a node inside its own closed shadow root. Closed roots aren't flattened into the virtual tree, so the reference is unreachable. 2. **Out-of-tree node** — `ariaLabelledByElements` points at a node appended after `axe.setup()`, so it never enters the tree. Both codify the current behavior: `getResolvedRefs` maps the unreachable node to `null`, the accessible-name function drops it, and `arialabelledbyText` returns `""` **without throwing**. ### Notes - Tests-only; no runtime behavior change. - The closed-shadow case is built with manual DOM (`attachShadow({ mode: "closed" })`) since `queryShadowFixture` is open-mode only. Closes #5221
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
All notable changes to this project will be documented in this file. See commit-and-tag-version for commit guidelines.
4.13.0 (2026-08-05)
Features
Bug Fixes
This PR was opened by a robot 🤖 🎉