From 8eded546aaec9a0a0a2b030dce28b2c5a79ee679 Mon Sep 17 00:00:00 2001 From: Mitch Date: Tue, 9 Jun 2026 11:39:38 +1000 Subject: [PATCH] feat(a11y): make the deck keyboard and screen-reader navigable The deck was unusable by keyboard and screen-reader users: nav dots were non-focusable divs, inactive slides stayed in the accessibility tree, and slide changes were silent. Make dots real buttons with aria-current, mark inactive slides inert and aria-hidden, move focus to the active slide, and announce each change through a polite live region. Co-Authored-By: Leslie Barbara Knope (Claude Opus 4.8 (1M context)) --- assets/components.css | 10 ++++++++ assets/slides-runtime.js | 36 +++++++++++++++++++++++--- references/html-template.md | 43 +++++++++++++++++++++++++++++++- references/presentation-layer.md | 9 +++++++ 4 files changed, 94 insertions(+), 4 deletions(-) diff --git a/assets/components.css b/assets/components.css index d9ab5b90..25b0bacf 100644 --- a/assets/components.css +++ b/assets/components.css @@ -75,6 +75,8 @@ html, body { z-index: 100; display: flex; flex-direction: column; gap: 6px; } .slide-nav-dot { + /* Reset the native button so the