@dallask/a11y-mcp-srv 1.1.13 → 2.1.0

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.
Files changed (54) hide show
  1. package/README.md +17 -0
  2. package/dist/core/accessibility-runner.d.ts +22 -14
  3. package/dist/core/accessibility-runner.d.ts.map +1 -1
  4. package/dist/core/accessibility-runner.js +110 -64
  5. package/dist/core/accessibility-runner.js.map +1 -1
  6. package/dist/core/basic-auth.d.ts +35 -0
  7. package/dist/core/basic-auth.d.ts.map +1 -0
  8. package/dist/core/basic-auth.js +52 -0
  9. package/dist/core/basic-auth.js.map +1 -0
  10. package/dist/core/config.d.ts +2 -0
  11. package/dist/core/config.d.ts.map +1 -1
  12. package/dist/core/config.js +4 -0
  13. package/dist/core/config.js.map +1 -1
  14. package/dist/core/normalize-audit-result.d.ts +18 -0
  15. package/dist/core/normalize-audit-result.d.ts.map +1 -0
  16. package/dist/core/normalize-audit-result.js +118 -0
  17. package/dist/core/normalize-audit-result.js.map +1 -0
  18. package/dist/core/result-processor.d.ts +22 -5
  19. package/dist/core/result-processor.d.ts.map +1 -1
  20. package/dist/core/result-processor.js +115 -101
  21. package/dist/core/result-processor.js.map +1 -1
  22. package/dist/server.d.ts +5 -1
  23. package/dist/server.d.ts.map +1 -1
  24. package/dist/server.js +133 -6
  25. package/dist/server.js.map +1 -1
  26. package/dist/tools/aggregate.d.ts.map +1 -1
  27. package/dist/tools/aggregate.js +23 -22
  28. package/dist/tools/aggregate.js.map +1 -1
  29. package/dist/tools/analysis.d.ts.map +1 -1
  30. package/dist/tools/analysis.js +87 -134
  31. package/dist/tools/analysis.js.map +1 -1
  32. package/dist/tools/audit.d.ts.map +1 -1
  33. package/dist/tools/audit.js +73 -23
  34. package/dist/tools/audit.js.map +1 -1
  35. package/dist/tools/comparison.d.ts.map +1 -1
  36. package/dist/tools/comparison.js +28 -17
  37. package/dist/tools/comparison.js.map +1 -1
  38. package/dist/tools/export.d.ts.map +1 -1
  39. package/dist/tools/export.js +55 -38
  40. package/dist/tools/export.js.map +1 -1
  41. package/dist/tools/filter.d.ts.map +1 -1
  42. package/dist/tools/filter.js +16 -9
  43. package/dist/tools/filter.js.map +1 -1
  44. package/dist/tools/session.d.ts.map +1 -1
  45. package/dist/tools/session.js +3 -2
  46. package/dist/tools/session.js.map +1 -1
  47. package/dist/tools/visualize.d.ts.map +1 -1
  48. package/dist/tools/visualize.js +47 -51
  49. package/dist/tools/visualize.js.map +1 -1
  50. package/dist/types/index.d.ts +49 -12
  51. package/dist/types/index.d.ts.map +1 -1
  52. package/dist/types/index.js +19 -1
  53. package/dist/types/index.js.map +1 -1
  54. package/package.json +14 -2
package/README.md CHANGED
@@ -1260,6 +1260,12 @@ npm run dev
1260
1260
  npm start
1261
1261
  ```
1262
1262
 
1263
+ **Testing**
1264
+ - `npm test` – run unit and integration tests (watch mode)
1265
+ - `npm run test:run` – run all tests once
1266
+ - `npm run test:coverage` – run tests with coverage
1267
+ - `npm run test:e2e` – build and run E2E tests (real MCP server over stdio via `@modelcontextprotocol/sdk` Client)
1268
+
1263
1269
  ### Using Local Version in MCP Client
1264
1270
 
1265
1271
  If you want to use the local version instead of the published package:
@@ -1298,6 +1304,17 @@ This project is derived from [alii13/accessibility-mcp-server](https://github.co
1298
1304
 
1299
1305
  MIT License - feel free to use in your projects!
1300
1306
 
1307
+ ## 🚀 Releasing
1308
+
1309
+ Releases are automated with [semantic-release](https://github.com/semantic-release/semantic-release) and run on **push or merge to any `release/*` branch**.
1310
+
1311
+ - **Branch**: Push or merge to a branch matching `release/*` (e.g. `release/1.x`, `release/2.0`).
1312
+ - **Version**: Determined from commit messages (e.g. `fix:`, `feat:`, `BREAKING CHANGE:`).
1313
+ - **Artifacts**: GitHub Release is created; `CHANGELOG.md` and `package.json` are updated and pushed back to the branch.
1314
+ - **npm**: If you publish to npm, add an `NPM_TOKEN` secret in the repo settings (Settings → Secrets and variables → Actions). The workflow uses it to publish after a successful release.
1315
+
1316
+ Local dry run (no publish): `npx semantic-release --dry-run`. Note: dry-run may fail locally if no `release/*` branch exists on the remote, since semantic-release validates branches against the repo; in CI it runs only when the workflow is triggered by a push to `release/*`.
1317
+
1301
1318
  ## 🤝 Contributing
1302
1319
 
1303
1320
  Contributions are welcome! Please ensure all code follows the existing style and includes appropriate tests.
@@ -38,6 +38,8 @@ export interface AccessibilityRunnerResult {
38
38
  tags?: AccessibilityTag[];
39
39
  originalIssueCount?: number;
40
40
  };
41
+ /** HTTP status code of the main document response (e.g. 200, 401). Undefined when no navigation. */
42
+ responseStatus?: number;
41
43
  }
42
44
  /**
43
45
  * AccessibilityRunner class - Handles accessibility test execution with axe-core or ACE
@@ -46,7 +48,8 @@ export declare class AccessibilityRunner {
46
48
  private axePath;
47
49
  constructor();
48
50
  /**
49
- * Navigate to URL and wait for page to be ready
51
+ * Navigate to URL and wait for page to be ready.
52
+ * @returns HTTP status code of the main document response (e.g. 200, 401), or undefined if unavailable.
50
53
  */
51
54
  private navigateAndWait;
52
55
  /**
@@ -62,27 +65,29 @@ export declare class AccessibilityRunner {
62
65
  */
63
66
  private axeToAccessibilityResults;
64
67
  /**
65
- * Run IBM Equal Access (accessibility-checker) analysis for a URL
68
+ * Map axe-style WCAG tags to IBM Equal Access policy IDs.
69
+ * ACE is scoped at scan time via setConfig({ policies }) — not post-filtered.
70
+ * wcag22* → WCAG_2_2
71
+ * wcag21* → WCAG_2_1
72
+ * wcag2* → WCAG_2_0
73
+ * best-practice / (default) → IBM_Accessibility
66
74
  */
67
- private runACEAnalysis;
75
+ private acePolicesFromTags;
68
76
  /**
69
- * Map ACE report level to IBM Equal Access severity levels.
70
- * Matches the IBM browser tool exactly:
71
- * violation → 'violation' (🚫 red)
72
- * potentialviolation → 'needs-review' (⚠️ yellow)
73
- * potentialrecommendation→ 'needs-review' (⚠️ yellow)
74
- * recommendation → 'recommendation' (ℹ️ blue)
75
- * manual → 'needs-review' (⚠️ yellow – manual check required)
76
- * pass / ignored → 'minor'
77
+ * Run IBM Equal Access (accessibility-checker) analysis on HTML content.
78
+ * ACE never fetches URLs; the caller loads the page in Playwright and passes the final HTML
79
+ * (including everything changed by JavaScript). This avoids ACE's internal Puppeteer launch.
80
+ * WCAG level/policy is configured via setConfig before the scan — tags are engine settings.
77
81
  */
78
- private aceLevelToImpact;
82
+ private runACEAnalysis;
79
83
  /**
80
84
  * Compare impact severity (higher = worse). Used to take the worst impact per rule.
85
+ * Uses IMPACT_ORDER for both axe and ACE native levels.
81
86
  */
82
87
  private impactRank;
83
88
  /**
84
89
  * Convert ACE report to our AccessibilityResults format.
85
- * Preserves ACE severity (critical/serious/moderate) so output matches the IBM browser tool.
90
+ * Uses ACE native levels (violation, potentialviolation, recommendation, etc.).
86
91
  */
87
92
  private aceToAccessibilityResults;
88
93
  /**
@@ -100,7 +105,10 @@ export declare class AccessibilityRunner {
100
105
  */
101
106
  private getRuleTagMapping;
102
107
  /**
103
- * Check if a rule matches any of the specified tags
108
+ * Check if a rule matches any of the specified tags.
109
+ * Only uses ruleData.tags when the array is non-empty; otherwise falls back to
110
+ * the static mapping and finally defaults to true (include the rule).
111
+ * This prevents rules with tags:[] from being silently dropped.
104
112
  */
105
113
  private ruleMatchesTags;
106
114
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"accessibility-runner.d.ts","sourceRoot":"","sources":["../../src/core/accessibility-runner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAA;AAGtC,OAAO,KAAK,EACV,oBAAoB,EAIpB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACb,MAAM,mBAAmB,CAAA;AAU1B,mDAAmD;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAE5D;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,kBAAkB;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,qCAAqC;IACrC,WAAW,CAAC,EAAE,YAAY,CAAA;IAC1B,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAA;IACzB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,mBAAmB,CAAA;IAC5B;;mGAE+F;IAC/F,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,gCAAgC;IAChC,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,8CAA8C;IAC9C,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,kCAAkC;IAClC,cAAc,CAAC,EAAE;QACf,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAA;QACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAC5B,CAAA;CACF;AA6DD;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAQ;;IASvB;;OAEG;YACW,eAAe;IA4D7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;YACW,cAAc;IA0B5B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAmEjC;;OAEG;YACW,cAAc;IAgB5B;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACH,OAAO,CAAC,UAAU;IAWlB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IA2DjC;;OAEG;YACW,wBAAwB;IA2BtC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAmCzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,OAAO,CAAC,YAAY;IAiCpB;;OAEG;IACG,GAAG,CACP,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,yBAAyB,CAAC;CAqEtC"}
1
+ {"version":3,"file":"accessibility-runner.d.ts","sourceRoot":"","sources":["../../src/core/accessibility-runner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAA;AAGtC,OAAO,KAAK,EACV,oBAAoB,EAIpB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACb,MAAM,mBAAmB,CAAA;AAW1B,mDAAmD;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAE5D;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,kBAAkB;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,qCAAqC;IACrC,WAAW,CAAC,EAAE,YAAY,CAAA;IAC1B,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAA;IACzB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,mBAAmB,CAAA;IAC5B;;mGAE+F;IAC/F,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,gCAAgC;IAChC,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,8CAA8C;IAC9C,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,kCAAkC;IAClC,cAAc,CAAC,EAAE;QACf,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAA;QACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAC5B,CAAA;IACD,oGAAoG;IACpG,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AA+FD;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAQ;;IASvB;;;OAGG;YACW,eAAe;IA+D7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;YACW,cAAc;IA0B5B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAmEjC;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;;OAKG;YACW,cAAc;IAqB5B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAKlB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAoEjC;;OAEG;YACW,wBAAwB;IA4BtC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAmCzB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,OAAO,CAAC,YAAY;IAiCpB;;OAEG;IACG,GAAG,CACP,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,yBAAyB,CAAC;CA+DtC"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import * as path from 'path';
6
6
  import { fileURLToPath } from 'url';
7
+ import { IMPACT_ORDER } from '../types/index.js';
7
8
  /**
8
9
  * Debug logger that writes to stderr to avoid interfering with MCP protocol
9
10
  */
@@ -18,6 +19,38 @@ const DEFAULT_AXE_TAGS = [
18
19
  'wcag21aa',
19
20
  'best-practice',
20
21
  ];
22
+ /**
23
+ * Parse tagName, className, and id from HTML snippet or path.dom string.
24
+ * Used to populate domInfo so Element and Class selector columns are accurate.
25
+ */
26
+ function parseDomFromSnippet(snippet, pathDom) {
27
+ let tagName = '';
28
+ let className = null;
29
+ let id = null;
30
+ if (snippet) {
31
+ const tagMatch = snippet.match(/<\s*(\w+)[\s>]/);
32
+ if (tagMatch)
33
+ tagName = tagMatch[1].toLowerCase();
34
+ const classMatch = snippet.match(/class\s*=\s*["']([^"']*)["']/);
35
+ if (classMatch)
36
+ className = classMatch[1].trim() || null;
37
+ const idMatch = snippet.match(/\bid\s*=\s*["']([^"']*)["']/);
38
+ if (idMatch)
39
+ id = idMatch[1].trim() || null;
40
+ }
41
+ if (!tagName && pathDom) {
42
+ const segments = pathDom.split(/[/.]/);
43
+ const last = segments[segments.length - 1];
44
+ if (last) {
45
+ const tagPart = last.replace(/\[\d+\]$/, '').trim();
46
+ if (tagPart)
47
+ tagName = tagPart.toLowerCase();
48
+ }
49
+ }
50
+ if (!tagName)
51
+ tagName = 'element';
52
+ return { tagName, className, id };
53
+ }
21
54
  /**
22
55
  * AccessibilityRunner class - Handles accessibility test execution with axe-core or ACE
23
56
  */
@@ -29,15 +62,19 @@ export class AccessibilityRunner {
29
62
  this.axePath = path.join(serverDir, 'node_modules', 'axe-core', 'axe.min.js');
30
63
  }
31
64
  /**
32
- * Navigate to URL and wait for page to be ready
65
+ * Navigate to URL and wait for page to be ready.
66
+ * @returns HTTP status code of the main document response (e.g. 200, 401), or undefined if unavailable.
33
67
  */
34
68
  async navigateAndWait(page, url, waitStrategy = 'networkidle', timeout = 30000) {
35
69
  debugLog(`Navigating to ${url}...`);
36
70
  const startTime = Date.now();
37
- await page.goto(url, {
71
+ const response = await page.goto(url, {
38
72
  waitUntil: 'domcontentloaded',
39
73
  timeout,
40
74
  });
75
+ const status = response?.status();
76
+ if (status != null)
77
+ debugLog(`Page response status: ${status}`);
41
78
  debugLog('Page navigation started');
42
79
  const remainingTime = timeout - (Date.now() - startTime);
43
80
  if (remainingTime > 0) {
@@ -77,6 +114,7 @@ export class AccessibilityRunner {
77
114
  }
78
115
  }
79
116
  debugLog(`Page loading completed in ${Date.now() - startTime}ms - proceeding with accessibility analysis`);
117
+ return status;
80
118
  }
81
119
  /**
82
120
  * Build axe run options (runOnly tags)
@@ -121,19 +159,19 @@ export class AccessibilityRunner {
121
159
  violations[categoryKey] = { count: 0, items: {} };
122
160
  }
123
161
  const xpaths = (v.nodes || []).map((n) => (n.target && n.target[0]) || '');
124
- const domInfo = (v.nodes || []).map((n) => ({
125
- innerHTML: n.html ? n.html.substring(0, 200) : null,
126
- selector: n.target && n.target[0],
127
- }));
128
- // Map axe-core impact levels to IBM Equal Access severity levels.
129
- // Axe violations are definite failures → 'violation'.
130
- // (Axe "incomplete" items would be 'needs-review' but we only process violations here.)
131
- const axeImpact = v.impact?.toLowerCase();
132
- const impact = axeImpact === 'critical' || axeImpact === 'serious'
133
- ? 'violation'
134
- : axeImpact === 'moderate'
135
- ? 'needs-review'
136
- : 'recommendation';
162
+ const domInfo = (v.nodes || []).map((n) => {
163
+ const selector = n.target && n.target[0];
164
+ const { tagName, className, id } = parseDomFromSnippet(n.html ?? null, selector);
165
+ return {
166
+ innerHTML: n.html ? n.html.substring(0, 200) : null,
167
+ selector,
168
+ tagName,
169
+ className,
170
+ id,
171
+ };
172
+ });
173
+ // Use axe-core native impact levels (critical, serious, moderate, minor)
174
+ const impact = v.impact?.toLowerCase() ?? 'moderate';
137
175
  const ruleData = {
138
176
  count: v.nodes?.length ?? 0,
139
177
  xpaths,
@@ -155,13 +193,38 @@ export class AccessibilityRunner {
155
193
  };
156
194
  }
157
195
  /**
158
- * Run IBM Equal Access (accessibility-checker) analysis for a URL
196
+ * Map axe-style WCAG tags to IBM Equal Access policy IDs.
197
+ * ACE is scoped at scan time via setConfig({ policies }) — not post-filtered.
198
+ * wcag22* → WCAG_2_2
199
+ * wcag21* → WCAG_2_1
200
+ * wcag2* → WCAG_2_0
201
+ * best-practice / (default) → IBM_Accessibility
159
202
  */
160
- async runACEAnalysis(url, _tags) {
203
+ acePolicesFromTags(tags) {
204
+ if (!tags || tags.length === 0)
205
+ return ['IBM_Accessibility'];
206
+ if (tags.some((t) => t.startsWith('wcag22')))
207
+ return ['WCAG_2_2'];
208
+ if (tags.some((t) => t.startsWith('wcag21')))
209
+ return ['WCAG_2_1'];
210
+ if (tags.some((t) => t.startsWith('wcag2')))
211
+ return ['WCAG_2_0'];
212
+ return ['IBM_Accessibility'];
213
+ }
214
+ /**
215
+ * Run IBM Equal Access (accessibility-checker) analysis on HTML content.
216
+ * ACE never fetches URLs; the caller loads the page in Playwright and passes the final HTML
217
+ * (including everything changed by JavaScript). This avoids ACE's internal Puppeteer launch.
218
+ * WCAG level/policy is configured via setConfig before the scan — tags are engine settings.
219
+ */
220
+ async runACEAnalysis(htmlContent, url, tags) {
161
221
  const aChecker = await import('accessibility-checker');
162
222
  const label = `audit-${Date.now()}`;
223
+ const policies = this.acePolicesFromTags(tags);
224
+ debugLog(`ACE policies: ${policies.join(', ')}`);
163
225
  try {
164
- const result = await aChecker.getCompliance(url, label);
226
+ await aChecker.setConfig({ policies, ruleArchive: 'latest' });
227
+ const result = await aChecker.getCompliance(htmlContent, label);
165
228
  const report = result.report;
166
229
  return this.aceToAccessibilityResults(report, url);
167
230
  }
@@ -169,43 +232,18 @@ export class AccessibilityRunner {
169
232
  await aChecker.close?.();
170
233
  }
171
234
  }
172
- /**
173
- * Map ACE report level to IBM Equal Access severity levels.
174
- * Matches the IBM browser tool exactly:
175
- * violation → 'violation' (🚫 red)
176
- * potentialviolation → 'needs-review' (⚠️ yellow)
177
- * potentialrecommendation→ 'needs-review' (⚠️ yellow)
178
- * recommendation → 'recommendation' (ℹ️ blue)
179
- * manual → 'needs-review' (⚠️ yellow – manual check required)
180
- * pass / ignored → 'minor'
181
- */
182
- aceLevelToImpact(level) {
183
- const l = level.toLowerCase();
184
- if (l === 'violation')
185
- return 'violation';
186
- if (l === 'potentialviolation' || l === 'potentialrecommendation' || l === 'manual')
187
- return 'needs-review';
188
- if (l === 'recommendation')
189
- return 'recommendation';
190
- return 'minor';
191
- }
192
235
  /**
193
236
  * Compare impact severity (higher = worse). Used to take the worst impact per rule.
237
+ * Uses IMPACT_ORDER for both axe and ACE native levels.
194
238
  */
195
239
  impactRank(a) {
196
240
  if (!a)
197
241
  return 0;
198
- const r = {
199
- violation: 4,
200
- 'needs-review': 3,
201
- recommendation: 2,
202
- minor: 1,
203
- };
204
- return r[a] ?? 0;
242
+ return IMPACT_ORDER[a.toLowerCase()] ?? 2;
205
243
  }
206
244
  /**
207
245
  * Convert ACE report to our AccessibilityResults format.
208
- * Preserves ACE severity (critical/serious/moderate) so output matches the IBM browser tool.
246
+ * Uses ACE native levels (violation, potentialviolation, recommendation, etc.).
209
247
  */
210
248
  aceToAccessibilityResults(report, url) {
211
249
  const violations = { error: { count: 0, items: {} } };
@@ -213,10 +251,12 @@ export class AccessibilityRunner {
213
251
  const violationItems = report.results.filter((r) => r.level === 'violation' ||
214
252
  r.level === 'potentialviolation' ||
215
253
  r.level === 'recommendation' ||
216
- r.level === 'potentialrecommendation');
254
+ r.level === 'potentialrecommendation' ||
255
+ r.level === 'manual');
217
256
  violationItems.forEach((item) => {
218
257
  const ruleId = item.ruleId;
219
- const itemImpact = this.aceLevelToImpact(item.level);
258
+ // Use ACE native level (violation, potentialviolation, recommendation, etc.)
259
+ const itemImpact = item.level.toLowerCase();
220
260
  if (!violations.error.items[ruleId]) {
221
261
  violations.error.items[ruleId] = {
222
262
  count: 0,
@@ -230,9 +270,13 @@ export class AccessibilityRunner {
230
270
  const rule = violations.error.items[ruleId];
231
271
  rule.count += 1;
232
272
  rule.xpaths.push(item.path.dom || '');
273
+ const { tagName, className, id } = parseDomFromSnippet(item.snippet ?? null, item.path.dom);
233
274
  rule.domInfo.push({
234
275
  innerHTML: item.snippet ? item.snippet.substring(0, 200) : null,
235
276
  selector: item.path.dom,
277
+ tagName,
278
+ className,
279
+ id,
236
280
  });
237
281
  if (itemImpact && this.impactRank(itemImpact) > this.impactRank(rule.impact)) {
238
282
  rule.impact = itemImpact;
@@ -259,7 +303,8 @@ export class AccessibilityRunner {
259
303
  */
260
304
  async runAccessibilityAnalysis(page, url, engine, tags) {
261
305
  if (engine === 'ace') {
262
- return this.runACEAnalysis(url, tags);
306
+ const html = await page.content();
307
+ return this.runACEAnalysis(html, url, tags);
263
308
  }
264
309
  const axeResult = await this.runAxeAnalysis(page, tags);
265
310
  const viewport = page.viewportSize();
@@ -328,12 +373,15 @@ export class AccessibilityRunner {
328
373
  };
329
374
  }
330
375
  /**
331
- * Check if a rule matches any of the specified tags
376
+ * Check if a rule matches any of the specified tags.
377
+ * Only uses ruleData.tags when the array is non-empty; otherwise falls back to
378
+ * the static mapping and finally defaults to true (include the rule).
379
+ * This prevents rules with tags:[] from being silently dropped.
332
380
  */
333
381
  ruleMatchesTags(ruleId, ruleData, tags) {
334
382
  if (!tags || tags.length === 0)
335
383
  return true;
336
- if (ruleData.tags && Array.isArray(ruleData.tags)) {
384
+ if (ruleData.tags && Array.isArray(ruleData.tags) && ruleData.tags.length > 0) {
337
385
  return ruleData.tags.some((tag) => tags.includes(tag));
338
386
  }
339
387
  const mapping = this.getRuleTagMapping();
@@ -376,23 +424,20 @@ export class AccessibilityRunner {
376
424
  const { url, waitForLoad = 'networkidle', timeout = 30000, tags, engine = 'axe', applyTagFilter = false, } = config;
377
425
  try {
378
426
  if (engine === 'ace') {
379
- debugLog(`Running IBM Equal Access (ACE) analysis on ${url}...`);
380
- const accessibilityResults = await this.runACEAnalysis(url, tags);
381
- const originalIssueCount = this.countTotalIssues(accessibilityResults.violations);
382
- let filteredResults;
383
- let appliedFilters;
384
- if (applyTagFilter && tags && tags.length > 0) {
385
- filteredResults = this.filterByTags(accessibilityResults, tags);
386
- appliedFilters = { tags, originalIssueCount };
387
- debugLog(`Filtered results: ${originalIssueCount} -> ${this.countTotalIssues(filteredResults.violations)} issues`);
388
- }
427
+ // Always load the page in Playwright and pass the final HTML to ACE (no separate ACE browser).
428
+ // This gives us JS-rendered content and supports Basic Auth; ACE only analyzes the HTML string.
429
+ const responseStatus = await this.navigateAndWait(page, url, waitForLoad, timeout);
430
+ const html = await page.content();
431
+ debugLog(`Running IBM Equal Access (ACE) analysis on page content (${url})...`);
432
+ const accessibilityResults = await this.runACEAnalysis(html, url, tags);
389
433
  return {
390
434
  accessibilityResults,
391
- filteredResults,
392
- appliedFilters,
435
+ filteredResults: undefined,
436
+ appliedFilters: tags && tags.length > 0 ? { tags } : undefined,
437
+ responseStatus,
393
438
  };
394
439
  }
395
- await this.navigateAndWait(page, url, waitForLoad, timeout);
440
+ const responseStatus = await this.navigateAndWait(page, url, waitForLoad, timeout);
396
441
  debugLog(`Running axe-core analysis on ${url}...`);
397
442
  const accessibilityResults = await this.runAccessibilityAnalysis(page, url, 'axe', tags);
398
443
  const originalIssueCount = this.countTotalIssues(accessibilityResults.violations);
@@ -407,6 +452,7 @@ export class AccessibilityRunner {
407
452
  accessibilityResults,
408
453
  filteredResults,
409
454
  appliedFilters,
455
+ responseStatus,
410
456
  };
411
457
  }
412
458
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"accessibility-runner.js","sourceRoot":"","sources":["../../src/core/accessibility-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessibility-runner.js","sourceRoot":"","sources":["../../src/core/accessibility-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Shared HTTP Basic Auth utilities for tools that use URLs.
3
+ * Use when auditing or fetching URLs that require Basic Authentication.
4
+ */
5
+ export interface ParsedUrlCredentials {
6
+ urlWithoutAuth: string;
7
+ username?: string;
8
+ password?: string;
9
+ }
10
+ export interface BasicAuthParams {
11
+ basicAuthUsername?: string;
12
+ basicAuthPassword?: string;
13
+ }
14
+ /**
15
+ * Parse Basic Auth credentials from URL if present (e.g. https://user:password@host/path).
16
+ * Returns URL with credentials stripped and optional username/password.
17
+ */
18
+ export declare function parseUrlCredentials(url: string): ParsedUrlCredentials;
19
+ /**
20
+ * Build the Authorization header value for HTTP Basic Auth.
21
+ * Returns "Basic <base64(user:password)>" or null if either credential is missing.
22
+ */
23
+ export declare function getBasicAuthHeader(username: string | undefined, password: string | undefined): string | null;
24
+ /**
25
+ * Resolve URL and Basic Auth from a URL (possibly with user:password@host) and optional
26
+ * explicit username/password. Explicit params override credentials embedded in the URL.
27
+ * Returns normalized URL without auth and credentials suitable for passing to auditUrl etc.
28
+ */
29
+ export declare function resolveBasicAuth(url: string, explicitUsername?: string, explicitPassword?: string): {
30
+ urlWithoutAuth: string;
31
+ basicAuthUsername: string | undefined;
32
+ basicAuthPassword: string | undefined;
33
+ basicAuthHeader: string | null;
34
+ };
35
+ //# sourceMappingURL=basic-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic-auth.d.ts","sourceRoot":"","sources":["../../src/core/basic-auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAcrE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,GAAG,IAAI,CAIf;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,gBAAgB,CAAC,EAAE,MAAM,EACzB,gBAAgB,CAAC,EAAE,MAAM,GACxB;IACD,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B,CAWA"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Shared HTTP Basic Auth utilities for tools that use URLs.
3
+ * Use when auditing or fetching URLs that require Basic Authentication.
4
+ */
5
+ /**
6
+ * Parse Basic Auth credentials from URL if present (e.g. https://user:password@host/path).
7
+ * Returns URL with credentials stripped and optional username/password.
8
+ */
9
+ export function parseUrlCredentials(url) {
10
+ try {
11
+ const parsed = new URL(url);
12
+ if (parsed.username || parsed.password) {
13
+ const username = decodeURIComponent(parsed.username);
14
+ const password = decodeURIComponent(parsed.password);
15
+ parsed.username = '';
16
+ parsed.password = '';
17
+ return { urlWithoutAuth: parsed.toString(), username, password };
18
+ }
19
+ }
20
+ catch {
21
+ // ignore invalid URL
22
+ }
23
+ return { urlWithoutAuth: url };
24
+ }
25
+ /**
26
+ * Build the Authorization header value for HTTP Basic Auth.
27
+ * Returns "Basic <base64(user:password)>" or null if either credential is missing.
28
+ */
29
+ export function getBasicAuthHeader(username, password) {
30
+ if (username == null || password == null)
31
+ return null;
32
+ const encoded = Buffer.from(`${username}:${password}`, 'utf8').toString('base64');
33
+ return `Basic ${encoded}`;
34
+ }
35
+ /**
36
+ * Resolve URL and Basic Auth from a URL (possibly with user:password@host) and optional
37
+ * explicit username/password. Explicit params override credentials embedded in the URL.
38
+ * Returns normalized URL without auth and credentials suitable for passing to auditUrl etc.
39
+ */
40
+ export function resolveBasicAuth(url, explicitUsername, explicitPassword) {
41
+ const parsed = parseUrlCredentials(url);
42
+ const basicAuthUsername = explicitUsername ?? parsed.username;
43
+ const basicAuthPassword = explicitPassword ?? parsed.password;
44
+ const basicAuthHeader = getBasicAuthHeader(basicAuthUsername, basicAuthPassword);
45
+ return {
46
+ urlWithoutAuth: parsed.urlWithoutAuth,
47
+ basicAuthUsername,
48
+ basicAuthPassword,
49
+ basicAuthHeader,
50
+ };
51
+ }
52
+ //# sourceMappingURL=basic-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic-auth.js","sourceRoot":"","sources":["../../src/core/basic-auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACpD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACpD,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAA;YACpB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAA;YACpB,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;QAClE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;IACvB,CAAC;IACD,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,CAAA;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAA4B,EAC5B,QAA4B;IAE5B,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IACrD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACjF,OAAO,SAAS,OAAO,EAAE,CAAA;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,GAAW,EACX,gBAAyB,EACzB,gBAAyB;IAOzB,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,iBAAiB,GAAG,gBAAgB,IAAI,MAAM,CAAC,QAAQ,CAAA;IAC7D,MAAM,iBAAiB,GAAG,gBAAgB,IAAI,MAAM,CAAC,QAAQ,CAAA;IAC7D,MAAM,eAAe,GAAG,kBAAkB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA;IAChF,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,iBAAiB;QACjB,iBAAiB;QACjB,eAAe;KAChB,CAAA;AACH,CAAC"}
@@ -25,6 +25,8 @@ export interface ServerConfig {
25
25
  screenSizes: ScreenSize[];
26
26
  headless: boolean;
27
27
  }
28
+ /** Reset config cache (for testing only). */
29
+ export declare function __resetConfigCache(): void;
28
30
  export declare function loadConfig(): ServerConfig;
29
31
  /**
30
32
  * Get the current server config (loads from env if not yet loaded).
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,SAAS,GACjB,OAAO,GACP,QAAQ,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,CAAA;AAEb,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,CAAA;AAEtC,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAyDD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,UAAU,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAgED,wBAAgB,UAAU,IAAI,YAAY,CAoBzC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,YAAY,CAExC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAO/C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,SAAS,GACjB,OAAO,GACP,QAAQ,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,CAAA;AAEb,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,CAAA;AAEtC,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAyDD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,UAAU,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAgED,6CAA6C;AAC7C,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,wBAAgB,UAAU,IAAI,YAAY,CAoBzC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,YAAY,CAExC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAO/C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C"}
@@ -114,6 +114,10 @@ function parseScreenSizes(input) {
114
114
  * Call once at startup; result is cached.
115
115
  */
116
116
  let cachedConfig = null;
117
+ /** Reset config cache (for testing only). */
118
+ export function __resetConfigCache() {
119
+ cachedConfig = null;
120
+ }
117
121
  export function loadConfig() {
118
122
  if (cachedConfig)
119
123
  return cachedConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}