fix(cv): enforce readable render palettes
Choose a contrasting header foreground for custom accents and keep public colour and font overrides inside safe supported values.
This commit is contained in:
@@ -31,6 +31,8 @@ Status: `IMPLEMENTED — NOT VERIFIED`. Repository, automated and pathological C
|
||||
- Autosaves are serialized; stale preview responses are ignored; export/public actions save pending edits first.
|
||||
- CV deletion and version restore use the shared application dialog system.
|
||||
- The non-functional page-number switch is no longer advertised; `ShowPageNumbers` remains a backward-compatible exporter extension point until the Chromium CLI path supports controlled PDF footers.
|
||||
- Header-band contact/headline text now owns a computed black-or-white foreground chosen for the stronger WCAG contrast against both theme and custom accents. Sidebar contact/headline text owns `SidebarInk` instead of inheriting the main-page muted colour.
|
||||
- Accent overrides are restricted to six-digit hex colours and font overrides to the six editor-supported stacks before CSS generation, preventing malformed/public settings from escaping the generated stylesheet.
|
||||
|
||||
## Save-integrity increment
|
||||
|
||||
@@ -51,10 +53,11 @@ Status: `IMPLEMENTED — NOT VERIFIED`. Repository, automated and pathological C
|
||||
## Verification to date
|
||||
|
||||
- Focused Builder list/helper/deep-link/save/navigation: 3 suites, 21/21 tests; editor deep-link/interaction 9/9.
|
||||
- Focused renderer/template backend: 25/25 tests.
|
||||
- Focused renderer/template backend: 25/25 tests, including header/sidebar contrast ownership and visual-override sanitization.
|
||||
- Full frontend: 49/49 suites, 184/184 tests.
|
||||
- Production build/TypeScript and `git diff --check`: pass.
|
||||
- Pathological Chromium render: 14 long roles, 75 long skills, oversized name/email/URL, zero horizontal-overflow elements, nine-page PDF (173,196 bytes) with extractable final-page content.
|
||||
- Contrast rerun in real Chromium: Modern default computed white on `rgb(37, 99, 235)`, light custom accent computed black on `rgb(248, 250, 252)`, Technical sidebar computed white on `rgb(15, 76, 92)`, and all three reported zero element overflow at a 1400px viewport. The harder 14-role/75-skill fixture exported a 17-page A4 PDF (259,447 bytes) with 1,685 extractable characters on the final page.
|
||||
- Implementation commits: `b58cc19`, `a5b74e0`, `2043349` plus the V-165 checkpoint.
|
||||
|
||||
## Product research
|
||||
|
||||
Reference in New Issue
Block a user