@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.
Files changed (73) hide show
  1. package/README.md +119 -16
  2. package/dist/autoscan.d.ts +9 -1
  3. package/dist/autoscan.d.ts.map +1 -1
  4. package/dist/autoscan.js +57 -7
  5. package/dist/autoscan.js.map +1 -1
  6. package/dist/axe.d.ts.map +1 -1
  7. package/dist/axe.js +25 -3
  8. package/dist/axe.js.map +1 -1
  9. package/dist/checks/context-change.d.ts.map +1 -1
  10. package/dist/checks/context-change.js +3 -0
  11. package/dist/checks/context-change.js.map +1 -1
  12. package/dist/checks/dynamic.d.ts.map +1 -1
  13. package/dist/checks/dynamic.js +3 -0
  14. package/dist/checks/dynamic.js.map +1 -1
  15. package/dist/checks/focus.d.ts +25 -5
  16. package/dist/checks/focus.d.ts.map +1 -1
  17. package/dist/checks/focus.js +203 -15
  18. package/dist/checks/focus.js.map +1 -1
  19. package/dist/checks/heuristics.d.ts +6 -5
  20. package/dist/checks/heuristics.d.ts.map +1 -1
  21. package/dist/checks/heuristics.js +37 -1
  22. package/dist/checks/heuristics.js.map +1 -1
  23. package/dist/checks/keyboard.js +12 -0
  24. package/dist/checks/keyboard.js.map +1 -1
  25. package/dist/checks/reflow.d.ts.map +1 -1
  26. package/dist/checks/reflow.js +4 -0
  27. package/dist/checks/reflow.js.map +1 -1
  28. package/dist/checks/shortcuts.d.ts.map +1 -1
  29. package/dist/checks/shortcuts.js +3 -0
  30. package/dist/checks/shortcuts.js.map +1 -1
  31. package/dist/colour-shim.d.ts +77 -0
  32. package/dist/colour-shim.d.ts.map +1 -0
  33. package/dist/colour-shim.js +192 -0
  34. package/dist/colour-shim.js.map +1 -0
  35. package/dist/contract.d.ts +14 -0
  36. package/dist/contract.d.ts.map +1 -1
  37. package/dist/envelope.d.ts.map +1 -1
  38. package/dist/envelope.js +78 -16
  39. package/dist/envelope.js.map +1 -1
  40. package/dist/findings.d.ts.map +1 -1
  41. package/dist/findings.js +57 -0
  42. package/dist/findings.js.map +1 -1
  43. package/dist/fixture.d.ts.map +1 -1
  44. package/dist/fixture.js +21 -4
  45. package/dist/fixture.js.map +1 -1
  46. package/dist/html-report.d.ts.map +1 -1
  47. package/dist/html-report.js +54 -12
  48. package/dist/html-report.js.map +1 -1
  49. package/dist/insights.d.ts.map +1 -1
  50. package/dist/insights.js +9 -12
  51. package/dist/insights.js.map +1 -1
  52. package/dist/options.d.ts +20 -9
  53. package/dist/options.d.ts.map +1 -1
  54. package/dist/options.js +23 -1
  55. package/dist/options.js.map +1 -1
  56. package/dist/reporter.js +2 -2
  57. package/dist/reporter.js.map +1 -1
  58. package/dist/screens.d.ts.map +1 -1
  59. package/dist/screens.js +34 -1
  60. package/dist/screens.js.map +1 -1
  61. package/dist/settle.d.ts +35 -0
  62. package/dist/settle.d.ts.map +1 -1
  63. package/dist/settle.js +43 -2
  64. package/dist/settle.js.map +1 -1
  65. package/dist/summary.d.ts +33 -1
  66. package/dist/summary.d.ts.map +1 -1
  67. package/dist/summary.js +271 -45
  68. package/dist/summary.js.map +1 -1
  69. package/dist/unscannable-reasons.d.ts +30 -0
  70. package/dist/unscannable-reasons.d.ts.map +1 -0
  71. package/dist/unscannable-reasons.js +53 -0
  72. package/dist/unscannable-reasons.js.map +1 -0
  73. package/package.json +4 -4
package/dist/envelope.js CHANGED
@@ -5,6 +5,7 @@ import { UNKNOWN } from './ci.js';
5
5
  import { dedupeScans } from './dedupe.js';
6
6
  import { inferSurface, resolvePersona, resolveTheme, } from './infer.js';
7
7
  import { capLength, sanitiseTestText, toUrlPattern } from './sanitise.js';
8
+ import { REASON_BECAUSE, REASON_NOTE } from './unscannable-reasons.js';
8
9
  /**
9
10
  * Re-exported so the envelope, the reporter and their tests cannot disagree on
10
11
  * what 'we could not determine this' looks like.
@@ -76,39 +77,79 @@ export function buildEnvelope(inputs) {
76
77
  * navigation whether or not a scan follows.
77
78
  */
78
79
  const scannedPatterns = new Set(scans.map((scan) => scan.context.urlPattern ?? ''));
79
- const visited = new Set();
80
+ /*
81
+ * Was anything ever going to scan this pattern?
82
+ *
83
+ * Two booleans rather than one, because "no record said" and "a record said no"
84
+ * are different facts and only the second licenses naming autoscan as the
85
+ * cause. A pattern visited by an autoscan-on lane and an autoscan-off lane has
86
+ * seen both.
87
+ */
88
+ const visited = new Map();
80
89
  for (const outcome of inputs.outcomes) {
81
90
  for (const record of outcome.records) {
82
91
  if (record.kind !== 'observation')
83
92
  continue;
84
93
  for (const navigation of record.observed.navigations) {
85
- visited.add(toUrlPattern(navigation.url).pattern);
94
+ const pattern = toUrlPattern(navigation.url).pattern;
95
+ const seen = visited.get(pattern) ?? { sawAutoScanOn: false, sawAutoScanOff: false };
96
+ if (record.autoScan === true)
97
+ seen.sawAutoScanOn = true;
98
+ if (record.autoScan === false)
99
+ seen.sawAutoScanOff = true;
100
+ visited.set(pattern, seen);
86
101
  }
87
102
  }
88
103
  }
89
- const unscanned = [...visited].filter((pattern) => !scannedPatterns.has(pattern)).sort();
104
+ /*
105
+ * A pattern the workers already explained is not ours to explain again.
106
+ *
107
+ * `nav-aborted`, `scan-failed`, `scan-cap-reached` and the rest are recorded by
108
+ * the code that watched them happen, against the same pattern this accounting
109
+ * walks. Adding a row here too gave every one of those surfaces TWO ledger rows
110
+ * — the observed reason, and a second guessed one — and the ledger's own counts
111
+ * double with them.
112
+ */
113
+ const explained = new Set([...ledger.values()].map((row) => row.urlPattern));
114
+ const unscanned = [...visited.keys()]
115
+ .filter((pattern) => !scannedPatterns.has(pattern) && !explained.has(pattern))
116
+ .sort();
117
+ /*
118
+ * The cause, derived from what the workers stated rather than assumed.
119
+ *
120
+ * This used to attribute every row to `settle-timed-out-empty` and say so in a
121
+ * hardcoded sentence: "the test moved on before the page settled". On a lane
122
+ * run with `SETSQUARE_AUTOSCAN=0` — which our own README recommends — that told
123
+ * a customer their tests outran their pages, for 33 surfaces, when the pages
124
+ * had settled perfectly well and nothing was ever going to scan them. The
125
+ * ledger did not merely fail to say why; it said why, wrongly, in the direction
126
+ * that blamed the suite.
127
+ *
128
+ * `unknown` is a real answer here and not a placeholder. A record that does not
129
+ * state `autoScan` — an older SDK's part file in a run group — leaves us unable
130
+ * to attribute, and the contract has a value for exactly that.
131
+ */
132
+ const byReason = new Map();
90
133
  for (const pattern of unscanned) {
134
+ const seen = visited.get(pattern);
135
+ const reason = seen.sawAutoScanOn
136
+ ? 'settle-timed-out-empty'
137
+ : seen.sawAutoScanOff
138
+ ? 'autoscan-disabled'
139
+ : 'unknown';
91
140
  /*
92
- * The same fact as the sentence below, as a countable row.
141
+ * The same fact as the sentences below, as a countable row.
93
142
  *
94
143
  * Both are kept deliberately: the prose says WHY in a way a figure cannot,
95
144
  * and the row is what lets coverage state its own denominator. Dropping the
96
145
  * sentence when the ledger arrived would have been a regression in
97
146
  * explanation dressed up as progress.
98
147
  */
99
- addLedgerRow(ledger, pattern, 'settle-timed-out-empty', 1);
148
+ addLedgerRow(ledger, pattern, reason, 1);
149
+ byReason.set(reason, [...(byReason.get(reason) ?? []), pattern]);
100
150
  }
101
- if (unscanned.length > 0) {
102
- warnings.push(
103
- // "surface(s) were" is the sound a form makes, not a sentence. This line is
104
- // read by someone deciding whether their run covered what they think it
105
- // did, and a tool that cannot conjugate reads as a tool that was not
106
- // finished.
107
- `${unscanned.length} ${unscanned.length === 1 ? 'surface was' : 'surfaces were'} ` +
108
- 'visited but never scanned, because the test moved on before the page ' +
109
- `settled: ${unscanned.slice(0, 10).join(', ')}${unscanned.length > 10 ? ', …' : ''}. ` +
110
- `${unscanned.length === 1 ? 'It is' : 'They are'} absent from this run rather ` +
111
- 'than reported as clean.');
151
+ for (const [reason, patterns] of [...byReason.entries()].sort()) {
152
+ warnings.push(unscannedWarning(reason, patterns));
112
153
  }
113
154
  /*
114
155
  * The ruleset actually used, taken from the scans rather than from the
@@ -206,6 +247,27 @@ function toResult(outcome) {
206
247
  * Joined on U+0000, which the contract bans from every string it accepts, so a
207
248
  * route pattern containing the separator cannot forge a collision.
208
249
  */
250
+ /**
251
+ * One warning per reason, listing the surfaces it accounts for.
252
+ *
253
+ * Per reason rather than per run, because a run group merges lanes that were
254
+ * configured differently — an autoscan-on lane and a functional lane with
255
+ * `SETSQUARE_AUTOSCAN=0` is the ordinary case, not an exotic one — and a single
256
+ * sentence would have to pick one lane's cause and apply it to the other's
257
+ * surfaces. That is the bug this function exists to make unrepresentable.
258
+ */
259
+ function unscannedWarning(reason, patterns) {
260
+ const many = patterns.length !== 1;
261
+ // "surface(s) were" is the sound a form makes, not a sentence. This line is
262
+ // read by someone deciding whether their run covered what they think it did,
263
+ // and a tool that cannot conjugate reads as a tool that was not finished.
264
+ const listed = patterns.slice(0, 10).join(', ') + (patterns.length > 10 ? ', \u2026' : '');
265
+ const note = REASON_NOTE[reason];
266
+ return (`${patterns.length} ${many ? 'surfaces were' : 'surface was'} visited but never scanned, ` +
267
+ `because ${REASON_BECAUSE[reason]}: ${listed}. ` +
268
+ (note ? `${note}. ` : '') +
269
+ `${many ? 'They are' : 'It is'} absent from this run rather than reported as clean.`);
270
+ }
209
271
  function addLedgerRow(ledger, urlPattern, reason, count) {
210
272
  const key = `${urlPattern}\u0000${reason}`;
211
273
  const existing = ledger.get(key);
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"findings.d.ts","sourceRoot":"","sources":["../src/findings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAIhF,OAAO,KAAK,EAA0B,aAAa,EAAE,MAAM,UAAU,CAAC;AAoCtE,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,EAAE,CAK/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,QAAQ,EAAE,CAc3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB,EAAE,CASzE;AAiDD,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,SAAS,CAkCrE;AAwCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAmBrC"}
1
+ {"version":3,"file":"findings.d.ts","sourceRoot":"","sources":["../src/findings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAIhF,OAAO,KAAK,EAA0B,aAAa,EAAE,MAAM,UAAU,CAAC;AAoCtE,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,EAAE,CAK/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,QAAQ,EAAE,CAc3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB,EAAE,CASzE;AA6GD,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,SAAS,CAkCrE;AAwCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAmBrC"}
package/dist/findings.js CHANGED
@@ -76,6 +76,61 @@ export function toInapplicable(results) {
76
76
  return row;
77
77
  });
78
78
  }
79
+ /**
80
+ * Message keys axe uses when it could not GET a number.
81
+ *
82
+ * Each of these is axe saying "the background is an image", "the shadows are too
83
+ * complex", "the foreground is translucent" — a measurement it could not take,
84
+ * not a question it is putting to a person. `fgAlpha` and the two `Contrast`
85
+ * keys belong here for the same reason: they name a value that could not be
86
+ * resolved rather than a decision that could not be made.
87
+ */
88
+ const UNMEASURED_KEYS = new Set([
89
+ 'bgImage',
90
+ 'bgGradient',
91
+ 'bgOverlap',
92
+ 'imgNode',
93
+ 'fgAlpha',
94
+ 'complexTextShadows',
95
+ 'bgContrast',
96
+ 'fgContrast',
97
+ 'contentOverflow',
98
+ ]);
99
+ /**
100
+ * Whose work is an axe incomplete?
101
+ *
102
+ * **Judgement by default, and that is axe's own semantics rather than ours.** An
103
+ * axe incomplete means "a human should review this" — `video-caption` asks
104
+ * someone to watch the video, `frame-tested` asks someone to check a frame we
105
+ * cannot enter. Defaulting the other way would claim debt we do not have and
106
+ * make the figure that is supposed to fall meaningless.
107
+ *
108
+ * Two overrides, both read off axe's own data rather than guessed:
109
+ *
110
+ * - a `messageKey` naming a value axe could not resolve
111
+ * - the shape axe produces when a CHECK THREW: `{ message, ruleId, method }`
112
+ * rather than a rule's normal data. axe falling over is not a question for
113
+ * the customer. This is the shape `oklch(L C none / a)` produced before #133,
114
+ * and the reason that population was filed as somebody's homework.
115
+ */
116
+ function classify(rule) {
117
+ for (const node of rule.nodes) {
118
+ for (const check of [...(node.any ?? []), ...(node.all ?? []), ...(node.none ?? [])]) {
119
+ const data = check.data;
120
+ if (!data || typeof data !== 'object' || Array.isArray(data))
121
+ continue;
122
+ const row = data;
123
+ const key = row['messageKey'];
124
+ if (typeof key === 'string' && UNMEASURED_KEYS.has(key))
125
+ return 'measurement';
126
+ // An axe error, not an axe verdict.
127
+ if (typeof row['message'] === 'string' && typeof row['method'] === 'string') {
128
+ return 'measurement';
129
+ }
130
+ }
131
+ }
132
+ return 'judgement';
133
+ }
79
134
  function toFinding(rule, status) {
80
135
  const selectors = rule.nodes.flatMap((node) => selectorsOf(node));
81
136
  const targets = sanitiseSelectors(selectors);
@@ -97,6 +152,8 @@ function toFinding(rule, status) {
97
152
  const wcag = toWcag(rule.tags);
98
153
  if (wcag)
99
154
  finding.wcag = wcag;
155
+ if (status === 'incomplete')
156
+ finding.undecidable = classify(rule);
100
157
  if (rule.helpUrl) {
101
158
  // Axe appends `?application=axeAPI`, which is telemetry-ish noise on a link a
102
159
  // human is meant to click.
@@ -1 +1 @@
1
- {"version":3,"file":"findings.js","sourceRoot":"","sources":["../src/findings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findings.js","sourceRoot":"","sources":["../src/findings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../src/fixture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAavE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAwE7D,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,wBAAwB,IAElE,0BAA0B;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAC1E,KAAK,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,EAC/C,UAAU,QAAQ,KACjB,OAAO,CAAC,IAAI,CAAC,CA+FjB"}
1
+ {"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../src/fixture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAavE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAwE7D,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,wBAAwB,IAElE,0BAA0B;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAC1E,KAAK,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,EAC/C,UAAU,QAAQ,KACjB,OAAO,CAAC,IAAI,CAAC,CAwGjB"}
package/dist/fixture.js CHANGED
@@ -109,7 +109,15 @@ export function createContextFixture(options) {
109
109
  for (const page of context.pages())
110
110
  observe(page);
111
111
  context.on('page', observe);
112
- if (options.autoScan && !options.disabled) {
112
+ /*
113
+ * One expression for "is anything going to scan this context", named because
114
+ * three places need to agree on it: the install, the teardown sweep, and the
115
+ * observation record that tells the reporter why a surface has no evidence.
116
+ * They were three copies of the same condition, and the record was not one
117
+ * of them.
118
+ */
119
+ const autoScanActive = options.autoScan && !options.disabled;
120
+ if (autoScanActive) {
113
121
  // Installed before the test body runs, so the very first navigation is
114
122
  // already being watched. A scanner that starts listening after the page has
115
123
  // loaded has already missed the thing it exists to see.
@@ -127,10 +135,10 @@ export function createContextFixture(options) {
127
135
  // Before recording observations: whatever the test left on screen is the
128
136
  // most reliable scan opportunity in the whole run, and for a fast test it
129
137
  // is the only one.
130
- if (options.autoScan && !options.disabled) {
138
+ if (autoScanActive) {
131
139
  await flushAutoScan(context, options, testInfo, (message) => warnings.push(message));
132
140
  }
133
- await attachRecords(observers, browserName, startedAt, testInfo);
141
+ await attachRecords(observers, browserName, startedAt, testInfo, autoScanActive);
134
142
  for (const message of warnings) {
135
143
  // Surfaced through Playwright's own annotations so a problem appears
136
144
  // next to the test it happened in, not buried in a summary.
@@ -144,7 +152,7 @@ export function createContextFixture(options) {
144
152
  }
145
153
  };
146
154
  }
147
- async function attachRecords(observers, browserName, startedAt, testInfo) {
155
+ async function attachRecords(observers, browserName, startedAt, testInfo, autoScan) {
148
156
  for (const observer of observers) {
149
157
  const observed = await observePage(observer, browserName, startedAt, testInfo.project.name);
150
158
  if (!observed)
@@ -153,6 +161,15 @@ async function attachRecords(observers, browserName, startedAt, testInfo) {
153
161
  recordVersion: SCAN_RECORD_VERSION,
154
162
  kind: 'observation',
155
163
  observed,
164
+ /*
165
+ * Stated on every record, including — especially — when it is false.
166
+ *
167
+ * The reporter's visited-but-never-scanned accounting has to name a cause,
168
+ * and with automatic scanning off the honest cause is "it was off". Leaving
169
+ * it to be inferred is how a functional lane came to be told its tests
170
+ * outran their own pages.
171
+ */
172
+ autoScan,
156
173
  };
157
174
  /*
158
175
  * Surfaces this page reached and we could not scan.
@@ -1 +1 @@
1
- {"version":3,"file":"fixture.js","sourceRoot":"","sources":["../src/fixture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixture.js","sourceRoot":"","sources":["../src/fixture.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"html-report.d.ts","sourceRoot":"","sources":["../src/html-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AA8BlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAmB9D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IACxD;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAgSD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CA48B/D"}
1
+ {"version":3,"file":"html-report.d.ts","sourceRoot":"","sources":["../src/html-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AA8BlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAmB9D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IACxD;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAkSD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAy/B/D"}
@@ -41,7 +41,9 @@ const STATE_WORD = {
41
41
  const STATE_LABEL = {
42
42
  failed: 'failed',
43
43
  assertedFailing: 'your own test for this criterion did not pass',
44
- cantTell: 'needs a person',
44
+ // True whichever kind the cell holds — see the two sections below, where a row
45
+ // is the unit and the distinction can be stated.
46
+ cantTell: 'automation could not decide',
45
47
  rulesPassed: 'every automated rule passed',
46
48
  inapplicable: 'checks ran; nothing to check on this surface',
47
49
  assertedBySuite: 'covered by your own test; no rule ran',
@@ -663,8 +665,18 @@ ${notes}
663
665
  const surfaceBands = groupByBand(rows, (row) => row.viewport);
664
666
  const bandedSurfaces = surfaceBands.groups.length > 1;
665
667
  const surfacesBody = bandedBody(rows, surfaceBands, SURFACE_COLUMNS, surfaceRow);
666
- const ruleSections = (status) => groups
668
+ /*
669
+ * `undecidable` narrows an incomplete to one of its two kinds. Absent means the
670
+ * run did not state it, and those stay with the judgements — reading absence as
671
+ * "measurement" would inflate the one figure that is supposed to fall.
672
+ */
673
+ const ruleSections = (status, undecidable) => groups
667
674
  .filter((group) => group.status === status)
675
+ .filter((group) => undecidable === undefined
676
+ ? true
677
+ : undecidable === 'measurement'
678
+ ? group.undecidable === 'measurement'
679
+ : group.undecidable !== 'measurement')
668
680
  .map((group) => {
669
681
  const share = ruleSurfaceShare(envelope, group.ruleId);
670
682
  const spread = status === 'violation'
@@ -843,6 +855,17 @@ ${MASTHEAD_CSS}
843
855
  font-size: var(--ss-h3); line-height: 1.1; letter-spacing: -.02em;
844
856
  font-variant-numeric: tabular-nums;
845
857
  }
858
+ /*
859
+ * Secondary, and it earns that by moving between runs of unchanged code. The
860
+ * numbers above hold still; these follow how much data is on the page. Colour
861
+ * is not doing the work — the figure is smaller and its label is inline, so
862
+ * the ranking survives being read aloud or printed in mono.
863
+ */
864
+ .figures .figures__secondary {
865
+ font-size: .875rem;
866
+ color: var(--ss-text-muted);
867
+ }
868
+ .figures .figures__secondary strong { display: inline; font-size: inherit; }
846
869
 
847
870
  /* ------------------------------------------------------ insight blocks */
848
871
 
@@ -1011,11 +1034,17 @@ ${masthead('Setsquare — accessibility evidence',
1011
1034
  <p class="eyebrow">Counts</p>
1012
1035
  <h2 id="h-figures">This run</h2>
1013
1036
  <div class="figures">
1014
- <div><strong>${n(count.surfaces)}</strong> surfaces scanned${count.themes > 0 ? ` in ${count.themes} theme${count.themes === 1 ? '' : 's'}` : ''}</div>
1015
- <div><strong>${n(failingRules)}</strong> rules failing, on ${n(count.violations)} elements</div>
1016
- <div><strong>${n(count.incomplete)}</strong> elements need a person</div>
1017
- <div><strong>${n(count.passes)}</strong> checks passed across ${n(quality.rulesAssessed)} rules</div>
1037
+ <div><strong>${n(failingRules)}</strong> rules failing, across ${n(count.surfaces)} surfaces${count.themes > 0 ? ` in ${count.themes} theme${count.themes === 1 ? '' : 's'}` : ''}</div>
1038
+ <div><strong>${n(count.judgement)}</strong> need a judgement, <strong>${n(count.unmeasured)}</strong> we could not measure</div>
1039
+ <div class="figures__secondary">${n(count.violations)} failing elements, ${n(count.passes)} checks passed across ${n(quality.rulesAssessed)} rules</div>
1018
1040
  </div>
1041
+ <p class="muted">
1042
+ Rules and surfaces lead because they are what a person fixes, and because they hold still.
1043
+ Element counts follow how much data is on the page — the same code over a table with fewer
1044
+ rows reports fewer failing elements, and friction record run 4 measured exactly that: 1,712
1045
+ and then 1,626 across two runs of an unchanged commit, while rules &times; surfaces stayed at
1046
+ 230 both times.
1047
+ </p>
1019
1048
  </section>
1020
1049
 
1021
1050
  <section aria-labelledby="h-grid">
@@ -1077,14 +1106,27 @@ ${masthead('Setsquare — accessibility evidence',
1077
1106
  </section>
1078
1107
 
1079
1108
  <section aria-labelledby="h-review">
1080
- <p class="eyebrow">Could not check</p>
1081
- <h2 id="h-review">Needs review</h2>
1109
+ <p class="eyebrow">Your work</p>
1110
+ <h2 id="h-review">Needs a judgement</h2>
1111
+ <div class="absence">
1112
+ <p class="absence__label">A person decides</p>
1113
+ <p>Measured as far as measuring goes, and what is left is not mechanical — does this
1114
+ heading describe what it heads, is this error announced. Settled by looking, with no
1115
+ tools. Not passes and not failures.</p>
1116
+ </div>
1117
+ ${ruleSections('incomplete', 'judgement') || '<p class="muted">None.</p>'}
1118
+ </section>
1119
+
1120
+ <section aria-labelledby="h-unmeasured">
1121
+ <p class="eyebrow">Our debt</p>
1122
+ <h2 id="h-unmeasured">Could not measure</h2>
1082
1123
  <div class="absence">
1083
- <p class="absence__label">We could not check</p>
1084
- <p>Automation could not decide these usually contrast over an image or a gradient.
1085
- Not passes and not failures; a person has to look.</p>
1124
+ <p class="absence__label">We did not get a number</p>
1125
+ <p>A gradient with no single colour behind it, a value we could not resolve. This is
1126
+ ours rather than yours, and it is a section of its own so it can be seen falling
1127
+ rather than sitting inside a bucket labelled as your work.</p>
1086
1128
  </div>
1087
- ${ruleSections('incomplete') || '<p class="muted">None.</p>'}
1129
+ ${ruleSections('incomplete', 'measurement') || '<p class="muted">None.</p>'}
1088
1130
  </section>
1089
1131
  ${perf.length > 0
1090
1132
  ? `