@dallask/a11y-mcp-srv 1.1.11 → 1.1.13-dev.1

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 (40) hide show
  1. package/dist/core/accessibility-runner.d.ts +17 -13
  2. package/dist/core/accessibility-runner.d.ts.map +1 -1
  3. package/dist/core/accessibility-runner.js +93 -57
  4. package/dist/core/accessibility-runner.js.map +1 -1
  5. package/dist/core/playwright-bootstrap.d.ts +3 -0
  6. package/dist/core/playwright-bootstrap.d.ts.map +1 -1
  7. package/dist/core/playwright-bootstrap.js +40 -5
  8. package/dist/core/playwright-bootstrap.js.map +1 -1
  9. package/dist/core/result-processor.d.ts +22 -5
  10. package/dist/core/result-processor.d.ts.map +1 -1
  11. package/dist/core/result-processor.js +115 -101
  12. package/dist/core/result-processor.js.map +1 -1
  13. package/dist/server.js +2 -5
  14. package/dist/server.js.map +1 -1
  15. package/dist/tools/aggregate.d.ts.map +1 -1
  16. package/dist/tools/aggregate.js +14 -17
  17. package/dist/tools/aggregate.js.map +1 -1
  18. package/dist/tools/analysis.d.ts.map +1 -1
  19. package/dist/tools/analysis.js +61 -111
  20. package/dist/tools/analysis.js.map +1 -1
  21. package/dist/tools/audit.d.ts.map +1 -1
  22. package/dist/tools/audit.js +3 -2
  23. package/dist/tools/audit.js.map +1 -1
  24. package/dist/tools/export.d.ts.map +1 -1
  25. package/dist/tools/export.js +21 -9
  26. package/dist/tools/export.js.map +1 -1
  27. package/dist/tools/filter.d.ts.map +1 -1
  28. package/dist/tools/filter.js +24 -12
  29. package/dist/tools/filter.js.map +1 -1
  30. package/dist/tools/session.d.ts.map +1 -1
  31. package/dist/tools/session.js +3 -2
  32. package/dist/tools/session.js.map +1 -1
  33. package/dist/tools/visualize.d.ts.map +1 -1
  34. package/dist/tools/visualize.js +16 -30
  35. package/dist/tools/visualize.js.map +1 -1
  36. package/dist/types/index.d.ts +13 -12
  37. package/dist/types/index.d.ts.map +1 -1
  38. package/dist/types/index.js +19 -1
  39. package/dist/types/index.js.map +1 -1
  40. package/package.json +1 -1
@@ -62,27 +62,28 @@ export declare class AccessibilityRunner {
62
62
  */
63
63
  private axeToAccessibilityResults;
64
64
  /**
65
- * Run IBM Equal Access (accessibility-checker) analysis for a URL
65
+ * Map axe-style WCAG tags to IBM Equal Access policy IDs.
66
+ * ACE is scoped at scan time via setConfig({ policies }) — not post-filtered.
67
+ * wcag22* → WCAG_2_2
68
+ * wcag21* → WCAG_2_1
69
+ * wcag2* → WCAG_2_0
70
+ * best-practice / (default) → IBM_Accessibility
66
71
  */
67
- private runACEAnalysis;
72
+ private acePolicesFromTags;
68
73
  /**
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'
74
+ * Run IBM Equal Access (accessibility-checker) analysis for a URL.
75
+ * WCAG level/policy is configured via setConfig before the scan tags are
76
+ * engine settings here, not a post-scan filter.
77
77
  */
78
- private aceLevelToImpact;
78
+ private runACEAnalysis;
79
79
  /**
80
80
  * Compare impact severity (higher = worse). Used to take the worst impact per rule.
81
+ * Uses IMPACT_ORDER for both axe and ACE native levels.
81
82
  */
82
83
  private impactRank;
83
84
  /**
84
85
  * Convert ACE report to our AccessibilityResults format.
85
- * Preserves ACE severity (critical/serious/moderate) so output matches the IBM browser tool.
86
+ * Uses ACE native levels (violation, potentialviolation, recommendation, etc.).
86
87
  */
87
88
  private aceToAccessibilityResults;
88
89
  /**
@@ -100,7 +101,10 @@ export declare class AccessibilityRunner {
100
101
  */
101
102
  private getRuleTagMapping;
102
103
  /**
103
- * Check if a rule matches any of the specified tags
104
+ * Check if a rule matches any of the specified tags.
105
+ * Only uses ruleData.tags when the array is non-empty; otherwise falls back to
106
+ * the static mapping and finally defaults to true (include the rule).
107
+ * This prevents rules with tags:[] from being silently dropped.
104
108
  */
105
109
  private ruleMatchesTags;
106
110
  /**
@@ -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;CACF;AA+FD;;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;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;OAIG;YACW,cAAc;IAoB5B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAKlB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAoEjC;;OAEG;YACW,wBAAwB;IA2BtC;;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;CA4DtC"}
@@ -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
  */
@@ -121,19 +154,19 @@ export class AccessibilityRunner {
121
154
  violations[categoryKey] = { count: 0, items: {} };
122
155
  }
123
156
  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';
157
+ const domInfo = (v.nodes || []).map((n) => {
158
+ const selector = n.target && n.target[0];
159
+ const { tagName, className, id } = parseDomFromSnippet(n.html ?? null, selector);
160
+ return {
161
+ innerHTML: n.html ? n.html.substring(0, 200) : null,
162
+ selector,
163
+ tagName,
164
+ className,
165
+ id,
166
+ };
167
+ });
168
+ // Use axe-core native impact levels (critical, serious, moderate, minor)
169
+ const impact = v.impact?.toLowerCase() ?? 'moderate';
137
170
  const ruleData = {
138
171
  count: v.nodes?.length ?? 0,
139
172
  xpaths,
@@ -155,12 +188,36 @@ export class AccessibilityRunner {
155
188
  };
156
189
  }
157
190
  /**
158
- * Run IBM Equal Access (accessibility-checker) analysis for a URL
191
+ * Map axe-style WCAG tags to IBM Equal Access policy IDs.
192
+ * ACE is scoped at scan time via setConfig({ policies }) — not post-filtered.
193
+ * wcag22* → WCAG_2_2
194
+ * wcag21* → WCAG_2_1
195
+ * wcag2* → WCAG_2_0
196
+ * best-practice / (default) → IBM_Accessibility
159
197
  */
160
- async runACEAnalysis(url, _tags) {
198
+ acePolicesFromTags(tags) {
199
+ if (!tags || tags.length === 0)
200
+ return ['IBM_Accessibility'];
201
+ if (tags.some((t) => t.startsWith('wcag22')))
202
+ return ['WCAG_2_2'];
203
+ if (tags.some((t) => t.startsWith('wcag21')))
204
+ return ['WCAG_2_1'];
205
+ if (tags.some((t) => t.startsWith('wcag2')))
206
+ return ['WCAG_2_0'];
207
+ return ['IBM_Accessibility'];
208
+ }
209
+ /**
210
+ * Run IBM Equal Access (accessibility-checker) analysis for a URL.
211
+ * WCAG level/policy is configured via setConfig before the scan — tags are
212
+ * engine settings here, not a post-scan filter.
213
+ */
214
+ async runACEAnalysis(url, tags) {
161
215
  const aChecker = await import('accessibility-checker');
162
216
  const label = `audit-${Date.now()}`;
217
+ const policies = this.acePolicesFromTags(tags);
218
+ debugLog(`ACE policies: ${policies.join(', ')}`);
163
219
  try {
220
+ await aChecker.setConfig({ policies, ruleArchive: 'latest' });
164
221
  const result = await aChecker.getCompliance(url, label);
165
222
  const report = result.report;
166
223
  return this.aceToAccessibilityResults(report, url);
@@ -169,43 +226,18 @@ export class AccessibilityRunner {
169
226
  await aChecker.close?.();
170
227
  }
171
228
  }
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
229
  /**
193
230
  * Compare impact severity (higher = worse). Used to take the worst impact per rule.
231
+ * Uses IMPACT_ORDER for both axe and ACE native levels.
194
232
  */
195
233
  impactRank(a) {
196
234
  if (!a)
197
235
  return 0;
198
- const r = {
199
- violation: 4,
200
- 'needs-review': 3,
201
- recommendation: 2,
202
- minor: 1,
203
- };
204
- return r[a] ?? 0;
236
+ return IMPACT_ORDER[a.toLowerCase()] ?? 2;
205
237
  }
206
238
  /**
207
239
  * Convert ACE report to our AccessibilityResults format.
208
- * Preserves ACE severity (critical/serious/moderate) so output matches the IBM browser tool.
240
+ * Uses ACE native levels (violation, potentialviolation, recommendation, etc.).
209
241
  */
210
242
  aceToAccessibilityResults(report, url) {
211
243
  const violations = { error: { count: 0, items: {} } };
@@ -213,10 +245,12 @@ export class AccessibilityRunner {
213
245
  const violationItems = report.results.filter((r) => r.level === 'violation' ||
214
246
  r.level === 'potentialviolation' ||
215
247
  r.level === 'recommendation' ||
216
- r.level === 'potentialrecommendation');
248
+ r.level === 'potentialrecommendation' ||
249
+ r.level === 'manual');
217
250
  violationItems.forEach((item) => {
218
251
  const ruleId = item.ruleId;
219
- const itemImpact = this.aceLevelToImpact(item.level);
252
+ // Use ACE native level (violation, potentialviolation, recommendation, etc.)
253
+ const itemImpact = item.level.toLowerCase();
220
254
  if (!violations.error.items[ruleId]) {
221
255
  violations.error.items[ruleId] = {
222
256
  count: 0,
@@ -230,9 +264,13 @@ export class AccessibilityRunner {
230
264
  const rule = violations.error.items[ruleId];
231
265
  rule.count += 1;
232
266
  rule.xpaths.push(item.path.dom || '');
267
+ const { tagName, className, id } = parseDomFromSnippet(item.snippet ?? null, item.path.dom);
233
268
  rule.domInfo.push({
234
269
  innerHTML: item.snippet ? item.snippet.substring(0, 200) : null,
235
270
  selector: item.path.dom,
271
+ tagName,
272
+ className,
273
+ id,
236
274
  });
237
275
  if (itemImpact && this.impactRank(itemImpact) > this.impactRank(rule.impact)) {
238
276
  rule.impact = itemImpact;
@@ -328,12 +366,15 @@ export class AccessibilityRunner {
328
366
  };
329
367
  }
330
368
  /**
331
- * Check if a rule matches any of the specified tags
369
+ * Check if a rule matches any of the specified tags.
370
+ * Only uses ruleData.tags when the array is non-empty; otherwise falls back to
371
+ * the static mapping and finally defaults to true (include the rule).
372
+ * This prevents rules with tags:[] from being silently dropped.
332
373
  */
333
374
  ruleMatchesTags(ruleId, ruleData, tags) {
334
375
  if (!tags || tags.length === 0)
335
376
  return true;
336
- if (ruleData.tags && Array.isArray(ruleData.tags)) {
377
+ if (ruleData.tags && Array.isArray(ruleData.tags) && ruleData.tags.length > 0) {
337
378
  return ruleData.tags.some((tag) => tags.includes(tag));
338
379
  }
339
380
  const mapping = this.getRuleTagMapping();
@@ -376,20 +417,15 @@ export class AccessibilityRunner {
376
417
  const { url, waitForLoad = 'networkidle', timeout = 30000, tags, engine = 'axe', applyTagFilter = false, } = config;
377
418
  try {
378
419
  if (engine === 'ace') {
420
+ // ACE is scoped at scan time via setConfig({ policies }) — WCAG level is an
421
+ // engine setting, not a post-scan filter. Never apply filterByTags on ACE
422
+ // results because ACE rules carry tags:[] and post-filtering would drop everything.
379
423
  debugLog(`Running IBM Equal Access (ACE) analysis on ${url}...`);
380
424
  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
- }
389
425
  return {
390
426
  accessibilityResults,
391
- filteredResults,
392
- appliedFilters,
427
+ filteredResults: undefined,
428
+ appliedFilters: tags && tags.length > 0 ? { tags } : undefined,
393
429
  };
394
430
  }
395
431
  await this.navigateAndWait(page, url, waitForLoad, timeout);
@@ -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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"}
@@ -6,12 +6,15 @@
6
6
  import { chromium, type Browser } from 'playwright';
7
7
  /** Detect the "Executable doesn't exist" error from Playwright (missing browser install). */
8
8
  export declare function isMissingBrowserError(error: unknown): boolean;
9
+ /** Detect "Failed to launch the browser process" (often missing system deps on Linux/Docker). */
10
+ export declare function isLaunchFailureError(error: unknown): boolean;
9
11
  /** Run `playwright install chromium` so the current process's cache has the browser. */
10
12
  export declare function installPlaywrightChromium(): void;
11
13
  export type LaunchOptions = Parameters<typeof chromium.launch>[0];
12
14
  /**
13
15
  * Launch Chromium, installing the browser if missing (e.g. first run in CodeMie).
14
16
  * Retries launch once after install on "Executable doesn't exist".
17
+ * On "Failed to launch the browser process", tries `playwright install chromium --with-deps` and retries once.
15
18
  * Uses robust launch args for CI/containers; caller args are merged in.
16
19
  */
17
20
  export declare function launchChromium(options: LaunchOptions): Promise<Browser>;
@@ -1 +1 @@
1
- {"version":3,"file":"playwright-bootstrap.d.ts","sourceRoot":"","sources":["../../src/core/playwright-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAA;AAGnD,6FAA6F;AAC7F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAM7D;AASD,wFAAwF;AACxF,wBAAgB,yBAAyB,IAAI,IAAI,CAgBhD;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAiDjE;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAc7E"}
1
+ {"version":3,"file":"playwright-bootstrap.d.ts","sourceRoot":"","sources":["../../src/core/playwright-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAA;AAGnD,6FAA6F;AAC7F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAM7D;AAED,iGAAiG;AACjG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG5D;AASD,wFAAwF;AACxF,wBAAgB,yBAAyB,IAAI,IAAI,CAgBhD;AA2BD,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAiDjE;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAuB7E"}
@@ -14,6 +14,11 @@ export function isMissingBrowserError(error) {
14
14
  return ((msg.includes('executable doesn\'t exist') || msg.includes('executable does not exist')) &&
15
15
  (msg.includes('ms-playwright') || msg.includes('chromium_headless_shell') || msg.includes('playwright')));
16
16
  }
17
+ /** Detect "Failed to launch the browser process" (often missing system deps on Linux/Docker). */
18
+ export function isLaunchFailureError(error) {
19
+ const msg = toErrorMessage(error).toLowerCase();
20
+ return msg.includes('failed to launch the browser process');
21
+ }
17
22
  /** Resolve path to the Playwright CLI (same package as the one we import). */
18
23
  function getPlaywrightCliPath() {
19
24
  const require = createRequire(import.meta.url);
@@ -39,6 +44,29 @@ export function installPlaywrightChromium() {
39
44
  throw new Error(`Playwright Chromium install failed: ${msg}`);
40
45
  }
41
46
  }
47
+ /**
48
+ * Run `playwright install chromium --with-deps` to install browser + system dependencies
49
+ * (e.g. libgbm, libnss3 on Linux). Use when the browser binary exists but fails to launch.
50
+ * May require root/sudo in some environments; best-effort only.
51
+ */
52
+ function installPlaywrightChromiumWithDeps() {
53
+ const cliPath = getPlaywrightCliPath();
54
+ const node = process.execPath;
55
+ console.error('[accessibility-mcp-server] Installing Chromium with system dependencies (--with-deps)...');
56
+ try {
57
+ execSync(`"${node}" "${cliPath}" install chromium --with-deps`, {
58
+ stdio: 'inherit',
59
+ env: process.env,
60
+ cwd: process.cwd(),
61
+ });
62
+ console.error('[accessibility-mcp-server] Chromium + deps install completed.');
63
+ }
64
+ catch (err) {
65
+ const msg = toErrorMessage(err);
66
+ console.error(`[accessibility-mcp-server] install --with-deps failed: ${msg}`);
67
+ throw new Error(`Chromium system-deps install failed: ${msg}. You may need to run 'npx playwright install --with-deps' manually with appropriate permissions.`);
68
+ }
69
+ }
42
70
  /**
43
71
  * Chromium args that improve launch success in CI, containers, and restricted environments
44
72
  * (e.g. CodeMie, Docker, headless Linux). Reduces GPU/sandbox/display issues.
@@ -87,6 +115,7 @@ function mergeLaunchArgs(callerArgs) {
87
115
  /**
88
116
  * Launch Chromium, installing the browser if missing (e.g. first run in CodeMie).
89
117
  * Retries launch once after install on "Executable doesn't exist".
118
+ * On "Failed to launch the browser process", tries `playwright install chromium --with-deps` and retries once.
90
119
  * Uses robust launch args for CI/containers; caller args are merged in.
91
120
  */
92
121
  export async function launchChromium(options) {
@@ -96,14 +125,20 @@ export async function launchChromium(options) {
96
125
  headless: options?.headless !== false,
97
126
  args,
98
127
  };
128
+ const tryLaunch = async () => chromium.launch(launchOpts);
99
129
  try {
100
- return await chromium.launch(launchOpts);
130
+ return await tryLaunch();
101
131
  }
102
132
  catch (error) {
103
- if (!isMissingBrowserError(error))
104
- throw error;
105
- installPlaywrightChromium();
106
- return await chromium.launch(launchOpts);
133
+ if (isMissingBrowserError(error)) {
134
+ installPlaywrightChromium();
135
+ return await tryLaunch();
136
+ }
137
+ if (isLaunchFailureError(error)) {
138
+ installPlaywrightChromiumWithDeps();
139
+ return await tryLaunch();
140
+ }
141
+ throw error;
107
142
  }
108
143
  }
109
144
  //# sourceMappingURL=playwright-bootstrap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"playwright-bootstrap.js","sourceRoot":"","sources":["../../src/core/playwright-bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playwright-bootstrap.js","sourceRoot":"","sources":["../../src/core/playwright-bootstrap.ts"],"names":[],"mappings":"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"}
@@ -3,19 +3,36 @@
3
3
  * Converts raw accessibility results into structured, prioritized, and human-readable format
4
4
  */
5
5
  import type { AccessibilityResults, AuditResult, AppliedFilters } from '../types/index.js';
6
+ /** Options passed when processing audit results (e.g. WCAG label used for the audit) */
7
+ export interface ProcessOptions {
8
+ /** WCAG version and level used for the audit (e.g. "WCAG 2.2 AA"). Used when rule tags are empty. */
9
+ auditWcagLabel?: string;
10
+ }
11
+ /**
12
+ * Derive full WCAG label from engine tags (e.g. wcag22aa -> "WCAG 2.2 AA").
13
+ * Used for display and for audit fallback.
14
+ */
15
+ export declare function getWcagLabelFromTags(tags: string[]): string;
16
+ /** True if wcagLevel string matches the given level (A, AA, AAA); supports full label e.g. "WCAG 2.2 AA". */
17
+ export declare function wcagLevelMatches(level: string, target: 'A' | 'AA' | 'AAA'): boolean;
18
+ /** Numeric order for sorting by WCAG level (A=3, AA=2, AAA=1). Supports full label e.g. "WCAG 2.2 AA". */
19
+ export declare function wcagLevelOrder(level: string): number;
6
20
  /**
7
21
  * ResultProcessor class - Formats and processes accessibility results
8
22
  */
9
23
  export declare class ResultProcessor {
10
24
  /**
11
- * Get WCAG level from tags
25
+ * Get WCAG level for display (full label e.g. "WCAG 2.2 AA"). Uses tags when present, else audit fallback.
12
26
  */
13
27
  private getWCAGLevel;
14
28
  /**
15
- * Determine impact level from category, rule, and optional engine-reported impact.
16
- * When ruleData.impact is set (e.g. from ACE), use it so output matches the browser tool.
29
+ * Determine impact level from engine-reported impact (axe or ACE native levels).
17
30
  */
18
31
  private getImpactLevel;
32
+ /**
33
+ * Get impact rank for ordering (higher = worse). Uses IMPACT_ORDER.
34
+ */
35
+ private impactRank;
19
36
  /**
20
37
  * Calculate priority score for an issue (higher = more important)
21
38
  */
@@ -25,7 +42,7 @@ export declare class ResultProcessor {
25
42
  */
26
43
  private generateFixSuggestion;
27
44
  /**
28
- * Generate user impact description
45
+ * Generate user impact description from engine-native impact level.
29
46
  */
30
47
  private generateUserImpact;
31
48
  /**
@@ -64,6 +81,6 @@ export declare class ResultProcessor {
64
81
  /**
65
82
  * Process accessibility results into structured audit result
66
83
  */
67
- process(accessibilityResults: AccessibilityResults, appliedFilters?: AppliedFilters): AuditResult;
84
+ process(accessibilityResults: AccessibilityResults, appliedFilters?: AppliedFilters, options?: ProcessOptions): AuditResult;
68
85
  }
69
86
  //# sourceMappingURL=result-processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"result-processor.d.ts","sourceRoot":"","sources":["../../src/core/result-processor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,oBAAoB,EAEpB,WAAW,EAOX,cAAc,EAEf,MAAM,mBAAmB,CAAA;AAE1B;;GAEG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmCzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwC7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqEzB;;OAEG;IACH,OAAO,CAAC,cAAc;IA8BtB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmB/B;;OAEG;IACH,OAAO,CAAC,eAAe;IA0BvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6CzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA4ChC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAsErC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAqC3B;;OAEG;IACH,OAAO,CACL,oBAAoB,EAAE,oBAAoB,EAC1C,cAAc,CAAC,EAAE,cAAc,GAC9B,WAAW;CAiDf"}
1
+ {"version":3,"file":"result-processor.d.ts","sourceRoot":"","sources":["../../src/core/result-processor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,oBAAoB,EAEpB,WAAW,EAOX,cAAc,EAEf,MAAM,mBAAmB,CAAA;AAG1B,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,qGAAqG;IACrG,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAW3D;AAED,6GAA6G;AAC7G,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,OAAO,CAInF;AAED,0GAA0G;AAC1G,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKpD;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwC7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiFzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAqBtB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmB/B;;OAEG;IACH,OAAO,CAAC,eAAe;IA0BvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA0CzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAwChC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAsErC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;OAEG;IACH,OAAO,CACL,oBAAoB,EAAE,oBAAoB,EAC1C,cAAc,CAAC,EAAE,cAAc,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW;CAiDf"}