Accessibility
accessibility
Code Snippets
Accessible Skip-to-Content Link
A skip-to-content link lets keyboard and screen-reader users jump past the navigation straight to the main content. Most sites get the markup right but hide it permanently with `display: none`, which screen readers also skip. This snippet covers the visually-hidden-until-focus pattern, the matching CSS to keep it usable, and the required `<main>` target so the link actually works.
Accessible Semantic Form Markup
A login or signup form is the highest-traffic interaction on most apps, and getting the semantic markup right pays dividends in screen-reader support, autofill quality, and form validation. This snippet covers a labelled email-and-password form, a form-with-error-summary using `aria-describedby`, and a multi-step fieldset pattern for grouped inputs.
CSS Utility Tricks: Invisible Text and Filters
Two utility recipes that come up over and over: hiding content correctly (visually-hidden but readable to screen readers, plus a decision matrix for the four ways to make something disappear) and using `filter` for cheap visual effects like blur, grayscale, and drop-shadow. Both are short on their own but easy to get wrong, so they live together as a quick reference.
Question Banks
CSS Theming and Custom Properties Quiz
Three drills on theming with CSS custom properties: declaring a token set, switching themes at runtime, and respecting the OS prefers-color-scheme setting.
HTML Semantic Tags and Accessibility Quiz
Quick drills on semantic HTML: why it matters, document outline with sectioning elements, figure/figcaption, and ARIA landmark roles for accessibility.
HTML Forms and Validation Quiz
Four drills on HTML5 forms: building accessible forms with constraint validation, `<datalist>` autocomplete, the `<output>` element for live calculations, and ARIA roles for error reporting.
Community
The Accessibility Checklist I Actually Use on Every PR
Accessibility is not a separate phase. It is a short list of checks you run on every PR. Skip them and you ship broken code; run them and you do not.
useCommandK Palette Hook
The cmd-k palette hook I wire into every internal tool. Owns global keyboard shortcuts, fuzzy match, arrow-key navigation, and a focus trap, with no external dependencies.
The CSS Accessibility Tricks I Keep Using
Five accessibility moves I have committed to muscle memory: the visually-hidden snippet, skip links, focus-visible rings, reduced-motion, and a CSS variable trick that catches contrast bugs at build time.
