aria-ease 6.4.8 → 6.4.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -27
- package/bin/{chunk-TQBS54MM.js → chunk-GFKAJHCS.js} +3 -3
- package/bin/cli.cjs +890 -483
- package/bin/cli.js +1 -1
- package/bin/contractTestRunnerPlaywright-7BCEDPZF.js +970 -0
- package/bin/{test-WICJJ62P.js → test-JGKWOL6J.js} +34 -29
- package/dist/{chunk-TQBS54MM.js → chunk-GFKAJHCS.js} +3 -3
- package/dist/contractTestRunnerPlaywright-7BCEDPZF.js +970 -0
- package/dist/index.cjs +890 -483
- package/dist/index.js +34 -29
- package/dist/src/utils/test/{chunk-TQBS54MM.js → chunk-GFKAJHCS.js} +3 -3
- package/dist/src/utils/test/contractTestRunnerPlaywright-O7FF3X67.js +941 -0
- package/dist/src/utils/test/contracts/ComboboxContract.json +1 -0
- package/dist/src/utils/test/index.cjs +861 -477
- package/dist/src/utils/test/index.d.cts +6 -1
- package/dist/src/utils/test/index.d.ts +6 -1
- package/dist/src/utils/test/index.js +34 -29
- package/package.json +1 -1
- package/bin/contractTestRunnerPlaywright-D57V4RSU.js +0 -628
- package/dist/contractTestRunnerPlaywright-D57V4RSU.js +0 -628
- package/dist/src/utils/test/contractTestRunnerPlaywright-HV4EIRDH.js +0 -610
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Aria-Ease
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
### Accessibility infrastructure for the entire frontend engineering lifecycle.
|
|
4
4
|
|
|
5
|
-
Stop treating accessibility as an afterthought. Aria-Ease engineers
|
|
5
|
+
Stop treating accessibility as an afterthought. Aria-Ease engineers accessibility integrity into every phase of frontend development lifecycle — from local development to production monitoring — so accessibility violations never reach your users.
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/aria-ease)
|
|
8
8
|
[](https://opensource.org/licenses/ISC)
|
|
@@ -64,13 +64,14 @@ npx aria-ease audit --url https://yoursite.com
|
|
|
64
64
|
|
|
65
65
|
#### 3. **Contract Testing** (Available Now)
|
|
66
66
|
|
|
67
|
-
This is the game-changer. We encoded the WAI-ARIA APG into deterministic JSON "contracts" and built a custom Playwright runner with isolated test-harness architecture.
|
|
67
|
+
This is the game-changer. We encoded the WAI-ARIA APG into deterministic JSON "contracts" and built a custom Playwright runner with isolated test-harness architecture. Run it locally or in CI/CD.
|
|
68
68
|
|
|
69
69
|
**The result?** Component interaction testing that feels closer to unit testing than manual QA.
|
|
70
70
|
|
|
71
71
|
```bash
|
|
72
|
-
npx aria-ease test
|
|
72
|
+
npx aria-ease test
|
|
73
73
|
# ✓ 26 assertions in ~4 seconds
|
|
74
|
+
# ✓ 26 assertions in ~1 second in CI
|
|
74
75
|
```
|
|
75
76
|
|
|
76
77
|
**Why this matters:** Before, verifying a combobox meant manual keyboard testing across browsers. Now, it's automated, fast, and repeatable. You can boast about executing 26 combobox interaction assertions in ~4 seconds.
|
|
@@ -650,7 +651,7 @@ describe("Shopify User Menu Accessibility Test", () => {
|
|
|
650
651
|
null,
|
|
651
652
|
"http://localhost:5173/test-harness?component=menu",
|
|
652
653
|
); // For full component interaction test. Uses Playwright to test interaction and behaviors
|
|
653
|
-
}
|
|
654
|
+
});
|
|
654
655
|
});
|
|
655
656
|
|
|
656
657
|
describe("Shopify User Menu Accessibility Test", () => {
|
|
@@ -764,7 +765,7 @@ Until now, accessibility testing often happened manually, late in the cycle, or
|
|
|
764
765
|
**Aria-Ease changes the equation:**
|
|
765
766
|
|
|
766
767
|
- ✅ Automated = no human bottleneck
|
|
767
|
-
- ✅ Fast = ~
|
|
768
|
+
- ✅ Fast = ~6 seconds for 90 accessibility interaction assertions
|
|
768
769
|
- ✅ Deterministic = same results every time
|
|
769
770
|
- ✅ Blocking = deploy fails if tests fail
|
|
770
771
|
|
|
@@ -875,21 +876,12 @@ Create `ariaease.config.js` in your project root:
|
|
|
875
876
|
```javascript
|
|
876
877
|
export default {
|
|
877
878
|
audit: {
|
|
878
|
-
urls: [
|
|
879
|
-
"http://localhost:5173", // Homepage
|
|
880
|
-
"http://localhost:5173/docs", // Docs
|
|
881
|
-
"http://localhost:5173/examples", // Examples
|
|
882
|
-
],
|
|
879
|
+
urls: ["http://localhost:5173/", "http://localhost:5173/changelog"],
|
|
883
880
|
output: {
|
|
884
|
-
format: "
|
|
885
|
-
out: "./accessibility-reports",
|
|
881
|
+
format: "html",
|
|
882
|
+
out: "./accessibility-reports/audit",
|
|
886
883
|
},
|
|
887
884
|
},
|
|
888
|
-
test: {
|
|
889
|
-
components: ["menu", "accordion", "tabs", "combobox"], // Components to test
|
|
890
|
-
baseUrl: "http://localhost:5173/test-harness",
|
|
891
|
-
browser: "chromium",
|
|
892
|
-
},
|
|
893
885
|
};
|
|
894
886
|
```
|
|
895
887
|
|
|
@@ -898,8 +890,8 @@ Add to `package.json`:
|
|
|
898
890
|
```json
|
|
899
891
|
{
|
|
900
892
|
"scripts": {
|
|
901
|
-
"audit": "aria-ease audit",
|
|
902
|
-
"test:a11y": "aria-ease test",
|
|
893
|
+
"audit": "npx aria-ease audit -f html",
|
|
894
|
+
"test:a11y": "npx aria-ease test",
|
|
903
895
|
"ci": "npm run audit && npm run test:a11y"
|
|
904
896
|
}
|
|
905
897
|
}
|
|
@@ -980,14 +972,10 @@ One of the biggest blockers to adding accessibility testing to CI/CD is **speed*
|
|
|
980
972
|
**Aria-Ease contract testing is fast:**
|
|
981
973
|
|
|
982
974
|
```bash
|
|
983
|
-
npx aria-ease test
|
|
984
|
-
# ✓ 26 interaction assertions in ~
|
|
985
|
-
|
|
986
|
-
npx aria-ease test --component menu
|
|
987
|
-
# ✓ 15 interaction assertions in ~2.8 seconds
|
|
975
|
+
npx aria-ease test
|
|
976
|
+
# ✓ 26 combobox interaction assertions in ~1 seconds in CI
|
|
977
|
+
# ✓ 90 accessibility interaction assertions in ~6 seconds in CI
|
|
988
978
|
|
|
989
|
-
npx aria-ease test # All components
|
|
990
|
-
# ✓ 80+ assertions in ~12 seconds
|
|
991
979
|
```
|
|
992
980
|
|
|
993
981
|
**Why so fast?**
|
|
@@ -80,7 +80,7 @@ ${"\u2550".repeat(60)}`);
|
|
|
80
80
|
failureMessage,
|
|
81
81
|
isOptional: test.isOptional
|
|
82
82
|
};
|
|
83
|
-
if (status === "skip"
|
|
83
|
+
if (status === "skip") {
|
|
84
84
|
result.skipReason = "Requires real browser (addEventListener events)";
|
|
85
85
|
}
|
|
86
86
|
this.dynamicResults.push(result);
|
|
@@ -186,7 +186,7 @@ ${"\u2550".repeat(60)}`);
|
|
|
186
186
|
`);
|
|
187
187
|
if (totalFailures === 0 && this.skipped === 0 && this.optionalSuggestions === 0) {
|
|
188
188
|
this.log(`\u2705 All ${totalRun} tests passed!`);
|
|
189
|
-
this.log(` ${this.componentName} component meets WAI-ARIA expectations for Roles, States, Properties, and Keyboard
|
|
189
|
+
this.log(` ${this.componentName} component meets WAI-ARIA expectations for Roles, States, Properties, and Keyboard Interactions \u2713`);
|
|
190
190
|
} else if (totalFailures === 0) {
|
|
191
191
|
this.log(`\u2705 ${totalPasses}/${totalRun} required tests passed`);
|
|
192
192
|
if (this.skipped > 0) {
|
|
@@ -195,7 +195,7 @@ ${"\u2550".repeat(60)}`);
|
|
|
195
195
|
if (this.optionalSuggestions > 0) {
|
|
196
196
|
this.log(`\u{1F4A1} ${this.optionalSuggestions} optional enhancement${this.optionalSuggestions > 1 ? "s" : ""} suggested`);
|
|
197
197
|
}
|
|
198
|
-
this.log(` ${this.componentName} component meets WAI-ARIA expectations for Roles, States, Properties, and Keyboard
|
|
198
|
+
this.log(` ${this.componentName} component meets WAI-ARIA expectations for Roles, States, Properties, and Keyboard Interactions \u2713`);
|
|
199
199
|
} else {
|
|
200
200
|
this.log(`\u274C ${totalFailures} test${totalFailures > 1 ? "s" : ""} failed`);
|
|
201
201
|
this.log(`\u2705 ${totalPasses} test${totalPasses > 1 ? "s" : ""} passed`);
|