Skip to content

Enforce web interface guidelines: a11y, motion & theming fixes + eslint gate#474

Open
veksen wants to merge 11 commits into
mainfrom
veksen/enforce-design-guidelines
Open

Enforce web interface guidelines: a11y, motion & theming fixes + eslint gate#474
veksen wants to merge 11 commits into
mainfrom
veksen/enforce-design-guidelines

Conversation

@veksen

@veksen veksen commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Raises baseline quality across the site against the web interface guidelines, with no visual redesign. Behind-the-scenes fixes: scope transition: all to explicit properties, a global prefers-reduced-motion guard, color-scheme and a theme-color meta bound to the active theme, :focus:focus-visible, touch-action: manipulation on interactive elements, and scroll-margin-top on anchored headings. Accessibility fixes: the theme toggler is now a semantic keyboard-operable <button> and the content layout has a skip-to-content link. Finally, .eslintrc.js gains no-restricted-syntax rules that fail CI on transition: all, bare :focus, or unguarded outline: none in styled-components, so these don't regress. Build is green (108/108 pages) and the guideline docs land separately in #473.

🤖 Generated with Claude Code

veksen and others added 11 commits June 22, 2026 00:04
Scope the menu underline and markdown link transitions to the exact
properties that animate, per the web interface guidelines (never use
`transition: all`). No visual change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Neutralize animations, transitions and smooth scroll for users who
request reduced motion, per the web interface guidelines. No change for
users with default motion settings.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bind CSS `color-scheme` to the active theme name so native UI
(scrollbars, form controls, spinners) renders in the correct light/dark
mode, per the web interface guidelines.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Switch link focus affordances from :focus to :focus-visible across
Footer, Link, PageNavigation, PageSidebarLink, FourZeroFourHint and the
home layout, per the web interface guidelines. Hover and keyboard focus
look identical; mouse clicks no longer leave the focus style stuck.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Remove the 300ms tap delay and double-tap-to-zoom on links, buttons,
labels and summaries, per the web interface guidelines. No visual change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Deep links to markdown headings no longer hide under the fixed mobile
header, per the web interface guidelines. No change to normal rendering.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The theme toggler was a clickable div, unreachable by keyboard. Convert
the wrapper to a reset <button type="button"> so it is focusable and
operable via Enter/Space, per the web interface guidelines. Layout and
appearance are unchanged; keyboard users now get a focus ring.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add a skip link as the first focusable element so keyboard and screen
reader users can bypass the sidebar navigation and jump straight to
<main>, per the web interface guidelines. Visible only on keyboard focus.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Emit a <meta name="theme-color"> matching the active theme's page
background so mobile browser chrome aligns with the page, updating when
the user toggles themes, per the web interface guidelines.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add no-restricted-syntax rules that block, in styled-components CSS:
`transition: all`, bare `:focus` (prefer :focus-visible), and
`outline: none/0` without a focus replacement. Encodes the mechanical
rules from the web interface guidelines so CI fails on regressions.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The web interface guidelines now live at docs/design/ (added in a
separate PR) rather than the gitignored .context/ working copy.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@netlify

netlify Bot commented Jun 23, 2026

Copy link
Copy Markdown

Deploy Preview for tph ready!

Name Link
🔨 Latest commit d6a5b67
🔍 Latest deploy log https://app.netlify.com/projects/tph/deploys/6a3ab4dda3bf86000882c599
😎 Deploy Preview https://deploy-preview-474--tph.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

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