dequelabs / dequelabs/axe-core
Bump wcag-act-rules off the pinned 5adb55d
- 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
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