@setsquare/review-sdk 0.0.1 → 0.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/NOTICE +3 -2
- package/README.md +220 -0
- package/dist/autoscan.d.ts +15 -1
- package/dist/autoscan.d.ts.map +1 -1
- package/dist/autoscan.js +168 -13
- package/dist/autoscan.js.map +1 -1
- package/dist/brand.d.ts +51 -2
- package/dist/brand.d.ts.map +1 -1
- package/dist/brand.js +560 -5
- package/dist/brand.js.map +1 -1
- package/dist/checks/context-change.d.ts +96 -0
- package/dist/checks/context-change.d.ts.map +1 -0
- package/dist/checks/context-change.js +655 -0
- package/dist/checks/context-change.js.map +1 -0
- package/dist/checks/focus.d.ts +154 -0
- package/dist/checks/focus.d.ts.map +1 -0
- package/dist/checks/focus.js +1123 -0
- package/dist/checks/focus.js.map +1 -0
- package/dist/checks/heuristics.d.ts +116 -0
- package/dist/checks/heuristics.d.ts.map +1 -0
- package/dist/checks/heuristics.js +931 -0
- package/dist/checks/heuristics.js.map +1 -0
- package/dist/checks/keyboard.d.ts +106 -0
- package/dist/checks/keyboard.d.ts.map +1 -0
- package/dist/checks/keyboard.js +452 -0
- package/dist/checks/keyboard.js.map +1 -0
- package/dist/checks/reflow.d.ts +75 -0
- package/dist/checks/reflow.d.ts.map +1 -0
- package/dist/checks/reflow.js +285 -0
- package/dist/checks/reflow.js.map +1 -0
- package/dist/checks/rule-pack.d.ts +1 -1
- package/dist/checks/rule-pack.d.ts.map +1 -1
- package/dist/checks/rule-pack.js +350 -45
- package/dist/checks/rule-pack.js.map +1 -1
- package/dist/checks/shortcuts.d.ts +71 -0
- package/dist/checks/shortcuts.d.ts.map +1 -0
- package/dist/checks/shortcuts.js +196 -0
- package/dist/checks/shortcuts.js.map +1 -0
- package/dist/checks/versions.d.ts.map +1 -1
- package/dist/checks/versions.js +33 -1
- package/dist/checks/versions.js.map +1 -1
- package/dist/contract.d.ts +18 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/covers.d.ts +56 -0
- package/dist/covers.d.ts.map +1 -0
- package/dist/covers.js +135 -0
- package/dist/covers.js.map +1 -0
- package/dist/dedupe.d.ts +23 -0
- package/dist/dedupe.d.ts.map +1 -1
- package/dist/dedupe.js +96 -2
- package/dist/dedupe.js.map +1 -1
- package/dist/document.d.ts.map +1 -1
- package/dist/document.js +144 -0
- package/dist/document.js.map +1 -1
- package/dist/envelope.d.ts +8 -0
- package/dist/envelope.d.ts.map +1 -1
- package/dist/envelope.js +28 -0
- package/dist/envelope.js.map +1 -1
- package/dist/fixture.d.ts.map +1 -1
- package/dist/fixture.js +12 -0
- package/dist/fixture.js.map +1 -1
- package/dist/html-report.d.ts +24 -7
- package/dist/html-report.d.ts.map +1 -1
- package/dist/html-report.js +608 -136
- package/dist/html-report.js.map +1 -1
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -1
- package/dist/links.d.ts +43 -0
- package/dist/links.d.ts.map +1 -1
- package/dist/links.js +43 -0
- package/dist/links.js.map +1 -1
- package/dist/observe.d.ts +8 -0
- package/dist/observe.d.ts.map +1 -1
- package/dist/observe.js +45 -1
- package/dist/observe.js.map +1 -1
- package/dist/options.d.ts +53 -0
- package/dist/options.d.ts.map +1 -1
- package/dist/options.js +3 -0
- package/dist/options.js.map +1 -1
- package/dist/reading-level.d.ts +22 -1
- package/dist/reading-level.d.ts.map +1 -1
- package/dist/reading-level.js +122 -19
- package/dist/reading-level.js.map +1 -1
- package/dist/reporter.d.ts.map +1 -1
- package/dist/reporter.js +31 -15
- package/dist/reporter.js.map +1 -1
- package/dist/scan.d.ts +36 -1
- package/dist/scan.d.ts.map +1 -1
- package/dist/scan.js +16 -2
- package/dist/scan.js.map +1 -1
- package/dist/screens.d.ts +55 -4
- package/dist/screens.d.ts.map +1 -1
- package/dist/screens.js +243 -43
- package/dist/screens.js.map +1 -1
- package/dist/summary.d.ts +22 -0
- package/dist/summary.d.ts.map +1 -1
- package/dist/summary.js +197 -22
- package/dist/summary.js.map +1 -1
- package/dist/viewports.d.ts +105 -0
- package/dist/viewports.d.ts.map +1 -0
- package/dist/viewports.js +134 -0
- package/dist/viewports.js.map +1 -0
- package/package.json +5 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-change.js","sourceRoot":"","sources":["../../src/checks/context-change.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import type { Page } from '@playwright/test';
|
|
2
|
+
import type { WcagTarget } from '../rules.js';
|
|
3
|
+
import type { DynamicCheckEvidence } from './dynamic.js';
|
|
4
|
+
/**
|
|
5
|
+
* The focus checks: what happens when an element actually receives focus.
|
|
6
|
+
*
|
|
7
|
+
* This is the class of criterion an engine like axe structurally cannot reach.
|
|
8
|
+
* axe analyses one DOM snapshot; 2.4.11 and 2.4.12 are about the state the
|
|
9
|
+
* page enters *when something is focused*, which needs a browser being driven.
|
|
10
|
+
* We have the page, in the worker, mid-run — that is the whole difference, and
|
|
11
|
+
* it is the reason our own Consent page can argue that a sticky bottom bar
|
|
12
|
+
* covering the focused element is a textbook 2.4.11 failure. Until this
|
|
13
|
+
* existed, we were selling a claim our own report could not check.
|
|
14
|
+
*
|
|
15
|
+
* **Teardown only, and this is not a detail.** The other dynamic checks also
|
|
16
|
+
* run inside an awaited explicit `setsquare.scan()`, because injecting and
|
|
17
|
+
* removing a stylesheet fires no page code. Focusing does. Every `focus()`
|
|
18
|
+
* here runs the page's own focus, focusin and blur handlers, and a handler
|
|
19
|
+
* that opens a menu, marks a field dirty or starts a request has already run
|
|
20
|
+
* by the time we restore anything. Scroll position and the previously focused
|
|
21
|
+
* element are restored; side effects cannot be. So this runs only where the
|
|
22
|
+
* test is over and the page is about to be discarded.
|
|
23
|
+
*
|
|
24
|
+
* The cost of that choice, stated rather than hidden: a scan of a named state
|
|
25
|
+
* (`setsquare.scan(page, surface, { state: 'menu-open' })`) carries no focus
|
|
26
|
+
* evidence. In practice the failures this catches — cookie banners, sticky
|
|
27
|
+
* headers, chat widgets — are present in every state including the last one,
|
|
28
|
+
* so teardown sees them. If that turns out to be wrong it should change on
|
|
29
|
+
* evidence, not on a guess.
|
|
30
|
+
*/
|
|
31
|
+
export declare const SETSQUARE_FOCUS_CHECKS_VERSION = "setsquare-focus@2";
|
|
32
|
+
export declare const FOCUS_OBSCURED_RULE_ID = "setsquare-focus-obscured";
|
|
33
|
+
export declare const FOCUS_OBSCURED_ENHANCED_RULE_ID = "setsquare-focus-obscured-enhanced";
|
|
34
|
+
export declare const FOCUS_VISIBLE_RULE_ID = "setsquare-focus-visible";
|
|
35
|
+
export declare const FOCUS_APPEARANCE_RULE_ID = "setsquare-focus-appearance";
|
|
36
|
+
/**
|
|
37
|
+
* One occluded element, as the in-page walk saw it.
|
|
38
|
+
*
|
|
39
|
+
* Exported with `FocusWalk` and `focusEvidence` because the verdict is a pure
|
|
40
|
+
* function of the walk, and separating them is what lets the unit lane cover
|
|
41
|
+
* every branch — the two thresholds, the ambiguous case, the truncation
|
|
42
|
+
* sentence — without a browser. The browser half is covered by the fixture
|
|
43
|
+
* pair, which is where the two real bugs in this check were found.
|
|
44
|
+
*/
|
|
45
|
+
export interface ObscuredRow {
|
|
46
|
+
/** The focused element that was covered. */
|
|
47
|
+
selector: string;
|
|
48
|
+
/** What covered it — the whole point of the finding. */
|
|
49
|
+
by: string;
|
|
50
|
+
/** `fixed` or `sticky` on the coverer, which is the usual cause. */
|
|
51
|
+
positioned: string;
|
|
52
|
+
/** True when every sampled point was covered: entirely hidden. */
|
|
53
|
+
entirely: boolean;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* What focusing one element changed, and what that indicator measures.
|
|
57
|
+
*
|
|
58
|
+
* Both criteria are answered from this row: 2.4.7 asks only whether anything
|
|
59
|
+
* changed, 2.4.13 asks how thick and how contrasting the change is. Numbers
|
|
60
|
+
* rather than verdicts, so the finding can state what it measured instead of
|
|
61
|
+
* asking the reader to trust a judgement.
|
|
62
|
+
*/
|
|
63
|
+
export interface IndicatorRow {
|
|
64
|
+
selector: string;
|
|
65
|
+
/** Which properties differed between the unfocused and focused states. */
|
|
66
|
+
changed: string[];
|
|
67
|
+
/**
|
|
68
|
+
* Whether `:focus-visible` matched once focused.
|
|
69
|
+
*
|
|
70
|
+
* Load-bearing, not a curiosity. A great many sites style `:focus-visible`
|
|
71
|
+
* only, and a programmatic `focus()` does not always match it — so "nothing
|
|
72
|
+
* changed" from a script-driven focus is not the same claim as "a keyboard
|
|
73
|
+
* user sees nothing". When this is false the row cannot support a violation
|
|
74
|
+
* and reports needs-review instead.
|
|
75
|
+
*/
|
|
76
|
+
focusVisible: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* The area of a 2 CSS pixel perimeter of the UNFOCUSED component, in px².
|
|
79
|
+
*
|
|
80
|
+
* The SC's own bar, computed from the component's own box rather than
|
|
81
|
+
* assumed: `w·h − (w−4)(h−4)`, which is the band a 2px perimeter occupies.
|
|
82
|
+
*/
|
|
83
|
+
requiredAreaPx: number;
|
|
84
|
+
/** Every band the indicator paints, measured. */
|
|
85
|
+
layers: IndicatorLayer[];
|
|
86
|
+
/** Total area of the layers that reach 3:1. The figure the SC asks for. */
|
|
87
|
+
qualifyingAreaPx: number;
|
|
88
|
+
/**
|
|
89
|
+
* Why the measurement could not be completed, when it could not. Present
|
|
90
|
+
* only where a colour or a geometry genuinely could not be resolved — not
|
|
91
|
+
* merely because the indicator has more than one layer.
|
|
92
|
+
*/
|
|
93
|
+
unresolved?: string;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* One band of a focus indicator, measured.
|
|
97
|
+
*
|
|
98
|
+
* A focus ring is bands: an outline at an offset, one or more box-shadow
|
|
99
|
+
* spreads, a border that changes colour, a background that changes. Each has a
|
|
100
|
+
* position, a thickness and a colour, and every one of those is in computed
|
|
101
|
+
* style — so each band's area and its contrast against what it covers are
|
|
102
|
+
* arithmetic rather than judgement.
|
|
103
|
+
*/
|
|
104
|
+
export interface IndicatorLayer {
|
|
105
|
+
kind: 'outline' | 'box-shadow' | 'border' | 'background';
|
|
106
|
+
/** Band thickness in CSS px. */
|
|
107
|
+
thicknessPx: number;
|
|
108
|
+
/** Painted area in CSS px². */
|
|
109
|
+
areaPx: number;
|
|
110
|
+
/**
|
|
111
|
+
* Contrast between the focused and unfocused colour AT THESE PIXELS, which
|
|
112
|
+
* is what 2.4.13 actually asks for — not the indicator against something
|
|
113
|
+
* beside it. Null where the colour underneath could not be resolved.
|
|
114
|
+
*/
|
|
115
|
+
contrast: number | null;
|
|
116
|
+
/** Why this band could not be measured. */
|
|
117
|
+
unresolved?: string;
|
|
118
|
+
}
|
|
119
|
+
export interface FocusWalk {
|
|
120
|
+
/** Elements focused. Zero means the page has nothing this criterion regulates. */
|
|
121
|
+
checked: number;
|
|
122
|
+
/** Focusable elements found, before the ceiling. */
|
|
123
|
+
found: number;
|
|
124
|
+
/** True when the ceiling or the time budget stopped the walk early. */
|
|
125
|
+
truncated: boolean;
|
|
126
|
+
/** Definitely covered by something opaque. */
|
|
127
|
+
obscured: ObscuredRow[];
|
|
128
|
+
/** Covered by something whose opacity or stacking makes the answer a judgement. */
|
|
129
|
+
ambiguous: ObscuredRow[];
|
|
130
|
+
/** One row per element focused, for 2.4.7 and 2.4.13. */
|
|
131
|
+
indicators: IndicatorRow[];
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* WCAG 2.4.11 Focus Not Obscured (Minimum, AA) and 2.4.12 (Enhanced, AAA).
|
|
135
|
+
*
|
|
136
|
+
* One walk, two thresholds — which is why they are one function. 2.4.11 asks
|
|
137
|
+
* that the focused element is not *entirely* hidden; 2.4.12 that *no part* of
|
|
138
|
+
* it is. A partly covered element therefore violates 2.4.12 and does not
|
|
139
|
+
* violate 2.4.11, and the two rules are separate so that stays true in the
|
|
140
|
+
* evidence rather than only in a comment.
|
|
141
|
+
*
|
|
142
|
+
* 2.4.12 is AAA, so its rule is emitted only when the run targets AAA —
|
|
143
|
+
* the same scoping as the in-page rule pack and axe's own three AAA rules.
|
|
144
|
+
*/
|
|
145
|
+
export declare function runFocusNotObscured(page: Page, target: WcagTarget): Promise<DynamicCheckEvidence[]>;
|
|
146
|
+
/**
|
|
147
|
+
* The verdict, as a pure function of the walk.
|
|
148
|
+
*
|
|
149
|
+
* 2.4.11 is AA and always assessed; 2.4.12 is AAA and emitted only when the
|
|
150
|
+
* run targets it — the same scoping as the in-page rule pack and axe's own
|
|
151
|
+
* three AAA rules.
|
|
152
|
+
*/
|
|
153
|
+
export declare function focusEvidence(walk: FocusWalk, target: WcagTarget): DynamicCheckEvidence[];
|
|
154
|
+
//# sourceMappingURL=focus.d.ts.map
|
|
@@ -0,0 +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;;;;;;;;OAQG;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;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAuwBjC;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,oBAAoB,EAAE,CAMzF"}
|