mcp-accessibility-scanner 3.0.0 → 3.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.
- package/README.md +232 -7
- package/lib/browserContextFactory.js +645 -32
- package/lib/browserContextFactory.js.map +1 -1
- package/lib/browserServerBackend.js +8 -2
- package/lib/browserServerBackend.js.map +1 -1
- package/lib/context.js +179 -62
- package/lib/context.js.map +1 -1
- package/lib/extension/extensionContextFactory.js +3 -0
- package/lib/extension/extensionContextFactory.js.map +1 -1
- package/lib/mcp/proxyBackend.js +1 -0
- package/lib/mcp/proxyBackend.js.map +1 -1
- package/lib/networkPolicy.js +73 -0
- package/lib/networkPolicy.js.map +1 -0
- package/lib/program.js +21 -3
- package/lib/program.js.map +1 -1
- package/lib/response.js +8 -3
- package/lib/response.js.map +1 -1
- package/lib/tab.js +117 -16
- package/lib/tab.js.map +1 -1
- package/lib/tools/auditKeyboard.js +203 -0
- package/lib/tools/auditKeyboard.js.map +1 -1
- package/lib/tools/auditScreenReader.js +826 -0
- package/lib/tools/auditScreenReader.js.map +1 -0
- package/lib/tools/auditSite.js +267 -86
- package/lib/tools/auditSite.js.map +1 -1
- package/lib/tools/axe.js +479 -21
- package/lib/tools/axe.js.map +1 -1
- package/lib/tools/dialogs.js +18 -4
- package/lib/tools/dialogs.js.map +1 -1
- package/lib/tools/evaluate.js +34 -5
- package/lib/tools/evaluate.js.map +1 -1
- package/lib/tools/keyboard.js +1 -2
- package/lib/tools/keyboard.js.map +1 -1
- package/lib/tools/navigate.js +2 -1
- package/lib/tools/navigate.js.map +1 -1
- package/lib/tools/network.js +225 -8
- package/lib/tools/network.js.map +1 -1
- package/lib/tools/scanPageMatrix.js +134 -43
- package/lib/tools/scanPageMatrix.js.map +1 -1
- package/lib/tools/screenshot.js +3 -3
- package/lib/tools/screenshot.js.map +1 -1
- package/lib/tools/snapshot.js +269 -8
- package/lib/tools/snapshot.js.map +1 -1
- package/lib/tools/tool.js.map +1 -1
- package/lib/tools/utils.js +62 -6
- package/lib/tools/utils.js.map +1 -1
- package/lib/tools.js +5 -2
- package/lib/tools.js.map +1 -1
- package/lib/utils/dataUrl.js +58 -35
- package/lib/utils/dataUrl.js.map +1 -1
- package/lib/utils/jsSource.js +187 -0
- package/lib/utils/jsSource.js.map +1 -0
- package/lib/vscode/browserContextFactory.js +83 -0
- package/lib/vscode/browserContextFactory.js.map +1 -0
- package/lib/vscode/host.js +16 -1
- package/lib/vscode/host.js.map +1 -1
- package/lib/vscode/main.js +1 -33
- package/lib/vscode/main.js.map +1 -1
- package/package.json +6 -4
|
@@ -29,6 +29,60 @@ function isLikelySkipLink(point) {
|
|
|
29
29
|
return false;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
+
// WCAG 2.2 SC 2.5.8 Target Size (Minimum), in CSS pixels.
|
|
33
|
+
const MIN_TARGET_SIZE_PX = 24;
|
|
34
|
+
function rectCenter(rect) {
|
|
35
|
+
return { x: rect.x + rect.width / 2, y: rect.y + rect.height / 2 };
|
|
36
|
+
}
|
|
37
|
+
function isUndersizedTarget(rect) {
|
|
38
|
+
return rect.width < MIN_TARGET_SIZE_PX || rect.height < MIN_TARGET_SIZE_PX;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* SC 2.5.8 spacing exception: an undersized target passes when a 24px-diameter
|
|
42
|
+
* circle centered on its bounding box intersects neither another target's box nor
|
|
43
|
+
* the equivalent circle of another undersized target.
|
|
44
|
+
*/
|
|
45
|
+
function meetsSpacingException(rect, neighbors) {
|
|
46
|
+
const center = rectCenter(rect);
|
|
47
|
+
const radius = MIN_TARGET_SIZE_PX / 2;
|
|
48
|
+
return neighbors.every(neighbor => {
|
|
49
|
+
// Every neighbor is "another target", so its box is tested first; an
|
|
50
|
+
// undersized one additionally owns a circle, and both must be cleared.
|
|
51
|
+
const nearestX = Math.min(Math.max(center.x, neighbor.x), neighbor.x + neighbor.width);
|
|
52
|
+
const nearestY = Math.min(Math.max(center.y, neighbor.y), neighbor.y + neighbor.height);
|
|
53
|
+
if (Math.hypot(center.x - nearestX, center.y - nearestY) < radius)
|
|
54
|
+
return false;
|
|
55
|
+
if (!isUndersizedTarget(neighbor))
|
|
56
|
+
return true;
|
|
57
|
+
const neighborCenter = rectCenter(neighbor);
|
|
58
|
+
return Math.hypot(center.x - neighborCenter.x, center.y - neighborCenter.y) >= MIN_TARGET_SIZE_PX;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
export function meetsTargetSizeMinimum(point) {
|
|
62
|
+
const rect = point.boundingBox;
|
|
63
|
+
// Document root / non-interactive focus stops are not pointer targets at all.
|
|
64
|
+
if (!point.isPointerTarget || !rect)
|
|
65
|
+
return true;
|
|
66
|
+
if (!isUndersizedTarget(rect))
|
|
67
|
+
return true;
|
|
68
|
+
// ponytail: only the spacing and inline exceptions are evaluated. The
|
|
69
|
+
// user-agent-control, essential and equivalent-alternative exceptions need
|
|
70
|
+
// author intent that is not observable from the DOM, so undersized targets
|
|
71
|
+
// relying on them are reported and must be triaged by hand. Upgrade path:
|
|
72
|
+
// compare against a default-stylesheet baseline for user-agent control, and
|
|
73
|
+
// accept an allowlist of selectors for essential/equivalent.
|
|
74
|
+
if (point.inlineTarget)
|
|
75
|
+
return true;
|
|
76
|
+
return meetsSpacingException(rect, point.neighborTargets);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* SC 2.4.11 Focus Not Obscured (Minimum) is only violated when the focused
|
|
80
|
+
* component is *entirely* hidden, so a partially covered target passes here.
|
|
81
|
+
*/
|
|
82
|
+
export function isFocusEntirelyObscured(point) {
|
|
83
|
+
const obstruction = point.obstruction;
|
|
84
|
+
return obstruction !== null && obstruction.sampled > 0 && obstruction.blocked === obstruction.sampled;
|
|
85
|
+
}
|
|
32
86
|
function didUrlHashChange(urlBefore, urlAfter) {
|
|
33
87
|
if (!urlBefore || !urlAfter)
|
|
34
88
|
return false;
|
|
@@ -91,6 +145,14 @@ export async function runKeyboardFocusAudit(options, callbacks) {
|
|
|
91
145
|
await maybeCaptureIssueScreenshot(options, callbacks, screenshots, `focus-jump-${step}`);
|
|
92
146
|
}
|
|
93
147
|
}
|
|
148
|
+
if (options.checkTargetSize && !meetsTargetSizeMinimum(stop)) {
|
|
149
|
+
stop.issues.push('target-size-below-minimum');
|
|
150
|
+
await maybeCaptureIssueScreenshot(options, callbacks, screenshots, `target-size-${step}`);
|
|
151
|
+
}
|
|
152
|
+
if (options.checkFocusObscured && isFocusEntirelyObscured(stop)) {
|
|
153
|
+
stop.issues.push('focus-entirely-obscured');
|
|
154
|
+
await maybeCaptureIssueScreenshot(options, callbacks, screenshots, `focus-obscured-${step}`);
|
|
155
|
+
}
|
|
94
156
|
if (options.checkSkipLink && step <= options.skipLinkMaxTabs && isLikelySkipLink(stop) && skipLinkStep === null) {
|
|
95
157
|
skipLinkStep = step;
|
|
96
158
|
if (options.activateSkipLink && !skipLinkActivated) {
|
|
@@ -151,6 +213,8 @@ export async function runKeyboardFocusAudit(options, callbacks) {
|
|
|
151
213
|
},
|
|
152
214
|
focusVisibilityIssues: stops.filter(stop => stop.issues.includes('no-visible-focus-indicator')),
|
|
153
215
|
focusJumpIssues: stops.filter(stop => stop.issues.includes('focus-jump-or-not-visible')),
|
|
216
|
+
targetSizeIssues: stops.filter(stop => stop.issues.includes('target-size-below-minimum')),
|
|
217
|
+
focusObscuredIssues: stops.filter(stop => stop.issues.includes('focus-entirely-obscured')),
|
|
154
218
|
focusTrap: {
|
|
155
219
|
detected: focusTrapDetectedAt !== null,
|
|
156
220
|
step: focusTrapDetectedAt,
|
|
@@ -171,6 +235,8 @@ const auditKeyboardSchema = z.object({
|
|
|
171
235
|
checkFocusTrap: z.boolean().default(true).describe('Detect likely focus trap/cycle.'),
|
|
172
236
|
checkFocusVisibility: z.boolean().default(true).describe('Check focus ring visibility heuristic.'),
|
|
173
237
|
checkFocusJumps: z.boolean().default(true).describe('Detect large scroll jumps and invisible focus.'),
|
|
238
|
+
checkTargetSize: z.boolean().default(true).describe('Check target size against WCAG 2.2 SC 2.5.8 (24x24 CSS px, spacing/inline exceptions applied).'),
|
|
239
|
+
checkFocusObscured: z.boolean().default(true).describe('Check that the focused element is not entirely hidden behind other content (WCAG 2.2 SC 2.4.11).'),
|
|
174
240
|
jumpScrollThresholdPx: z.number().int().min(1).default(800).describe('Scroll delta threshold for jump detection.'),
|
|
175
241
|
screenshotOnIssue: z.boolean().default(false).describe('Capture screenshots for detected issues.'),
|
|
176
242
|
maxIssueScreenshots: z.number().int().min(1).max(20).default(3).describe('Maximum screenshots saved when screenshotOnIssue=true.'),
|
|
@@ -202,6 +268,10 @@ const auditKeyboard = defineTabTool({
|
|
|
202
268
|
boundingBox: null,
|
|
203
269
|
inViewport: false,
|
|
204
270
|
hasVisibleIndicator: false,
|
|
271
|
+
isPointerTarget: false,
|
|
272
|
+
inlineTarget: false,
|
|
273
|
+
neighborTargets: [],
|
|
274
|
+
obstruction: null,
|
|
205
275
|
scrollX,
|
|
206
276
|
scrollY,
|
|
207
277
|
};
|
|
@@ -225,6 +295,125 @@ const auditKeyboard = defineTabTool({
|
|
|
225
295
|
&& rect.right >= 0
|
|
226
296
|
&& rect.top <= window.innerHeight
|
|
227
297
|
&& rect.left <= window.innerWidth;
|
|
298
|
+
// Kept in sync with MIN_TARGET_SIZE_PX; page.evaluate cannot close over it.
|
|
299
|
+
const minTargetSize = 24;
|
|
300
|
+
// ponytail: target size comes from the layout box, so a target whose visible
|
|
301
|
+
// area is cut down by an overflow or clip-path ancestor is under-reported.
|
|
302
|
+
// Intersecting with clipping ancestors was measured against ordinary markup and
|
|
303
|
+
// cost four false positives (carousel slides parked off-track, rows of a plain
|
|
304
|
+
// overflow: auto list) per true positive, and clip-path shapes are not derivable
|
|
305
|
+
// from a rect at all. Upgrade path: clip only against ancestors that cannot be
|
|
306
|
+
// scrolled or animated to reveal the rest of the target.
|
|
307
|
+
const targetSelector = 'a[href], button, input:not([type="hidden"]), select, textarea, summary, [contenteditable]:not([contenteditable="false"]), [tabindex]:not([tabindex^="-"]), [role="button"], [role="link"], [role="checkbox"], [role="radio"], [role="switch"], [role="tab"], [role="menuitem"], [role="option"]';
|
|
308
|
+
// Shared by the focused element and its spacing neighbors so a disabled or
|
|
309
|
+
// unrendered control is never counted as a pointer target on either side.
|
|
310
|
+
const isPointerTargetElement = (element, box) => box.width > 0
|
|
311
|
+
&& box.height > 0
|
|
312
|
+
&& element.matches(targetSelector)
|
|
313
|
+
&& !element.matches(':disabled');
|
|
314
|
+
const isPointerTarget = isPointerTargetElement(current, rect);
|
|
315
|
+
// "Target is in a sentence": approximated as an inline-level target that sits
|
|
316
|
+
// directly next to running text.
|
|
317
|
+
// ponytail: ceiling is that targets merely constrained by the line-height of
|
|
318
|
+
// nearby non-target text are missed. Upgrade path: compare the target height
|
|
319
|
+
// against the parent's computed line-height.
|
|
320
|
+
// The target may sit inside inline formatting (<strong>, <span>, ...), so walk
|
|
321
|
+
// up through inline-level wrappers to the containing block before concluding
|
|
322
|
+
// there is no running text beside it.
|
|
323
|
+
let hasSentenceText = false;
|
|
324
|
+
for (let scope = current; scope.parentElement && !hasSentenceText; scope = scope.parentElement) {
|
|
325
|
+
hasSentenceText = Array.from(scope.parentElement.childNodes).some(node => (node.nodeType === Node.TEXT_NODE && (node.textContent ?? '').trim().length > 0));
|
|
326
|
+
if (!window.getComputedStyle(scope.parentElement).display.startsWith('inline'))
|
|
327
|
+
break;
|
|
328
|
+
}
|
|
329
|
+
// Any inline-level display (inline, inline-block, inline-flex, ...) can sit in a
|
|
330
|
+
// sentence; SC 2.5.8's exception is about the sentence, not the display keyword.
|
|
331
|
+
const inlineTarget = isPointerTarget && style.display.startsWith('inline') && hasSentenceText;
|
|
332
|
+
const neighborTargets = [];
|
|
333
|
+
if (isPointerTarget && (rect.width < minTargetSize || rect.height < minTargetSize)) {
|
|
334
|
+
for (const candidate of document.querySelectorAll(targetSelector)) {
|
|
335
|
+
if (candidate === current)
|
|
336
|
+
continue;
|
|
337
|
+
const other = candidate.getBoundingClientRect();
|
|
338
|
+
if (!isPointerTargetElement(candidate, other))
|
|
339
|
+
continue;
|
|
340
|
+
// Only targets close enough for either 24px circle to reach can matter;
|
|
341
|
+
// the margin overshoots deliberately so the spacing test never misses one.
|
|
342
|
+
const outOfRange = other.right < rect.left - 2 * minTargetSize
|
|
343
|
+
|| other.left > rect.right + 2 * minTargetSize
|
|
344
|
+
|| other.bottom < rect.top - 2 * minTargetSize
|
|
345
|
+
|| other.top > rect.bottom + 2 * minTargetSize;
|
|
346
|
+
if (outOfRange)
|
|
347
|
+
continue;
|
|
348
|
+
neighborTargets.push({ x: other.x, y: other.y, width: other.width, height: other.height });
|
|
349
|
+
// ponytail: payload cap. A cluster denser than 32 neighbors within 48px
|
|
350
|
+
// would under-report rather than over-report; raise the cap if that appears.
|
|
351
|
+
if (neighborTargets.length >= 32)
|
|
352
|
+
break;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
let obstruction = null;
|
|
356
|
+
const clipLeft = Math.max(rect.left, 0);
|
|
357
|
+
const clipTop = Math.max(rect.top, 0);
|
|
358
|
+
const clipRight = Math.min(rect.right, window.innerWidth - 1);
|
|
359
|
+
const clipBottom = Math.min(rect.bottom, window.innerHeight - 1);
|
|
360
|
+
// SC 2.4.11 applies to anything that receives focus, so this is deliberately not
|
|
361
|
+
// gated on isPointerTarget: contenteditable, iframes and tabindex-only widgets
|
|
362
|
+
// are sampled too.
|
|
363
|
+
if (rect.width > 0 && rect.height > 0 && clipRight >= clipLeft && clipBottom >= clipTop) {
|
|
364
|
+
const inset = (low, high, value) => Math.min(Math.max(value, low), high);
|
|
365
|
+
const samples = [
|
|
366
|
+
[inset(clipLeft, clipRight, clipLeft + 1), inset(clipTop, clipBottom, clipTop + 1)],
|
|
367
|
+
[inset(clipLeft, clipRight, clipRight - 1), inset(clipTop, clipBottom, clipTop + 1)],
|
|
368
|
+
[inset(clipLeft, clipRight, clipLeft + 1), inset(clipTop, clipBottom, clipBottom - 1)],
|
|
369
|
+
[inset(clipLeft, clipRight, clipRight - 1), inset(clipTop, clipBottom, clipBottom - 1)],
|
|
370
|
+
[(clipLeft + clipRight) / 2, (clipTop + clipBottom) / 2],
|
|
371
|
+
];
|
|
372
|
+
const labels = current instanceof HTMLInputElement || current instanceof HTMLTextAreaElement || current instanceof HTMLSelectElement
|
|
373
|
+
? Array.from(current.labels ?? [])
|
|
374
|
+
: [];
|
|
375
|
+
// SC 2.4.11 is about visual coverage, not hit-test order, so a hit only counts
|
|
376
|
+
// when it (or a wrapper of it that is not also around the target) actually
|
|
377
|
+
// paints: visible, non-zero opacity and a non-transparent background.
|
|
378
|
+
// ponytail: the remaining ceiling is that a covering layer with
|
|
379
|
+
// `pointer-events: none` is never returned by hit testing, so it is missed
|
|
380
|
+
// (under-report, never a false alarm). Upgrade path: intersect the focused box
|
|
381
|
+
// against the boxes of positioned/stacking-context layers painted above it.
|
|
382
|
+
const paintsOver = (element) => {
|
|
383
|
+
let paints = false;
|
|
384
|
+
// Painted evidence never short-circuits the walk: an ancestor that renders
|
|
385
|
+
// nothing (opacity: 0, visibility: hidden) hides its painted children too.
|
|
386
|
+
for (let node = element; node && !node.contains(current); node = node.parentElement) {
|
|
387
|
+
const nodeStyle = window.getComputedStyle(node);
|
|
388
|
+
if (nodeStyle.visibility === 'hidden' || Number.parseFloat(nodeStyle.opacity || '1') === 0)
|
|
389
|
+
return false;
|
|
390
|
+
if (paints)
|
|
391
|
+
continue;
|
|
392
|
+
const alpha = /^rgba\(.*,\s*([\d.]+)\)$/.exec(nodeStyle.backgroundColor);
|
|
393
|
+
paints = nodeStyle.backgroundImage !== 'none'
|
|
394
|
+
|| (alpha ? Number.parseFloat(alpha[1]) > 0 : nodeStyle.backgroundColor !== 'transparent');
|
|
395
|
+
}
|
|
396
|
+
return paints;
|
|
397
|
+
};
|
|
398
|
+
let blocked = 0;
|
|
399
|
+
let blockedBy = null;
|
|
400
|
+
for (const [x, y] of samples) {
|
|
401
|
+
const hit = document.elementFromPoint(x, y);
|
|
402
|
+
// Descendants paint the target itself; ancestors and associated labels
|
|
403
|
+
// wrap it (the common visually-hidden custom control pattern).
|
|
404
|
+
const covers = hit !== null
|
|
405
|
+
&& !current.contains(hit)
|
|
406
|
+
&& !hit.contains(current)
|
|
407
|
+
&& !labels.some(label => label.contains(hit))
|
|
408
|
+
&& paintsOver(hit);
|
|
409
|
+
if (!covers)
|
|
410
|
+
continue;
|
|
411
|
+
blocked++;
|
|
412
|
+
const className = typeof hit.className === 'string' ? hit.className.trim().split(/\s+/)[0] : '';
|
|
413
|
+
blockedBy = blockedBy ?? `${hit.tagName.toLowerCase()}${hit.id ? `#${hit.id}` : ''}${className ? `.${className}` : ''}`;
|
|
414
|
+
}
|
|
415
|
+
obstruction = { sampled: samples.length, blocked, blockedBy };
|
|
416
|
+
}
|
|
228
417
|
return {
|
|
229
418
|
role,
|
|
230
419
|
name: name ? name.slice(0, 200) : null,
|
|
@@ -240,6 +429,10 @@ const auditKeyboard = defineTabTool({
|
|
|
240
429
|
} : null,
|
|
241
430
|
inViewport,
|
|
242
431
|
hasVisibleIndicator: hasOutline || hasBoxShadow,
|
|
432
|
+
isPointerTarget,
|
|
433
|
+
inlineTarget,
|
|
434
|
+
neighborTargets,
|
|
435
|
+
obstruction,
|
|
243
436
|
scrollX,
|
|
244
437
|
scrollY,
|
|
245
438
|
};
|
|
@@ -323,6 +516,8 @@ const auditKeyboard = defineTabTool({
|
|
|
323
516
|
skipLinkActivated: result.skipLink.activated,
|
|
324
517
|
focusVisibilityIssueCount: result.focusVisibilityIssues.length,
|
|
325
518
|
focusJumpIssueCount: result.focusJumpIssues.length,
|
|
519
|
+
targetSizeIssueCount: result.targetSizeIssues.length,
|
|
520
|
+
focusObscuredIssueCount: result.focusObscuredIssues.length,
|
|
326
521
|
focusTrapDetected: result.focusTrap.detected,
|
|
327
522
|
focusTrapStep: result.focusTrap.step,
|
|
328
523
|
screenshotCount: result.screenshots.length,
|
|
@@ -332,6 +527,8 @@ const auditKeyboard = defineTabTool({
|
|
|
332
527
|
});
|
|
333
528
|
const focusVisibilityPreview = result.focusVisibilityIssues.slice(0, 10).map(stop => (`- Step ${stop.step} (${stop.key}): ${stop.role ?? 'unknown-role'} ${stop.name ?? ''}`.trim()));
|
|
334
529
|
const focusJumpPreview = result.focusJumpIssues.slice(0, 10).map(stop => (`- Step ${stop.step}: deltaY=${stop.scrollDeltaY}, inViewport=${stop.inViewport}`));
|
|
530
|
+
const targetSizePreview = result.targetSizeIssues.slice(0, 10).map(stop => (`- Step ${stop.step}: ${stop.role ?? 'unknown-role'} ${stop.name ?? ''} is ${Math.round(stop.boundingBox?.width ?? 0)}x${Math.round(stop.boundingBox?.height ?? 0)} CSS px`.replace(/\s+/g, ' ')));
|
|
531
|
+
const focusObscuredPreview = result.focusObscuredIssues.slice(0, 10).map(stop => (`- Step ${stop.step}: ${stop.role ?? 'unknown-role'} ${stop.name ?? ''} hidden behind ${stop.obstruction?.blockedBy ?? 'other content'}`.replace(/\s+/g, ' ')));
|
|
335
532
|
const skipLinkResult = result.skipLink.found
|
|
336
533
|
? `found at step ${result.skipLink.step}${result.skipLink.activated ? ', activated' : ''}`
|
|
337
534
|
: 'not found';
|
|
@@ -345,6 +542,12 @@ const auditKeyboard = defineTabTool({
|
|
|
345
542
|
`Focus trap detected: ${result.focusTrap.detected ? `yes (step ${result.focusTrap.step})` : 'no'}`,
|
|
346
543
|
`Focus jumps: ${result.focusJumpIssues.length}`,
|
|
347
544
|
...(focusJumpPreview.length ? focusJumpPreview : ['- None']),
|
|
545
|
+
'',
|
|
546
|
+
`Target size below 24x24 CSS px (WCAG 2.2 SC 2.5.8, spacing and inline exceptions applied): ${result.targetSizeIssues.length}`,
|
|
547
|
+
...(targetSizePreview.length ? targetSizePreview : ['- None']),
|
|
548
|
+
'',
|
|
549
|
+
`Focus entirely obscured (WCAG 2.2 SC 2.4.11): ${result.focusObscuredIssues.length}`,
|
|
550
|
+
...(focusObscuredPreview.length ? focusObscuredPreview : ['- None']),
|
|
348
551
|
...(result.screenshots.length ? ['', 'Issue screenshots:', ...result.screenshots.map(path => `- ${path}`)] : []),
|
|
349
552
|
'',
|
|
350
553
|
`JSON report: ${reportPath}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auditKeyboard.js","sourceRoot":"","sources":["../../src/tools/auditKeyboard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auditKeyboard.js","sourceRoot":"","sources":["../../src/tools/auditKeyboard.ts"],"names":[],"mappings":"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"}
|