redesign: a11y & print sweep into foundation #16

Merged
michalvankodev merged 3 commits from redesign/08-syndication-perf into redesign/00-foundation 2026-09-09 15:37:42 +02:00

Fast-forward carry of the integration branch: brings #15 (a11y & print sweep — skip link, aria-current nav, print surface, reduced-motion gating, cover morph) and its specs record onto redesign/00-foundation. Diff is exactly the #15 slice: 6 files, +148/−22.

Fast-forward carry of the integration branch: brings #15 (a11y & print sweep — skip link, aria-current nav, print surface, reduced-motion gating, cover morph) and its specs record onto `redesign/00-foundation`. Diff is exactly the #15 slice: 6 files, +148/−22.
- Skip-to-content link as first tab stop → <main id=main-content
  tabindex=-1> landmark; visually hidden until focused
- aria-current=page on the active masthead nav item (tiny inline script —
  the header is a static include and must survive the static export).
  Active styling lives in CSS: #site-nav a[aria-current='page'] — not a
  JS-injected class, so it can't silently fall out of the Tailwind bundle
- Print: white page surface; chrome already carries print:hidden
- Reduced motion: the four social brand hovers (twitch shift, youtube
  scale, instagram dim, tiktok glitch) gated behind
  prefers-reduced-motion: no-preference; smooth scrolling was already gated
- View transitions: authored hero cover ↔ article cover plate morph via
  post_cover_<slug> on both ends (list-row ↔ title names already existed)
- Dropped from the stale draft of this slice: per-post lang front matter
  (site is English-only) and the contrast sweep (deferred, see
  specs/contrast-sweep.md)
specs: contrast sweep decision record — actual vs proposed state (deferred)
All checks were successful
preview / preview hostname (push) Successful in 0s
preview / build + deploy preview (push) Has been skipped
preview / teardown preview (push) Has been skipped
test / cargo test (push) Successful in 1m4s
preview / preview hostname (pull_request) Successful in 0s
preview / build + deploy preview (pull_request) Has been skipped
preview / teardown preview (pull_request) Successful in 0s
7c4c442277
Metadata text on the blue-50 page surface: slate-500 measures 4.37:1 and
slate-400 2.36:1 — both below the 4.5:1 AA bar for normal-size text.
slate-600 (6.96:1) is the floor. Inventory of the 8 failing spots with
proposed fixes; white-plate card labels already pass and are optional to
normalize. Review separately before implementing.
Merge pull request 'redesign 09 — a11y & print sweep (rebuilt on current base)' (#15) from redesign/09-a11y-print-v2 into redesign/08-syndication-perf
All checks were successful
preview / preview hostname (push) Successful in 0s
preview / build + deploy preview (push) Has been skipped
preview / teardown preview (push) Has been skipped
test / cargo test (push) Successful in 59s
preview / preview hostname (pull_request) Successful in 0s
preview / teardown preview (pull_request) Successful in 0s
preview / build + deploy preview (pull_request) Has been skipped
68c5ba277d
Reviewed-by: checkmate

Rebuild of #14 re-implemented from intent on the current base: skip link, aria-current nav (CSS attribute selector), print surface, reduced-motion gating, cover morph. Contrast sweep deferred (specs/contrast-sweep.md); per-post lang dropped (English-only site).
michalvankodev merged commit 547e26836a into redesign/00-foundation 2026-09-09 15:37:42 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
michalvankodev/michalvankodev-site!16
No description provided.