Skip to content

docs(site): final polish: 404 page, share images, a11y, 320px layout and lazy timelines - #31

Merged
hyamero merged 7 commits into
mainfrom
docs/site-polish
Sep 30, 2026
Merged

hyamero merged 7 commits into
mainfrom
docs/site-polish

Conversation

@hyamero

@hyamero hyamero commented Sep 30, 2026

Copy link
Copy Markdown
Member

What changed

  • 404 page (app/not-found.tsx): "Off the map." A request card's dashed route ends at an empty 404 slot, with links to Home, Examples and Quick start. Next already marks the response noindex.
  • Share images: every page except the home page was missing og:image. A page's openGraph replaces the layout's, and the root opengraph-image file went with it. OPEN_GRAPH now names the image.
  • Accessibility (axe is now clean on every route, both layouts and both colour schemes, plus the phone menu and the embedded viewer):
    • The kind pages skipped from h1 to h3; the parts grid now has a visually hidden h2.
    • Code blocks and schema tables that scroll sideways can be focused by keyboard.
    • ViewerShell renders a div instead of main when it is embedded (titleAs="h2"), so the page keeps a single main landmark.
  • Responsiveness: at 320px, text-mega had a 60px floor that let "Architecture." overflow, and inline code paths couldn't wrap. The floor is now 44px and inline code wraps. Nothing scrolls sideways at any width from 320 to 1920.
  • Performance: LandingMotion loads each composition's timelines only once its media query matches with motion allowed. The other composition's timelines are never downloaded, and none are with reduced motion. Lighthouse mobile on / went from 67 to 77 and TBT from 500ms to about 200ms.
  • Animation: the landing's .lnk links and kind pills shrink slightly when pressed, like .ib and .pbtn.

Why

Final polish pass before launch: 404 page, SEO metadata, contrast, animations, responsiveness and performance.

Tests

  • New tests, one per route unless noted: share tags with an image that loads, no skipped heading levels, no sideways scroll at 320px, and a 404 test. Each failed against the old build first.
  • New viewer test: the shell leaves the main landmark to the embedding page.
  • Playwright smoke suite: 45/45.
  • Unit tests pass: core 89, schema 105, layout 240, viewer 130, cli 42, site 103.
  • Typecheck is clean.

Left as is

LCP on the phone landing is about 5s in Lighthouse. The measured element, the hero lede, fades in 1.25s into the intro, so reducing it would mean changing the intro's timing.

@vercel

vercel Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
stackmap-site Ready Ready Preview Sep 30, 2026 3:38pm UTC

@hyamero
hyamero merged commit 5ac9563 into main Sep 30, 2026
7 checks passed
@hyamero
hyamero deleted the docs/site-polish branch September 30, 2026 15:43
@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 0.1.0-rc.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 0.1.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

This branch was successfully deployed

1 active deployment
Preview — 10aa0d61 Deployed Sep 30, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant