equall-cli 0.1.3 → 0.1.5

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # Equall
2
2
 
3
- Open-source accessibility scoring for dev teams. Aggregates axe-core, eslint-plugin-jsx-a11y, and more into a unified score.
3
+ Open-source accessibility scoring for dev teams. Aggregates axe-core, eslint-plugin-jsx-a11y, text-readability, and more into a unified score.
4
4
 
5
5
  **One command. Real score. No config.**
6
6
 
@@ -23,12 +23,18 @@ equall scan .
23
23
  33 files scanned · 15 WCAG violations · 19 best-practice issues
24
24
  2 critical 11 serious 19 moderate 0 minor
25
25
  2 issues ignored via equall-ignore
26
- Score 56/100 · 18/30 Level A criteria checked (60%) · 5 failed
27
- 29/57 Level AA criteria checked (51%) · 6 failed
26
+ Score 56/100 · 18/32 Level A criteria checked (56%) · 5 failed
27
+ 29/56 Level AA criteria checked (52%) · 6 failed
28
28
 
29
29
  ⓘ You're failing 5 Level A criteria (1.3.1, 2.1.1, 2.4.2, 2.4.4, 4.1.2).
30
30
  Level A is the legal minimum — fix these first.
31
31
 
32
+ Best Practices
33
+ ● region — 26 issues Landmarks help screen reader users navigate page sections
34
+ src/app/layout.tsx
35
+ src/components/Navigation.tsx
36
+ ... and 24 more (use --verbose to see all)
37
+
32
38
  Scanners: axe-core@4.11.1 (23 issues), eslint-jsx-a11y@6.10.2 (13 issues)
33
39
  Completed in 0.8s
34
40
  ```
@@ -75,11 +81,14 @@ equall scan . --json # pipe to other tools
75
81
  equall scan . --json > report.json
76
82
  ```
77
83
 
78
- ### Filter files
84
+ ### Options
79
85
 
80
86
  ```bash
81
87
  equall scan . --include "src/**/*.tsx"
82
88
  equall scan . --exclude "**/*.stories.*"
89
+ equall scan . --verbose # show all files per best-practice rule
90
+ equall scan . --show-ignored # show ignored issues
91
+ equall scan . --show-manual # list untested criteria needing manual review
83
92
  equall scan . --no-color # disable colored output
84
93
  ```
85
94
 
@@ -94,7 +103,18 @@ It automatically skips: `node_modules`, `dist`, `build`, `.next`, test files, st
94
103
  | Scanner | What it checks | WCAG criteria covered |
95
104
  |---------|---------------|----------------------|
96
105
  | **axe-core** | HTML structure, ARIA, landmarks, forms, media | 24 |
97
- | **eslint-plugin-jsx-a11y** | JSX/React-specific a11y patterns | 17 |
106
+ | **eslint-plugin-jsx-a11y** | JSX/React-specific a11y patterns | 16 |
107
+ | **readability** | Required reading level of text content (Flesch, ARI, SMOG, etc.) | 1 (WCAG 3.1.5 AAA) |
108
+
109
+ ### Readability scoring
110
+
111
+ The readability scanner checks [WCAG 3.1.5 (Reading Level)](https://www.w3.org/WAI/WCAG22/Understanding/reading-level) — text should be understandable at a lower secondary education level (approximately Grade 9).
112
+
113
+ It runs 6 formulas (Flesch-Kincaid, Coleman-Liau, ARI, Gunning Fog, SMOG, Dale-Chall) and uses the **median grade** across all formulas to reduce single-formula bias. If the median exceeds Grade 9, an issue is reported with the full breakdown.
114
+
115
+ - Scans `.html` and `.vue` files only — JSX/TSX excluded because regex extraction captures `className` attributes and `{expressions}` that pollute scores
116
+ - Skips files with fewer than 30 words (formulas are statistically invalid on short text)
117
+ - Skips non-English files (detected via `lang` attribute) — formulas are English-calibrated
98
118
 
99
119
  ## Scoring
100
120
 
@@ -131,15 +151,15 @@ Some issues are false positives (e.g. an orphan `<li>` in a component that's alw
131
151
  <img src="decorative.png" />
132
152
  ```
133
153
 
134
- Add `// equall-ignore-file` in the first 5 lines to ignore an entire file.
135
-
136
154
  Or use the CLI to inject/manage comments without opening the file:
137
155
 
138
156
  ```bash
157
+ equall ignore src/Modal.tsx # ignore an entire file
139
158
  equall ignore src/Modal.tsx:89 # ignore all rules at line 89
140
159
  equall ignore src/Modal.tsx:89 jsx-a11y/alt-text # ignore a specific rule
141
160
  equall ignore . # list all ignores
142
161
  equall ignore --remove src/Modal.tsx:89 # remove an ignore
162
+ equall ignore --remove src/Modal.tsx # remove all ignores in a file
143
163
  equall ignore --clear # remove all ignores
144
164
  ```
145
165