@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.
Files changed (105) hide show
  1. package/NOTICE +3 -2
  2. package/README.md +220 -0
  3. package/dist/autoscan.d.ts +15 -1
  4. package/dist/autoscan.d.ts.map +1 -1
  5. package/dist/autoscan.js +168 -13
  6. package/dist/autoscan.js.map +1 -1
  7. package/dist/brand.d.ts +51 -2
  8. package/dist/brand.d.ts.map +1 -1
  9. package/dist/brand.js +560 -5
  10. package/dist/brand.js.map +1 -1
  11. package/dist/checks/context-change.d.ts +96 -0
  12. package/dist/checks/context-change.d.ts.map +1 -0
  13. package/dist/checks/context-change.js +655 -0
  14. package/dist/checks/context-change.js.map +1 -0
  15. package/dist/checks/focus.d.ts +154 -0
  16. package/dist/checks/focus.d.ts.map +1 -0
  17. package/dist/checks/focus.js +1123 -0
  18. package/dist/checks/focus.js.map +1 -0
  19. package/dist/checks/heuristics.d.ts +116 -0
  20. package/dist/checks/heuristics.d.ts.map +1 -0
  21. package/dist/checks/heuristics.js +931 -0
  22. package/dist/checks/heuristics.js.map +1 -0
  23. package/dist/checks/keyboard.d.ts +106 -0
  24. package/dist/checks/keyboard.d.ts.map +1 -0
  25. package/dist/checks/keyboard.js +452 -0
  26. package/dist/checks/keyboard.js.map +1 -0
  27. package/dist/checks/reflow.d.ts +75 -0
  28. package/dist/checks/reflow.d.ts.map +1 -0
  29. package/dist/checks/reflow.js +285 -0
  30. package/dist/checks/reflow.js.map +1 -0
  31. package/dist/checks/rule-pack.d.ts +1 -1
  32. package/dist/checks/rule-pack.d.ts.map +1 -1
  33. package/dist/checks/rule-pack.js +350 -45
  34. package/dist/checks/rule-pack.js.map +1 -1
  35. package/dist/checks/shortcuts.d.ts +71 -0
  36. package/dist/checks/shortcuts.d.ts.map +1 -0
  37. package/dist/checks/shortcuts.js +196 -0
  38. package/dist/checks/shortcuts.js.map +1 -0
  39. package/dist/checks/versions.d.ts.map +1 -1
  40. package/dist/checks/versions.js +33 -1
  41. package/dist/checks/versions.js.map +1 -1
  42. package/dist/contract.d.ts +18 -0
  43. package/dist/contract.d.ts.map +1 -1
  44. package/dist/covers.d.ts +56 -0
  45. package/dist/covers.d.ts.map +1 -0
  46. package/dist/covers.js +135 -0
  47. package/dist/covers.js.map +1 -0
  48. package/dist/dedupe.d.ts +23 -0
  49. package/dist/dedupe.d.ts.map +1 -1
  50. package/dist/dedupe.js +96 -2
  51. package/dist/dedupe.js.map +1 -1
  52. package/dist/document.d.ts.map +1 -1
  53. package/dist/document.js +144 -0
  54. package/dist/document.js.map +1 -1
  55. package/dist/envelope.d.ts +8 -0
  56. package/dist/envelope.d.ts.map +1 -1
  57. package/dist/envelope.js +28 -0
  58. package/dist/envelope.js.map +1 -1
  59. package/dist/fixture.d.ts.map +1 -1
  60. package/dist/fixture.js +12 -0
  61. package/dist/fixture.js.map +1 -1
  62. package/dist/html-report.d.ts +24 -7
  63. package/dist/html-report.d.ts.map +1 -1
  64. package/dist/html-report.js +608 -136
  65. package/dist/html-report.js.map +1 -1
  66. package/dist/index.d.ts +13 -0
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +13 -0
  69. package/dist/index.js.map +1 -1
  70. package/dist/links.d.ts +43 -0
  71. package/dist/links.d.ts.map +1 -1
  72. package/dist/links.js +43 -0
  73. package/dist/links.js.map +1 -1
  74. package/dist/observe.d.ts +8 -0
  75. package/dist/observe.d.ts.map +1 -1
  76. package/dist/observe.js +45 -1
  77. package/dist/observe.js.map +1 -1
  78. package/dist/options.d.ts +53 -0
  79. package/dist/options.d.ts.map +1 -1
  80. package/dist/options.js +3 -0
  81. package/dist/options.js.map +1 -1
  82. package/dist/reading-level.d.ts +22 -1
  83. package/dist/reading-level.d.ts.map +1 -1
  84. package/dist/reading-level.js +122 -19
  85. package/dist/reading-level.js.map +1 -1
  86. package/dist/reporter.d.ts.map +1 -1
  87. package/dist/reporter.js +31 -15
  88. package/dist/reporter.js.map +1 -1
  89. package/dist/scan.d.ts +36 -1
  90. package/dist/scan.d.ts.map +1 -1
  91. package/dist/scan.js +16 -2
  92. package/dist/scan.js.map +1 -1
  93. package/dist/screens.d.ts +55 -4
  94. package/dist/screens.d.ts.map +1 -1
  95. package/dist/screens.js +243 -43
  96. package/dist/screens.js.map +1 -1
  97. package/dist/summary.d.ts +22 -0
  98. package/dist/summary.d.ts.map +1 -1
  99. package/dist/summary.js +197 -22
  100. package/dist/summary.js.map +1 -1
  101. package/dist/viewports.d.ts +105 -0
  102. package/dist/viewports.d.ts.map +1 -0
  103. package/dist/viewports.js +134 -0
  104. package/dist/viewports.js.map +1 -0
  105. package/package.json +5 -4
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Width bands, and the names the artifacts group by.
3
+ *
4
+ * ## These name a WIDTH, not a device
5
+ *
6
+ * "Laptop", "tablet" and "mobile" are what a reader scanning a page of evidence
7
+ * is actually asking about, so the grouping uses those words — but nothing here
8
+ * detects a device and nothing could. A viewport is a number of CSS pixels; the
9
+ * machine behind it might be a phone, a tablet, a laptop window dragged narrow,
10
+ * or a desktop browser with text at 200%. This repository's own suite produces
11
+ * that last one: `reflow.spec.ts` halves 1280×1024 to emulate 200% text for
12
+ * WCAG 1.4.4, and its 640×512 scans land in the mobile band despite no phone
13
+ * being anywhere near them.
14
+ *
15
+ * That is not a flaw in the grouping, it is the reason the legend exists and is
16
+ * rendered beside every one of these tables. The band is shorthand; the exact
17
+ * size is always shown next to it, and the legend says which is which. A
18
+ * document that said "mobile" and hid the number would be claiming something it
19
+ * cannot know.
20
+ *
21
+ * ## Where the boundaries come from
22
+ *
23
+ * 768 and 1024, which are the conventional `md` and `lg` breakpoints — the ones
24
+ * Tailwind, Bootstrap and most design systems already use, and therefore the
25
+ * widths a customer's own CSS is most likely to change at. A band boundary that
26
+ * does not line up with a real breakpoint groups together layouts that are not
27
+ * the same layout, which is the one thing this is for.
28
+ *
29
+ * Three bands rather than five. The question a reader has is "did anything look
30
+ * at this narrow", and splitting mobile from small-mobile answers a question
31
+ * nobody asked while making every table a third longer.
32
+ */
33
+ /** A viewport, as the envelope records it. */
34
+ export interface ViewportSize {
35
+ width: number;
36
+ height: number;
37
+ }
38
+ export interface ViewportBand {
39
+ id: 'laptop' | 'tablet' | 'mobile';
40
+ /** The word shown as a group heading. */
41
+ label: string;
42
+ /** Inclusive lower bound, in CSS pixels. */
43
+ minWidth: number;
44
+ /** The bound in words, for the legend: `1024px and wider`. */
45
+ range: string;
46
+ }
47
+ /**
48
+ * Widest first, which is the order every artifact groups in.
49
+ *
50
+ * Widest first rather than narrowest because a reader arrives knowing what the
51
+ * desktop looks like, and the interesting rows are the ones further down. The
52
+ * order is also the order the bands were added to a suite: nobody starts with
53
+ * the phone.
54
+ */
55
+ export declare const VIEWPORT_BANDS: readonly ViewportBand[];
56
+ /** The one sentence every artifact prints beside a band name. */
57
+ export declare const VIEWPORT_BAND_NOTE: string;
58
+ /**
59
+ * The fragment a band's heading answers to, so one document can link into
60
+ * another's grouping.
61
+ *
62
+ * Here rather than at either call site because it is a contract between two
63
+ * files: the contact sheet writes these ids onto its headings and the report
64
+ * writes them into its hrefs, and a link that agrees with nothing is worse than
65
+ * no link. Derived from the band id, so a band cannot be renamed on one side
66
+ * only.
67
+ */
68
+ export declare function viewportBandAnchor(band: ViewportBand): string;
69
+ /** `1280×720`. The multiplication sign, not an x: this is a size. */
70
+ export declare function viewportSize(viewport: ViewportSize): string;
71
+ /**
72
+ * Which band a width falls in. Never undefined — the last band has no floor.
73
+ *
74
+ * Takes the width alone. Height is recorded and displayed because it is a fact
75
+ * about the run, but no breakpoint in anybody's CSS is a height, so grouping by
76
+ * one would split a band for a reason no layout has.
77
+ */
78
+ export declare function viewportBand(width: number): ViewportBand;
79
+ export interface BandGroup<T> {
80
+ band: ViewportBand;
81
+ /** Every distinct size seen in this band, widest first. */
82
+ sizes: string[];
83
+ items: T[];
84
+ }
85
+ /**
86
+ * Group anything that carries a viewport into bands, widest band first.
87
+ *
88
+ * Bands with nothing in them are dropped rather than rendered empty: a heading
89
+ * whose only content is "nothing here" is worse than the absence device, which
90
+ * is what the documents use to say a band was never looked at.
91
+ *
92
+ * **Order within a band is the order given.** Every caller has already sorted
93
+ * its items for a reason — the contact sheet leads with comparisons and then
94
+ * failures, the surfaces table leads with the worst — and re-sorting here would
95
+ * quietly overrule that.
96
+ *
97
+ * Items with no viewport at all go in a group with no band, returned last: a
98
+ * run driving a real device controls no viewport, and dropping those rows would
99
+ * lose evidence to make a table tidy.
100
+ */
101
+ export declare function groupByBand<T>(items: readonly T[], viewportOf: (item: T) => ViewportSize | undefined): {
102
+ groups: BandGroup<T>[];
103
+ unbanded: T[];
104
+ };
105
+ //# sourceMappingURL=viewports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewports.d.ts","sourceRoot":"","sources":["../src/viewports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACnC,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAIjD,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,QAGuC,CAAC;AAEvE;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAE7D;AAED,qEAAqE;AACrE,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAE3D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAOxD;AAED,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,CAAC,EAAE,CAAC;CACZ;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,YAAY,GAAG,SAAS,GAChD;IAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,QAAQ,EAAE,CAAC,EAAE,CAAA;CAAE,CAoC3C"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Width bands, and the names the artifacts group by.
3
+ *
4
+ * ## These name a WIDTH, not a device
5
+ *
6
+ * "Laptop", "tablet" and "mobile" are what a reader scanning a page of evidence
7
+ * is actually asking about, so the grouping uses those words — but nothing here
8
+ * detects a device and nothing could. A viewport is a number of CSS pixels; the
9
+ * machine behind it might be a phone, a tablet, a laptop window dragged narrow,
10
+ * or a desktop browser with text at 200%. This repository's own suite produces
11
+ * that last one: `reflow.spec.ts` halves 1280×1024 to emulate 200% text for
12
+ * WCAG 1.4.4, and its 640×512 scans land in the mobile band despite no phone
13
+ * being anywhere near them.
14
+ *
15
+ * That is not a flaw in the grouping, it is the reason the legend exists and is
16
+ * rendered beside every one of these tables. The band is shorthand; the exact
17
+ * size is always shown next to it, and the legend says which is which. A
18
+ * document that said "mobile" and hid the number would be claiming something it
19
+ * cannot know.
20
+ *
21
+ * ## Where the boundaries come from
22
+ *
23
+ * 768 and 1024, which are the conventional `md` and `lg` breakpoints — the ones
24
+ * Tailwind, Bootstrap and most design systems already use, and therefore the
25
+ * widths a customer's own CSS is most likely to change at. A band boundary that
26
+ * does not line up with a real breakpoint groups together layouts that are not
27
+ * the same layout, which is the one thing this is for.
28
+ *
29
+ * Three bands rather than five. The question a reader has is "did anything look
30
+ * at this narrow", and splitting mobile from small-mobile answers a question
31
+ * nobody asked while making every table a third longer.
32
+ */
33
+ /**
34
+ * Widest first, which is the order every artifact groups in.
35
+ *
36
+ * Widest first rather than narrowest because a reader arrives knowing what the
37
+ * desktop looks like, and the interesting rows are the ones further down. The
38
+ * order is also the order the bands were added to a suite: nobody starts with
39
+ * the phone.
40
+ */
41
+ export const VIEWPORT_BANDS = [
42
+ { id: 'laptop', label: 'Laptop', minWidth: 1024, range: '1024px and wider' },
43
+ { id: 'tablet', label: 'Tablet', minWidth: 768, range: '768px to 1023px' },
44
+ { id: 'mobile', label: 'Mobile', minWidth: 0, range: 'narrower than 768px' },
45
+ ];
46
+ /** The one sentence every artifact prints beside a band name. */
47
+ export const VIEWPORT_BAND_NOTE = 'These name a width, not a device. Nothing here detects what a page was opened on — ' +
48
+ 'a 640px viewport is in the mobile band whether it is a phone or a desktop browser ' +
49
+ 'with text at 200%. The exact size is always shown beside the name.';
50
+ /**
51
+ * The fragment a band's heading answers to, so one document can link into
52
+ * another's grouping.
53
+ *
54
+ * Here rather than at either call site because it is a contract between two
55
+ * files: the contact sheet writes these ids onto its headings and the report
56
+ * writes them into its hrefs, and a link that agrees with nothing is worse than
57
+ * no link. Derived from the band id, so a band cannot be renamed on one side
58
+ * only.
59
+ */
60
+ export function viewportBandAnchor(band) {
61
+ return `band-${band.id}`;
62
+ }
63
+ /** `1280×720`. The multiplication sign, not an x: this is a size. */
64
+ export function viewportSize(viewport) {
65
+ return `${viewport.width}×${viewport.height}`;
66
+ }
67
+ /**
68
+ * Which band a width falls in. Never undefined — the last band has no floor.
69
+ *
70
+ * Takes the width alone. Height is recorded and displayed because it is a fact
71
+ * about the run, but no breakpoint in anybody's CSS is a height, so grouping by
72
+ * one would split a band for a reason no layout has.
73
+ */
74
+ export function viewportBand(width) {
75
+ for (const band of VIEWPORT_BANDS) {
76
+ if (width >= band.minWidth)
77
+ return band;
78
+ }
79
+ // Unreachable while the last band's floor is 0, and cheaper than a non-null
80
+ // assertion that would stop being true if somebody reordered the list.
81
+ return VIEWPORT_BANDS[VIEWPORT_BANDS.length - 1];
82
+ }
83
+ /**
84
+ * Group anything that carries a viewport into bands, widest band first.
85
+ *
86
+ * Bands with nothing in them are dropped rather than rendered empty: a heading
87
+ * whose only content is "nothing here" is worse than the absence device, which
88
+ * is what the documents use to say a band was never looked at.
89
+ *
90
+ * **Order within a band is the order given.** Every caller has already sorted
91
+ * its items for a reason — the contact sheet leads with comparisons and then
92
+ * failures, the surfaces table leads with the worst — and re-sorting here would
93
+ * quietly overrule that.
94
+ *
95
+ * Items with no viewport at all go in a group with no band, returned last: a
96
+ * run driving a real device controls no viewport, and dropping those rows would
97
+ * lose evidence to make a table tidy.
98
+ */
99
+ export function groupByBand(items, viewportOf) {
100
+ const byBand = new Map();
101
+ const unbanded = [];
102
+ for (const item of items) {
103
+ const viewport = viewportOf(item);
104
+ if (!viewport) {
105
+ unbanded.push(item);
106
+ continue;
107
+ }
108
+ const band = viewportBand(viewport.width);
109
+ const slot = byBand.get(band.id) ?? {
110
+ band,
111
+ sizes: new Map(),
112
+ items: [],
113
+ };
114
+ slot.sizes.set(viewportSize(viewport), viewport.width);
115
+ slot.items.push(item);
116
+ byBand.set(band.id, slot);
117
+ }
118
+ const groups = VIEWPORT_BANDS.flatMap((band) => {
119
+ const slot = byBand.get(band.id);
120
+ if (!slot)
121
+ return [];
122
+ return [
123
+ {
124
+ band,
125
+ sizes: [...slot.sizes]
126
+ .sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0]))
127
+ .map(([size]) => size),
128
+ items: slot.items,
129
+ },
130
+ ];
131
+ });
132
+ return { groups, unbanded };
133
+ }
134
+ //# sourceMappingURL=viewports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewports.js","sourceRoot":"","sources":["../src/viewports.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@setsquare/review-sdk",
3
- "version": "0.0.1",
3
+ "version": "0.1.0",
4
4
  "description": "Accessibility, e2e and performance evidence capture for Playwright. Phase 0 ships the packaging skeleton only — scan/fixture/reporter logic is Phase 1.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://setsquare.dev",
@@ -50,8 +50,8 @@
50
50
  "dependencies": {
51
51
  "axe-core": "4.13.0",
52
52
  "text-readability": "1.1.1",
53
- "@setsquare/review-cli": "^0.0.1",
54
- "@setsquare/schema": "^0.0.1"
53
+ "@setsquare/review-cli": "^0.1.0",
54
+ "@setsquare/schema": "^0.1.0"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@axe-core/playwright": "4.13.0",
@@ -59,7 +59,7 @@
59
59
  "@types/node": "^22.20.1",
60
60
  "typescript": "^5.9.3",
61
61
  "vitest": "^4.1.10",
62
- "@setsquare/review-sdk": "0.0.1"
62
+ "@setsquare/review-sdk": "0.1.0"
63
63
  },
64
64
  "publishConfig": {
65
65
  "access": "public"
@@ -74,6 +74,7 @@
74
74
  "test": "vitest run --passWithNoTests",
75
75
  "fixtures:serve": "node fixtures/serve.mjs",
76
76
  "fixtures:test": "playwright test -c fixtures/playwright.config.ts",
77
+ "fixtures:test:aaa": "playwright test -c fixtures/playwright.aaa.config.ts",
77
78
  "fixtures:test:parallel": "playwright test -c fixtures/playwright.parallel.config.ts",
78
79
  "fixtures:test:engines": "pnpm build && playwright test -c fixtures/playwright.engines.config.ts",
79
80
  "fixtures:test:grouped": "pnpm build && node fixtures/run-grouped.mjs"