dequelabs / dequelabs/axe-core

Bump wcag-act-rules off the pinned 5adb55d

Open
#5,346 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
7.5k
Forks
933
Avg merge
2d 13h
Merged PRs (30d)
29

Description

## Description

`package.json` pins the ACT testcase corpus:

```
"wcag-act-rules": "github:w3c/wcag-act-rules#5adb55d19eb2cd7fb23213b2d1acedf9004dc063"
```

but `.github/workflows/nightly-tests.yml:64` installs `#main`:

```
pnpm add --config.dangerouslyAllowAllBuilds=true github:w3c/wcag-act-rules#main
```

So PR CI (`test_act`) and the nightly run against **different corpora**. A skip entry that looks stale against the pinned dependency can be load-bearing against `main`, and a regression only `main` catches doesn't surface until the nightly goes red.

## Drift

Across the 38 rules axe has ACT spec files for, the corpus has moved from **612 testcases to 629**. Six rules differ:

| Rule | Spec file | Pinned | `main` |
| --- | --- | ---: | ---: |
| `2ee8b8` | `visible-label-in-accessible-name-2ee8b8.spec.js` | 15 | 38 |
| `in6db8` | `aria-required-id-references-in6db8.spec.js` | 9 | **0** |
| `5c01ea` | `aria-state-or-property-permitted-5c01ea.spec.js` | 19 | 17 |
| `e086e5` | `form-field-non-empty-accessible-name-e086e5.spec.js` | 20 | 22 |
| `4e8ab6` | `role-required-states-and-properties-4e8ab6.spec.js` | 14 | 16 |
| `b33eff` | `css-restrict-orientation-b33eff.spec.js` | 12 | 13 |

`in6db8` is gone from `main` entirely — axe still has a spec file and a `skipTests` entry for a rule ACT no longer publishes.

## Notes

Called out on #5203 ("not updated in a while"). Splitting it out here because #5345 closes #5203 while implementing only the comparison step of the label in name algorithm.

Verifying a bump means re-running the whole `test_act` suite against the new corpus and re-auditing every `skipTests` entry: the ids are content-addressed, so a renumbered example keeps its hash while changing meaning. `e9bbdbec…` is `Failed Example 4` on the pinned dependency and `Inapplicable Example 6` on `main`.

Contributor guide

Open the contributing guide

Research direction

Start with the pinned dependency in package.json and the nightly installation at .github/workflows/nightly-tests.yml:64, then run the test_act suite against the updated corpus. Review every skipTests entry, including the in6db8 rule and e9bbdbec example, and consider the work done when PR and nightly tests use the same corpus without unjustified skips.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
accessibility, testing
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.