Skip to content

Fix landing page a11y regression + stale FAQ doc comment#27

Merged
bradburch merged 1 commit into
mainfrom
landing-a11y-fix
Jul 15, 2026
Merged

Fix landing page a11y regression + stale FAQ doc comment#27
bradburch merged 1 commit into
mainfrom
landing-a11y-fix

Conversation

@bradburch

Copy link
Copy Markdown
Owner

Summary

Two follow-up nits from the #26 landing page review:

  • A11y regression: the redesign's .ledger sample card lost its aria-hidden="true", so screen readers announced the fictional sample entries (Bella $180 boarding, Otis $22 dog walk, Mochi $240 house-sit) as real content. Restored it — the inner stamp SVG and marginalia already had aria-hidden, so this re-hides the entries and makes the whole decorative card consistently hidden.
  • Stale doc comment: the LANDING_HTML doc comment above the template still claimed the FAQ used <details>/<summary>, but the redesign replaced it with a static Q&A. Confirmed via grep there are zero <details>/<summary> in the file and corrected the comment to say the page has no interactivity at all (script-free, native HTML/CSS only).

No behavioral changes beyond the aria-hidden attribute; CSP invariant preserved (root page stays script-free, inline styles only — verified via grep that the only <script in the body is the HTML-escaped &lt;script snippet).

Test plan

  • npm run typecheck — passes
  • npm test — 336/336 tests pass (46 files), including server/__tests__/landing.test.ts
  • npm run format — clean on server/index.ts (pre-existing drift in .claude/settings.local.json is unrelated)

Restore aria-hidden="true" on the decorative .ledger sample-entries
card so screen readers stop announcing fictional bookings (Bella
$180 boarding, Otis $22 dog walk, ...) as real content — the redesign
in #26 dropped it while the inner stamp/marginalia kept theirs.

Also correct the LANDING_HTML doc comment, which still claimed the
FAQ used <details>/<summary>; the redesign made it a static Q&A with
no <details> element, so the comment now says the page has no
interactivity at all.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@bradburch
bradburch merged commit 5386dee into main Jul 15, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant