Skip to content

chore: merge master into develop - #5153

Merged
stephenmathieson merged 5 commits into
developfrom
master
Jun 10, 2026
Merged

chore: merge master into develop#5153
stephenmathieson merged 5 commits into
developfrom
master

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

No description provided.

straker and others added 5 commits June 9, 2026 11:46
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.
### Bug Fixes

- **axe.d.ts:** make enabled property of RuleMetadata optional
([#5129](#5129))
([7eb3d2d](7eb3d2d))
@github-actions
github-actions Bot requested a review from a team as a code owner June 10, 2026 10:19
@WilcoFiers
WilcoFiers temporarily deployed to production-hold June 10, 2026 10:24 — with GitHub Actions Inactive
@WilcoFiers
WilcoFiers temporarily deployed to registry.npmjs.org June 10, 2026 10:25 — with GitHub Actions Inactive
@stephenmathieson
stephenmathieson merged commit d76505f into develop Jun 10, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants