Commit 1ce5233
Second P2 fast-follow to #899/#900. Covers the 9 P2 findings from #898's
homepage audit those PRs explicitly deferred (7, 8, 11, 14, 16, 17, 19, 20,
21). Branched fresh from origin/master (post-#900) in an isolated worktree.
Findings addressed:
- 7: evidence loop read as a straight line, not a loop -- added a closing
"Improve loops back to Execute" affordance with a rotate-left icon under
the grid instead of silently terminating at the 5th card.
- 8: no copyable dependency coordinate anywhere on the page -- added a
<dependency> XML snippet (Docusaurus CodeBlock, built-in copy button) in
the guide-paths intro, sourcing the version from the existing
releases.json single source of truth (not hardcoded).
- 11: .loopStep::after ('>') and .handledPanel li::before ('+') used bare
CSS content strings, announced by screen readers -- switched both to the
alt-text form (content: '>' / '').
- 14: composited-contrast coverage stopped short of the hero/final
secondary buttons and .heroTrustLinks. Added a border-contrast measurement
(WCAG 1.4.11, composites the border's own rgba over the sampled backdrop
rather than sub-pixel-sampling the 1px stroke) plus a text-contrast case
for the trust links. The border case caught a real borderline failure --
0.42 alpha measured 2.94:1; raised to 0.48 (~3.4:1) per the issue's own
guidance to adjust alpha, not text color.
- 16: will-change: opacity, transform sat permanently on ~20 reveal elements
for the page's whole lifetime -- removed; transitions still promote their
own layer for the transition's duration.
- 17: useHoverGlow forced a synchronous layout read on every pointermove
across 28 elements -- now caches the rect once on pointerenter and reuses
it in the pointermove handler.
- 19: the 5-column path/loop/badge grids collapsed straight from 5 to 1
column at 980px, leaving ~150px-wide cards in the 981-1180px band --
added an intermediate 2-column step at 1180px.
- 20: .audienceLane/.loopStep pinned content rows to fixed heights
(2.1rem/4.4rem and 1.8rem/3rem), which a 3rd description line or a
multi-word loop title would overflow -- replaced with CSS subgrid so
cross-card row alignment now follows content instead of a guessed cap.
- 21: height: 3.45rem on CTA buttons whose labels are explicitly allowed to
wrap (white-space: normal) -- changed to min-height.
Not in scope for this PR (per dispatch): P3 findings 23, 25-29, and finding
18 (scroll-reveal roll-back), which the issue itself frames as an owner
decision, not a bug -- left untouched.
Test impact / evidence (TDD): every new/changed assertion was written and
watched RED against the pre-fix source first.
- tests/homepage-performance.test.js: static assertions for all 9 findings
(will-change absence, alt-text content strings, min-height, pointerenter
caching, the 1180px breakpoint's presence, subgrid rows, the loop-return
copy/testid, the dependency-snippet import/testid, and the still-single
"Maven Central" occurrence).
- tests/e2e/composited-contrast.spec.js: new border-contrast helper
(compositeOver + measureBorderContrast) and two new tests (secondary CTA
border, hero trust links text).
- tests/e2e/homepage.spec.js: extended the existing mobile CTA-overflow
check to also catch vertical overflow, added a dedicated 800px test for
the previously-unguarded 761-900px wrap band, and a parametrized test at
1000/1100/1180px confirming the path/loop grids sit at 2-4 columns with
no horizontal page overflow.
- Recaptured test-screenshots/01-homepage-before-chat.png against the live
built site (reduced-motion emulated so below-the-fold sections aren't
mid-reveal) to keep it current.
Test plan:
- [x] node tests/homepage-performance.test.js -- watched RED per finding,
then GREEN
- [x] npx tsc --noEmit -p tsconfig.json -- clean
- [x] npm run build -- clean production build
- [x] npx playwright test tests/e2e/homepage.spec.js
tests/e2e/composited-contrast.spec.js tests/e2e/hash-scroll-sync.spec.js
-- 20/20 pass, headless, against docusaurus serve on the fresh build
(includes the border-contrast test that caught the real 2.94:1
failure before the alpha fix)
- [x] npm run test:docs (docs-loader, docs-quality, design-contrast 9/9
WCAG pairs, duplicate-check) -- pass, no regressions
- [x] npm run test:release-template, npm run test:history -- pass
- [x] Full-page + close-up screenshots captured against the live built site
to visually confirm the dependency snippet, evidence-loop return
note, 2-column grid at 1100px, and the more visible secondary-button
border
Ref #898
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Claude-Session: https://claude.ai/code/session_019wEoJduy4Q4jfHWejcizCe
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
1 parent 976668a commit 1ce5233
6 files changed
Lines changed: 307 additions & 11 deletions
File tree
- src/pages
- test-screenshots
- tests
- e2e
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
164 | 164 | | |
165 | 165 | | |
166 | 166 | | |
167 | | - | |
| 167 | + | |
168 | 168 | | |
169 | 169 | | |
170 | 170 | | |
| |||
214 | 214 | | |
215 | 215 | | |
216 | 216 | | |
217 | | - | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
218 | 222 | | |
219 | 223 | | |
220 | 224 | | |
| |||
504 | 508 | | |
505 | 509 | | |
506 | 510 | | |
507 | | - | |
| 511 | + | |
508 | 512 | | |
509 | 513 | | |
510 | 514 | | |
| |||
517 | 521 | | |
518 | 522 | | |
519 | 523 | | |
| 524 | + | |
520 | 525 | | |
521 | 526 | | |
522 | 527 | | |
523 | 528 | | |
524 | 529 | | |
525 | | - | |
| 530 | + | |
| 531 | + | |
526 | 532 | | |
527 | 533 | | |
528 | 534 | | |
| |||
605 | 611 | | |
606 | 612 | | |
607 | 613 | | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
608 | 630 | | |
609 | 631 | | |
610 | 632 | | |
| |||
772 | 794 | | |
773 | 795 | | |
774 | 796 | | |
| 797 | + | |
775 | 798 | | |
776 | 799 | | |
777 | 800 | | |
| |||
783 | 806 | | |
784 | 807 | | |
785 | 808 | | |
786 | | - | |
| 809 | + | |
| 810 | + | |
787 | 811 | | |
788 | 812 | | |
789 | 813 | | |
| |||
807 | 831 | | |
808 | 832 | | |
809 | 833 | | |
810 | | - | |
| 834 | + | |
811 | 835 | | |
812 | 836 | | |
813 | 837 | | |
| |||
839 | 863 | | |
840 | 864 | | |
841 | 865 | | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
842 | 883 | | |
843 | 884 | | |
844 | 885 | | |
| |||
977 | 1018 | | |
978 | 1019 | | |
979 | 1020 | | |
980 | | - | |
981 | 1021 | | |
982 | 1022 | | |
983 | 1023 | | |
| |||
1023 | 1063 | | |
1024 | 1064 | | |
1025 | 1065 | | |
| 1066 | + | |
| 1067 | + | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
| 1088 | + | |
1026 | 1089 | | |
1027 | 1090 | | |
1028 | 1091 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
| 9 | + | |
9 | 10 | | |
| 11 | + | |
10 | 12 | | |
11 | 13 | | |
12 | 14 | | |
| |||
222 | 224 | | |
223 | 225 | | |
224 | 226 | | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
225 | 233 | | |
226 | 234 | | |
227 | 235 | | |
228 | | - | |
| 236 | + | |
229 | 237 | | |
230 | 238 | | |
231 | 239 | | |
232 | 240 | | |
233 | 241 | | |
| 242 | + | |
234 | 243 | | |
235 | 244 | | |
236 | 245 | | |
237 | 246 | | |
238 | 247 | | |
| 248 | + | |
239 | 249 | | |
240 | 250 | | |
241 | 251 | | |
| |||
364 | 374 | | |
365 | 375 | | |
366 | 376 | | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
367 | 385 | | |
368 | 386 | | |
369 | 387 | | |
| |||
493 | 511 | | |
494 | 512 | | |
495 | 513 | | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
496 | 518 | | |
497 | 519 | | |
498 | 520 | | |
| |||
Loading
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
194 | 194 | | |
195 | 195 | | |
196 | 196 | | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
197 | 272 | | |
198 | 273 | | |
199 | 274 | | |
| |||
253 | 328 | | |
254 | 329 | | |
255 | 330 | | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
225 | 228 | | |
226 | 229 | | |
227 | | - | |
| 230 | + | |
228 | 231 | | |
229 | 232 | | |
230 | 233 | | |
| |||
251 | 254 | | |
252 | 255 | | |
253 | 256 | | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
0 commit comments