@setsquare/review-sdk 0.1.0 → 0.2.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 +119 -16
- package/dist/autoscan.d.ts +9 -1
- package/dist/autoscan.d.ts.map +1 -1
- package/dist/autoscan.js +57 -7
- package/dist/autoscan.js.map +1 -1
- package/dist/axe.d.ts.map +1 -1
- package/dist/axe.js +25 -3
- package/dist/axe.js.map +1 -1
- package/dist/checks/context-change.d.ts.map +1 -1
- package/dist/checks/context-change.js +3 -0
- package/dist/checks/context-change.js.map +1 -1
- package/dist/checks/dynamic.d.ts.map +1 -1
- package/dist/checks/dynamic.js +3 -0
- package/dist/checks/dynamic.js.map +1 -1
- package/dist/checks/focus.d.ts +25 -5
- package/dist/checks/focus.d.ts.map +1 -1
- package/dist/checks/focus.js +203 -15
- package/dist/checks/focus.js.map +1 -1
- package/dist/checks/heuristics.d.ts +6 -5
- package/dist/checks/heuristics.d.ts.map +1 -1
- package/dist/checks/heuristics.js +37 -1
- package/dist/checks/heuristics.js.map +1 -1
- package/dist/checks/keyboard.js +12 -0
- package/dist/checks/keyboard.js.map +1 -1
- package/dist/checks/reflow.d.ts.map +1 -1
- package/dist/checks/reflow.js +4 -0
- package/dist/checks/reflow.js.map +1 -1
- package/dist/checks/shortcuts.d.ts.map +1 -1
- package/dist/checks/shortcuts.js +3 -0
- package/dist/checks/shortcuts.js.map +1 -1
- package/dist/colour-shim.d.ts +77 -0
- package/dist/colour-shim.d.ts.map +1 -0
- package/dist/colour-shim.js +192 -0
- package/dist/colour-shim.js.map +1 -0
- package/dist/contract.d.ts +14 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/envelope.d.ts.map +1 -1
- package/dist/envelope.js +78 -16
- package/dist/envelope.js.map +1 -1
- package/dist/findings.d.ts.map +1 -1
- package/dist/findings.js +57 -0
- package/dist/findings.js.map +1 -1
- package/dist/fixture.d.ts.map +1 -1
- package/dist/fixture.js +21 -4
- package/dist/fixture.js.map +1 -1
- package/dist/html-report.d.ts.map +1 -1
- package/dist/html-report.js +54 -12
- package/dist/html-report.js.map +1 -1
- package/dist/insights.d.ts.map +1 -1
- package/dist/insights.js +9 -12
- package/dist/insights.js.map +1 -1
- package/dist/options.d.ts +20 -9
- package/dist/options.d.ts.map +1 -1
- package/dist/options.js +23 -1
- package/dist/options.js.map +1 -1
- package/dist/reporter.js +2 -2
- package/dist/reporter.js.map +1 -1
- package/dist/screens.d.ts.map +1 -1
- package/dist/screens.js +34 -1
- package/dist/screens.js.map +1 -1
- package/dist/settle.d.ts +35 -0
- package/dist/settle.d.ts.map +1 -1
- package/dist/settle.js +43 -2
- package/dist/settle.js.map +1 -1
- package/dist/summary.d.ts +33 -1
- package/dist/summary.d.ts.map +1 -1
- package/dist/summary.js +271 -45
- package/dist/summary.js.map +1 -1
- package/dist/unscannable-reasons.d.ts +30 -0
- package/dist/unscannable-reasons.d.ts.map +1 -0
- package/dist/unscannable-reasons.js +53 -0
- package/dist/unscannable-reasons.js.map +1 -0
- package/package.json +4 -4
package/dist/checks/focus.d.ts
CHANGED
|
@@ -67,11 +67,21 @@ export interface IndicatorRow {
|
|
|
67
67
|
/**
|
|
68
68
|
* Whether `:focus-visible` matched once focused.
|
|
69
69
|
*
|
|
70
|
-
* Load-bearing,
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
* and
|
|
70
|
+
* Load-bearing, and it used to document a limitation as though it were a fact
|
|
71
|
+
* about the world: "a programmatic `focus()` does not always match it". That
|
|
72
|
+
* is true, and it is a property of OUR METHOD rather than of the page. The
|
|
73
|
+
* browser is reporting modality — whether the last real interaction was a
|
|
74
|
+
* keyboard one — and a suite that clicked anything leaves us in pointer
|
|
75
|
+
* modality, where `:focus-visible` matches nothing at all.
|
|
76
|
+
*
|
|
77
|
+
* Friction record run 4 measured the cost: 129 elements on Eos reported as
|
|
78
|
+
* "we could not tell", on a site that styles `:focus-visible` only — which is
|
|
79
|
+
* to say, the population this check exists for was the population it could
|
|
80
|
+
* least judge.
|
|
81
|
+
*
|
|
82
|
+
* The walk now presses Tab before measuring, so this field answers the
|
|
83
|
+
* question it is named for. When it is still false, that is a real signal
|
|
84
|
+
* rather than an artefact.
|
|
75
85
|
*/
|
|
76
86
|
focusVisible: boolean;
|
|
77
87
|
/**
|
|
@@ -129,6 +139,16 @@ export interface FocusWalk {
|
|
|
129
139
|
ambiguous: ObscuredRow[];
|
|
130
140
|
/** One row per element focused, for 2.4.7 and 2.4.13. */
|
|
131
141
|
indicators: IndicatorRow[];
|
|
142
|
+
/**
|
|
143
|
+
* Did we manage to put the browser into keyboard modality before measuring?
|
|
144
|
+
*
|
|
145
|
+
* `:focus-visible` is a statement about modality, so every row's
|
|
146
|
+
* `focusVisible` is only as good as this. False means the Tab press did not
|
|
147
|
+
* happen — a page closed under us, typically — and the rows below cannot
|
|
148
|
+
* distinguish "no indicator" from "we were in pointer modality", which is the
|
|
149
|
+
* difference this whole check turns on.
|
|
150
|
+
*/
|
|
151
|
+
keyboardModality: boolean;
|
|
132
152
|
}
|
|
133
153
|
/**
|
|
134
154
|
* WCAG 2.4.11 Focus Not Obscured (Minimum, AA) and 2.4.12 (Enhanced, AAA).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus.d.ts","sourceRoot":"","sources":["../../src/checks/focus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAS7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,eAAO,MAAM,8BAA8B,sBAAsB,CAAC;AAElE,eAAO,MAAM,sBAAsB,6BAA6B,CAAC;AACjE,eAAO,MAAM,+BAA+B,sCAAsC,CAAC;AACnF,eAAO,MAAM,qBAAqB,4BAA4B,CAAC;AAC/D,eAAO,MAAM,wBAAwB,+BAA+B,CAAC;AAsCrE;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB
|
|
1
|
+
{"version":3,"file":"focus.d.ts","sourceRoot":"","sources":["../../src/checks/focus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAS7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,eAAO,MAAM,8BAA8B,sBAAsB,CAAC;AAElE,eAAO,MAAM,sBAAsB,6BAA6B,CAAC;AACjE,eAAO,MAAM,+BAA+B,sCAAsC,CAAC;AACnF,eAAO,MAAM,qBAAqB,4BAA4B,CAAC;AAC/D,eAAO,MAAM,wBAAwB,+BAA+B,CAAC;AAsCrE;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;;;;;;;;;;;;;;OAkBG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,YAAY,CAAC;IACzD,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,SAAS,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,mFAAmF;IACnF,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,yDAAyD;IACzD,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B;;;;;;;;OAQG;IACH,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAu2BjC;AA0CD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,oBAAoB,EAAE,CAMzF"}
|
package/dist/checks/focus.js
CHANGED
|
@@ -78,9 +78,35 @@ const FOCUSABLE = [
|
|
|
78
78
|
* the same scoping as the in-page rule pack and axe's own three AAA rules.
|
|
79
79
|
*/
|
|
80
80
|
export async function runFocusNotObscured(page, target) {
|
|
81
|
+
/*
|
|
82
|
+
* Put the browser into keyboard modality BEFORE measuring anything.
|
|
83
|
+
*
|
|
84
|
+
* `:focus-visible` is a statement about how the user got here, not about the
|
|
85
|
+
* element — so a suite that clicked anything leaves us in pointer modality,
|
|
86
|
+
* where it matches nothing and every indicator styled for it is invisible to
|
|
87
|
+
* us. That is the whole of the 129 elements run 4 reported as undecidable.
|
|
88
|
+
*
|
|
89
|
+
* Measured across all three engines, after a real click:
|
|
90
|
+
*
|
|
91
|
+
* after click + Shift + Tab
|
|
92
|
+
* chromium false TRUE true
|
|
93
|
+
* firefox false false true
|
|
94
|
+
* webkit false false true
|
|
95
|
+
*
|
|
96
|
+
* So Tab, and only Tab. A bare `Shift` moves no focus and would have been
|
|
97
|
+
* tidier — and would have fixed Chromium while leaving Firefox and WebKit
|
|
98
|
+
* exactly as blind as before, which is the worst of the three outcomes
|
|
99
|
+
* because it looks fixed.
|
|
100
|
+
*
|
|
101
|
+
* And it does not buy the measurement: an element with no indicator under
|
|
102
|
+
* either selector still computes `outline-style: none` after Tab in all
|
|
103
|
+
* three engines.
|
|
104
|
+
*/
|
|
105
|
+
const keyboardModality = await establishKeyboardModality(page);
|
|
81
106
|
let walk;
|
|
82
107
|
try {
|
|
83
|
-
walk = await page
|
|
108
|
+
walk = await page
|
|
109
|
+
.evaluate(({ selector, maxElements, budgetMs }) => {
|
|
84
110
|
const startedAt = performance.now();
|
|
85
111
|
const previouslyFocused = document.activeElement;
|
|
86
112
|
const scrollX = window.scrollX;
|
|
@@ -344,24 +370,83 @@ export async function runFocusNotObscured(page, target) {
|
|
|
344
370
|
* the same reason. Guessing an average would be inventing a
|
|
345
371
|
* measurement.
|
|
346
372
|
*/
|
|
373
|
+
/*
|
|
374
|
+
* What the browser will actually paint behind everything.
|
|
375
|
+
*
|
|
376
|
+
* Read once per walk, not per element — it cannot differ between two
|
|
377
|
+
* elements of the same document, and it costs a DOM insertion.
|
|
378
|
+
*
|
|
379
|
+
* `Canvas` is a CSS system colour, so this is an OBSERVATION rather
|
|
380
|
+
* than the assumption the old code refused to make: it resolves to a
|
|
381
|
+
* concrete value in all three engines, and it follows the user's
|
|
382
|
+
* forced-colors and colour-scheme settings, which "white" would not.
|
|
383
|
+
*/
|
|
384
|
+
let canvasColour = null;
|
|
385
|
+
const pageCanvas = () => {
|
|
386
|
+
if (canvasColour !== null)
|
|
387
|
+
return canvasColour;
|
|
388
|
+
canvasColour = undefined;
|
|
389
|
+
try {
|
|
390
|
+
const probe = document.createElement('div');
|
|
391
|
+
probe.style.cssText =
|
|
392
|
+
'position:fixed;left:-9999px;top:0;width:1px;height:1px;background-color:Canvas';
|
|
393
|
+
document.body.appendChild(probe);
|
|
394
|
+
canvasColour = rgb(window.getComputedStyle(probe).backgroundColor);
|
|
395
|
+
probe.remove();
|
|
396
|
+
}
|
|
397
|
+
catch {
|
|
398
|
+
canvasColour = undefined;
|
|
399
|
+
}
|
|
400
|
+
return canvasColour;
|
|
401
|
+
};
|
|
347
402
|
const effectiveBackground = (start) => {
|
|
348
403
|
let node = start;
|
|
404
|
+
/*
|
|
405
|
+
* Translucent layers passed over on the way up, nearest first.
|
|
406
|
+
*
|
|
407
|
+
* This used to give up the moment it met one — "the background
|
|
408
|
+
* behind it is semi-transparent" — and that was a measurement
|
|
409
|
+
* declined rather than a measurement unavailable. Compositing a
|
|
410
|
+
* stack of known alphas onto a known solid is exact arithmetic,
|
|
411
|
+
* and `composite` already does it for the indicator's own bands
|
|
412
|
+
* fifty lines above. The same page, the same sum, two different
|
|
413
|
+
* answers depending on which function asked.
|
|
414
|
+
*/
|
|
415
|
+
const translucent = [];
|
|
416
|
+
const over = (base) => {
|
|
417
|
+
let result = base;
|
|
418
|
+
// Farthest first: each nearer layer composites over the result.
|
|
419
|
+
for (let i = translucent.length - 1; i >= 0; i -= 1) {
|
|
420
|
+
result = composite(translucent[i], result);
|
|
421
|
+
}
|
|
422
|
+
return result;
|
|
423
|
+
};
|
|
349
424
|
while (node) {
|
|
350
425
|
const cs = window.getComputedStyle(node);
|
|
351
426
|
if (cs.backgroundImage && cs.backgroundImage !== 'none') {
|
|
427
|
+
/*
|
|
428
|
+
* The one that genuinely cannot be answered here. A gradient has
|
|
429
|
+
* no single colour, and averaging it would be inventing a
|
|
430
|
+
* measurement — the same answer axe's contrast rule gives, for
|
|
431
|
+
* the same reason. Sampling the composited pixel would need a
|
|
432
|
+
* screenshot, which this package does not take.
|
|
433
|
+
*/
|
|
352
434
|
return { unresolved: 'the background behind it is an image or a gradient' };
|
|
353
435
|
}
|
|
354
436
|
const colour = rgb(cs.backgroundColor);
|
|
355
437
|
if (colour && colour[3] === 1)
|
|
356
|
-
return { colour };
|
|
357
|
-
if (colour && colour[3] > 0 && colour[3] < 1)
|
|
358
|
-
|
|
359
|
-
}
|
|
438
|
+
return { colour: over(colour) };
|
|
439
|
+
if (colour && colour[3] > 0 && colour[3] < 1)
|
|
440
|
+
translucent.push(colour);
|
|
360
441
|
node = node.parentElement;
|
|
361
442
|
}
|
|
362
|
-
// Nothing in the chain painted
|
|
363
|
-
//
|
|
364
|
-
|
|
443
|
+
// Nothing in the chain painted a solid colour, so what shows through
|
|
444
|
+
// is the canvas — and that can be observed.
|
|
445
|
+
const canvas = pageCanvas();
|
|
446
|
+
if (!canvas) {
|
|
447
|
+
return { unresolved: 'nothing in the ancestor chain paints a background' };
|
|
448
|
+
}
|
|
449
|
+
return { colour: over(canvas) };
|
|
365
450
|
};
|
|
366
451
|
/*
|
|
367
452
|
* The properties a focus indicator can be drawn with, including both
|
|
@@ -750,15 +835,61 @@ export async function runFocusNotObscured(page, target) {
|
|
|
750
835
|
}
|
|
751
836
|
window.scrollTo(scrollX, scrollY);
|
|
752
837
|
return { checked, found: candidates.length, truncated, obscured, ambiguous, indicators };
|
|
753
|
-
}, { selector: FOCUSABLE, maxElements: MAX_ELEMENTS, budgetMs: BUDGET_MS })
|
|
838
|
+
}, { selector: FOCUSABLE, maxElements: MAX_ELEMENTS, budgetMs: BUDGET_MS })
|
|
839
|
+
.then((result) => ({ ...result, keyboardModality }));
|
|
754
840
|
}
|
|
755
841
|
catch {
|
|
756
842
|
// Never throws into a customer's test, and never reports a guess in place
|
|
757
843
|
// of an answer: a walk that could not run produces no evidence at all.
|
|
758
844
|
return [];
|
|
759
845
|
}
|
|
846
|
+
finally {
|
|
847
|
+
// Tab moved focus off whatever the test left focused, and the walk restores
|
|
848
|
+
// only to where IT started — which is post-Tab. This puts the page back to
|
|
849
|
+
// where the test actually left it.
|
|
850
|
+
await releaseFocusAnchor(page);
|
|
851
|
+
}
|
|
760
852
|
return focusEvidence(walk, target);
|
|
761
853
|
}
|
|
854
|
+
/** Namespaced, and deleted again the moment it is used. Documented pollution. */
|
|
855
|
+
const FOCUS_ANCHOR = '__setsquareFocusAnchor';
|
|
856
|
+
/**
|
|
857
|
+
* Press Tab, having first remembered what the test left focused.
|
|
858
|
+
*
|
|
859
|
+
* Returns whether it worked. A page closed under us is the ordinary failure and
|
|
860
|
+
* it is not an error — but it does mean every `focusVisible` below is a
|
|
861
|
+
* statement about pointer modality, so the verdict has to say so rather than
|
|
862
|
+
* read it as "no indicator".
|
|
863
|
+
*/
|
|
864
|
+
async function establishKeyboardModality(page) {
|
|
865
|
+
try {
|
|
866
|
+
await page.evaluate((key) => {
|
|
867
|
+
window[key] = document.activeElement;
|
|
868
|
+
}, FOCUS_ANCHOR);
|
|
869
|
+
await page.keyboard.press('Tab');
|
|
870
|
+
return true;
|
|
871
|
+
}
|
|
872
|
+
catch {
|
|
873
|
+
return false;
|
|
874
|
+
}
|
|
875
|
+
}
|
|
876
|
+
/** Put focus back where the test left it, and take our property off the window. */
|
|
877
|
+
async function releaseFocusAnchor(page) {
|
|
878
|
+
try {
|
|
879
|
+
await page.evaluate((key) => {
|
|
880
|
+
const global = window;
|
|
881
|
+
const anchor = global[key];
|
|
882
|
+
delete global[key];
|
|
883
|
+
if (anchor && anchor.isConnected && typeof anchor.focus === 'function')
|
|
884
|
+
anchor.focus();
|
|
885
|
+
else if (document.activeElement instanceof HTMLElement)
|
|
886
|
+
document.activeElement.blur();
|
|
887
|
+
}, FOCUS_ANCHOR);
|
|
888
|
+
}
|
|
889
|
+
catch {
|
|
890
|
+
// The page is gone. There is nothing to restore it to.
|
|
891
|
+
}
|
|
892
|
+
}
|
|
762
893
|
/**
|
|
763
894
|
* The verdict, as a pure function of the walk.
|
|
764
895
|
*
|
|
@@ -806,6 +937,13 @@ function minimum(walk) {
|
|
|
806
937
|
finding: {
|
|
807
938
|
ruleId: FOCUS_OBSCURED_RULE_ID,
|
|
808
939
|
status: 'incomplete',
|
|
940
|
+
/*
|
|
941
|
+
* The geometry IS measured — we know exactly what covers what. What is
|
|
942
|
+
* undecided is whether a translucent band HIDES the ring, and that is a
|
|
943
|
+
* judgement rather than a number: a decorative overlay at 20% does not,
|
|
944
|
+
* an opaque bar does, and the middle is a person looking.
|
|
945
|
+
*/
|
|
946
|
+
undecidable: 'judgement',
|
|
809
947
|
impact: 'moderate',
|
|
810
948
|
wcag: MINIMUM_WCAG,
|
|
811
949
|
helpUrl: FOCUS_NOT_OBSCURED_MINIMUM_HELP_URL,
|
|
@@ -845,6 +983,13 @@ function enhanced(walk) {
|
|
|
845
983
|
finding: {
|
|
846
984
|
ruleId: FOCUS_OBSCURED_ENHANCED_RULE_ID,
|
|
847
985
|
status: 'incomplete',
|
|
986
|
+
/*
|
|
987
|
+
* The geometry IS measured — we know exactly what covers what. What is
|
|
988
|
+
* undecided is whether a translucent band HIDES the ring, and that is a
|
|
989
|
+
* judgement rather than a number: a decorative overlay at 20% does not,
|
|
990
|
+
* an opaque bar does, and the middle is a person looking.
|
|
991
|
+
*/
|
|
992
|
+
undecidable: 'judgement',
|
|
848
993
|
impact: 'moderate',
|
|
849
994
|
wcag: ENHANCED_WCAG,
|
|
850
995
|
helpUrl: FOCUS_NOT_OBSCURED_ENHANCED_HELP_URL,
|
|
@@ -919,18 +1064,43 @@ function focusVisible(walk) {
|
|
|
919
1064
|
},
|
|
920
1065
|
};
|
|
921
1066
|
}
|
|
1067
|
+
/*
|
|
1068
|
+
* An unobserved row means something different depending on how we got here.
|
|
1069
|
+
*
|
|
1070
|
+
* With keyboard modality established, `:focus-visible` not matching is a fact
|
|
1071
|
+
* about the element. Without it — the Tab press failed, the page went away —
|
|
1072
|
+
* it is a fact about US, and reporting it as though we had looked would be the
|
|
1073
|
+
* manufactured cause this repository keeps finding.
|
|
1074
|
+
*/
|
|
922
1075
|
const review = [...unobserved, ...backgroundOnly];
|
|
923
1076
|
if (review.length > 0) {
|
|
924
1077
|
const why = unobserved.length > 0
|
|
925
|
-
?
|
|
926
|
-
|
|
927
|
-
|
|
1078
|
+
? walk.keyboardModality
|
|
1079
|
+
? `:focus-visible did not match on ${unobserved[0].selector} even after a Tab press put ` +
|
|
1080
|
+
`the browser in keyboard modality, so this element does not take the state an ` +
|
|
1081
|
+
`indicator styled for :focus-visible would paint`
|
|
1082
|
+
: `we could not press Tab on this page, so the browser stayed in pointer modality where ` +
|
|
1083
|
+
`:focus-visible matches nothing — "nothing changed" on ${unobserved[0].selector} is a ` +
|
|
1084
|
+
`statement about our measurement rather than about the page`
|
|
928
1085
|
: `the only thing that changes on focus for ${backgroundOnly[0].selector} is its ` +
|
|
929
1086
|
`background colour, which is as likely to be a hover style leaking as a deliberate indicator`;
|
|
930
1087
|
return {
|
|
931
1088
|
finding: {
|
|
932
1089
|
ruleId: FOCUS_VISIBLE_RULE_ID,
|
|
933
1090
|
status: 'incomplete',
|
|
1091
|
+
/*
|
|
1092
|
+
* The one branch here that carries both kinds, so it is decided per row
|
|
1093
|
+
* rather than per rule.
|
|
1094
|
+
*
|
|
1095
|
+
* A background-only change is a JUDGEMENT: we measured the change and
|
|
1096
|
+
* the question left is whether it was meant as an indicator or is a
|
|
1097
|
+
* hover style leaking, which a person settles by looking.
|
|
1098
|
+
*
|
|
1099
|
+
* Modality we could not establish is a MEASUREMENT: nothing about the
|
|
1100
|
+
* page is in doubt, we simply failed to press a key. That is our debt
|
|
1101
|
+
* and it belongs in the figure that should fall.
|
|
1102
|
+
*/
|
|
1103
|
+
undecidable: walk.keyboardModality ? 'judgement' : 'measurement',
|
|
934
1104
|
impact: 'moderate',
|
|
935
1105
|
wcag: VISIBLE_WCAG,
|
|
936
1106
|
helpUrl: FOCUS_VISIBLE_HELP_URL,
|
|
@@ -1027,13 +1197,31 @@ function focusAppearance(walk) {
|
|
|
1027
1197
|
finding: {
|
|
1028
1198
|
ruleId: FOCUS_APPEARANCE_RULE_ID,
|
|
1029
1199
|
status: 'incomplete',
|
|
1200
|
+
/*
|
|
1201
|
+
* After #135 the only reason left here is a background that is an image
|
|
1202
|
+
* or a gradient, which has no single colour to contrast against. That is
|
|
1203
|
+
* a number we did not get rather than a question for a person — nobody
|
|
1204
|
+
* can settle it by looking either.
|
|
1205
|
+
*/
|
|
1206
|
+
undecidable: 'measurement',
|
|
1030
1207
|
impact: 'moderate',
|
|
1031
1208
|
wcag: APPEARANCE_WCAG,
|
|
1032
1209
|
helpUrl: FOCUS_APPEARANCE_HELP_URL,
|
|
1033
1210
|
evidence: {
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1211
|
+
/*
|
|
1212
|
+
* `0px²` beside a refusal to judge is the worst of both: it looks like
|
|
1213
|
+
* a measurement and behaves like a shrug. It does not mean the
|
|
1214
|
+
* indicator is nothing — it means nothing we COULD measure qualified,
|
|
1215
|
+
* which is a different sentence and the one a reader needs.
|
|
1216
|
+
*/
|
|
1217
|
+
failureSummary: (first.qualifyingAreaPx === 0
|
|
1218
|
+
? `No band of the indicator on ${first.selector} could be measured at ` +
|
|
1219
|
+
`${APPEARANCE_MIN_CONTRAST}:1 or better against a requirement of ` +
|
|
1220
|
+
`${first.requiredAreaPx}px². `
|
|
1221
|
+
: `The indicator on ${first.selector} measures ${first.qualifyingAreaPx}px² at ` +
|
|
1222
|
+
`${APPEARANCE_MIN_CONTRAST}:1 against a requirement of ${first.requiredAreaPx}px², ` +
|
|
1223
|
+
'and the shortfall turns on a band we could not measure: ') +
|
|
1224
|
+
(first.qualifyingAreaPx === 0 ? `The reason: ${why}. ` : `${why}. `) +
|
|
1037
1225
|
`${undecided.length} element(s) affected${uniformReason(undecided)
|
|
1038
1226
|
? ', all for the same reason — one question about one component, not ' +
|
|
1039
1227
|
`${undecided.length} separate ones`
|
package/dist/checks/focus.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus.js","sourceRoot":"","sources":["../../src/checks/focus.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"focus.js","sourceRoot":"","sources":["../../src/checks/focus.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,12 +105,13 @@ export interface HeuristicSignals {
|
|
|
105
105
|
* could not read produces no heuristic findings rather than empty ones.
|
|
106
106
|
*/
|
|
107
107
|
export declare function readHeuristicSignals(page: Page): Promise<HeuristicSignals | undefined>;
|
|
108
|
+
export declare function heuristicEvidence(signals: HeuristicSignals, target: WcagTarget, switches?: HeuristicSwitches,
|
|
108
109
|
/**
|
|
109
|
-
*
|
|
110
|
+
* Had the page met the quiet definition when these signals were read?
|
|
110
111
|
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
112
|
+
* Defaults to true, so nothing is suppressed unless a caller can actually say
|
|
113
|
+
* otherwise — an explicit scan suppresses nothing, because the customer chose
|
|
114
|
+
* the moment and it is not ours to second-guess.
|
|
114
115
|
*/
|
|
115
|
-
|
|
116
|
+
pageWentQuiet?: boolean): DynamicCheckEvidence[];
|
|
116
117
|
//# sourceMappingURL=heuristics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heuristics.d.ts","sourceRoot":"","sources":["../../src/checks/heuristics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAY7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,eAAO,MAAM,4BAA4B,2BAA2B,CAAC;AAErE,eAAO,MAAM,kBAAkB;;;;;;;;CAQrB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAE1D,8CAA8C;AAC9C,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AA2DtE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,sEAAsE;IACtE,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClE,gFAAgF;IAChF,YAAY,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClD,6DAA6D;IAC7D,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,EAAE;QACR,MAAM,EAAE,OAAO,CAAC;QAChB,aAAa,EAAE,OAAO,CAAC;QACvB,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,+DAA+D;IAC/D,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;;;;OAQG;IACH,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAM5F;
|
|
1
|
+
{"version":3,"file":"heuristics.d.ts","sourceRoot":"","sources":["../../src/checks/heuristics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAY7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,eAAO,MAAM,4BAA4B,2BAA2B,CAAC;AAErE,eAAO,MAAM,kBAAkB;;;;;;;;CAQrB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAE1D,8CAA8C;AAC9C,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AA2DtE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,sEAAsE;IACtE,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClE,gFAAgF;IAChF,YAAY,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClD,6DAA6D;IAC7D,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,EAAE;QACR,MAAM,EAAE,OAAO,CAAC;QAChB,aAAa,EAAE,OAAO,CAAC;QACvB,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,+DAA+D;IAC/D,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;;;;OAQG;IACH,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAM5F;AA4BD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,UAAU,EAClB,QAAQ,GAAE,iBAAsB;AAChC;;;;;;GAMG;AACH,aAAa,UAAO,GACnB,oBAAoB,EAAE,CAiCxB"}
|
|
@@ -123,11 +123,41 @@ export async function readHeuristicSignals(page) {
|
|
|
123
123
|
* unit lane cannot see a computed style, and the half of a check that decides
|
|
124
124
|
* what to CLAIM is the half where the honesty rules live.
|
|
125
125
|
*/
|
|
126
|
-
|
|
126
|
+
/**
|
|
127
|
+
* Heuristics whose finding is "this page carries none of the mechanisms".
|
|
128
|
+
*
|
|
129
|
+
* A claim about what is ABSENT is only as good as the page being finished, and
|
|
130
|
+
* these two read the whole document to make it: 2.4.8 asks whether anything —
|
|
131
|
+
* breadcrumb, `aria-current`, site map, `rel` link — says where you are, and
|
|
132
|
+
* 3.1.4 asks whether anything expands an abbreviation. Every other heuristic
|
|
133
|
+
* here reasons about content it can SEE, and a half-rendered page gives it less
|
|
134
|
+
* to look at rather than a different answer.
|
|
135
|
+
*
|
|
136
|
+
* Found by friction record run 4: the 2.4.8 cue fired on one run and not the
|
|
137
|
+
* next, on identical code, because an SPA's router had or had not painted its
|
|
138
|
+
* active state by the time the page was scanned. This file's own first rule is
|
|
139
|
+
* that a heuristic fires only above a margin, and one that flips on render
|
|
140
|
+
* timing does not clear it — so on a page we already know never went quiet, the
|
|
141
|
+
* honest answer is silence rather than a finding we cannot reproduce.
|
|
142
|
+
*/
|
|
143
|
+
const PAGE_ABSENCE_CLAIMS = new Set(['location', 'abbreviations']);
|
|
144
|
+
export function heuristicEvidence(signals, target, switches = {},
|
|
145
|
+
/**
|
|
146
|
+
* Had the page met the quiet definition when these signals were read?
|
|
147
|
+
*
|
|
148
|
+
* Defaults to true, so nothing is suppressed unless a caller can actually say
|
|
149
|
+
* otherwise — an explicit scan suppresses nothing, because the customer chose
|
|
150
|
+
* the moment and it is not ours to second-guess.
|
|
151
|
+
*/
|
|
152
|
+
pageWentQuiet = true) {
|
|
127
153
|
const english = signals.lang.toLowerCase().startsWith('en');
|
|
128
154
|
const enabled = (id) => {
|
|
129
155
|
if (switches[id] === false)
|
|
130
156
|
return false;
|
|
157
|
+
// Silent, not a pass: the page never finished, so we did not look at the
|
|
158
|
+
// whole of it, and "we saw no mechanism" would be a claim about our timing.
|
|
159
|
+
if (!pageWentQuiet && PAGE_ABSENCE_CLAIMS.has(id))
|
|
160
|
+
return false;
|
|
131
161
|
// Silent rather than guessing: a phrase list applied to a language it was
|
|
132
162
|
// not written for manufactures findings, and a missing `lang` is already
|
|
133
163
|
// an axe violation (3.1.1) rather than this check's problem to solve.
|
|
@@ -162,6 +192,12 @@ function note(ruleId, criteria, level, helpUrl, failureSummary, selectors) {
|
|
|
162
192
|
// A judgement, so it asks. `fail()` is the sibling for the ones that
|
|
163
193
|
// measure. See rule 1 at the top of this file.
|
|
164
194
|
status: 'incomplete',
|
|
195
|
+
/*
|
|
196
|
+
* Every heuristic in this file is a judgement by construction — rule 1 at the
|
|
197
|
+
* top says so: `fail()` is for the ones that measure and `note()` is for the
|
|
198
|
+
* ones that ask. A person settles each of these by reading the page.
|
|
199
|
+
*/
|
|
200
|
+
undecidable: 'judgement',
|
|
165
201
|
impact: 'moderate',
|
|
166
202
|
wcag: { criteria, level, versionTags: [] },
|
|
167
203
|
helpUrl,
|