Skip to content

Legal f accessibility - #68

Merged
amsultan2010 merged 2 commits into
mainfrom
amsultan2010/legal-f-accessibility
Aug 6, 2026
Merged

amsultan2010 merged 2 commits into
mainfrom
amsultan2010/legal-f-accessibility

Conversation

@amsultan2010

Copy link
Copy Markdown
Owner

No description provided.

The docs site had one skip link, on the landing page. Everything else -- the
docs shell, sign-in, sign-up, join, device, password reset, CLI login -- had
none, so a keyboard user tabbed the whole header on every page.

What was actually broken, beyond the skip links:

  * The sign-in and password-reset forms wrote their status and error messages
    into a <p hidden> and then unhid it. `hidden` takes the element out of the
    accessibility tree, so "Invalid login credentials" was announced to nobody.
    Both live regions now stay in the tree and are emptied instead, and a failed
    submit marks the fields aria-invalid pointing at the message.
  * Secondary text was #67676f on black: 3.5:1, at 12-14px. 48 elements on the
    landing page and 7 on every docs page failed 1.4.3. The two dim tokens are
    now 6:1. Input and button borders were 1.7:1 against their surface, under
    1.4.11's 3:1 for a control boundary; they take a new --control-line token.
  * The docs header is a bare row of six links with no mobile menu, so it ran
    260px off the side of a 320px viewport. It wraps now.
  * Standalone links -- the docs cards, "Next:", "Forgot your password?" -- were
    16-20px tall, under 2.5.8's 24px.
  * The hero's step strip was marked up as a tablist with no tabpanels and no
    arrow-key handling. It is a group of toggle buttons and now says so.
  * Code blocks scroll sideways with no way for a keyboard to reach the scroll.

docs/accessibility.md states the target (WCAG 2.2 AA), what was verified, and
eight limitations including the big one: this has not been driven with a screen
reader, so it does not claim full conformance.

apps/docs-site/src/a11y.test.ts runs axe-core over every page and over every
state the sign-in, join, and device pages render, and asserts the skip links
separately since axe has no rule for them. It runs under `pnpm test`.
@vercel

vercel Bot commented Aug 6, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
crosscode Ready Ready Preview Aug 6, 2026 6:06pm

@amsultan2010
amsultan2010 merged commit b8e6204 into main Aug 6, 2026
@amsultan2010
amsultan2010 deleted the amsultan2010/legal-f-accessibility branch August 9, 2026 21:24

This branch was successfully deployed

1 active deployment
Preview — 2c248888 Deployed Aug 6, 2026 by vercel[bot]
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