Automated summary
Governs how UI components are built from design tokens, enforcing semantic HTML, keyboard operability, screen-reader labeling, and WCAG AA contrast, then verified in a real browser.
Strengths
- Enforces reuse of existing components and requires any new component to enter the shared library, curbing agent-driven UI sprawl
- Puts semantic HTML first and treats ARIA as a patch only where native semantics fall short
- Explicitly covers keyboard operation, screen-reader support, and WCAG AA contrast, backed by a bundled accessibility checklist
- Requires verification in a real browser (Agentation, Reticle, Playwright) instead of asserting that something 'is accessible'
Limitations
- Assumes a component library and contrast-compliant design tokens already exist; otherwise upfront setup is needed
- Does not spell out manual testing with real assistive technologies (NVDA, VoiceOver) or dedicated automated audit tooling
- Web-focused: little explicit coverage of native or mobile application accessibility
Use it whenever building or reviewing any user-facing component or screen, or when questions about keyboard access, contrast, a11y, or WCAG come up.
Do not treat it as a replacement for a formal accessibility audit or legal WCAG conformance certification.
Security analysis
SafeThe skill is a documentation/standards guide with no declared tools or executable instructions. It contains no destructive, exfiltrating, or obfuscated actions; it only describes accessibility and UI development practices.
No concerns found
How this analysis is madeExamples
Build a settings page for our app using our existing component library — semantic markup, full keyboard navigation, labeled form fields, and WCAG AA contrast.Is this modal dialog accessible? Check focus handling, keyboard traps, labels for screen readers, and contrast, and verify it in a real browser.Our UI looks inconsistent across screens — help me move these one-off components into our token-based component library without breaking accessibility.name: ui-accessibility-standards type: custom status: built 2026-07-09 (Fable build) based_on_catalog_entry: plan §3 "ui-standards + accessibility M (ui-ux-pro-max candidate)" — searched, kept custom (below) marketplace_search: 2026-07-09 skillsmp.com / mcpmarket.com — UI/UX skills found (ui-ux-pro-max noted as a candidate in the plan) are framework component libraries; the standards+a11y discipline is kept custom, bound to design-tokens and WCAG. WCAG is the sourced accessibility standard assigned_agent: mia (Engineering / Frontend Web) portable: true — the standards are framework-agnostic; the component library comes from the stack-profile includes: assets/a11y-checklist.md date_added: 2026-07-09
Introduction
ui-accessibility-standards is how mia builds interfaces that are consistent, usable, and accessible: components built from design tokens, semantic HTML, keyboard operability, and WCAG-conformant contrast/labels/focus — so the product works for everyone and looks like one product, not a patchwork. Accessibility is not a later pass; it's how components are built.
Purpose
Two failure modes this prevents: inconsistency (every screen a slightly different button, spacing, interaction) and inaccessibility (unusable by keyboard, invisible to screen readers, failing contrast — excluding users and, increasingly, failing legal requirements). Both come from building screens ad hoc instead of from a component system with accessibility baked in.
When to Use
Triggers: "build this component/screen," "is this accessible," "a11y," "WCAG," "keyboard navigation," "contrast," "the UI is inconsistent," and any user-facing interface work.
Structure / Protocol
A UI to build
-> COMPONENTS from the system: reuse before creating; new components enter the library, tokens-based
-> SEMANTIC HTML: the right element (button is a <button>), not a div with a click handler
-> KEYBOARD: everything operable without a mouse; visible focus; logical tab order
-> SCREEN READERS: labels, roles, alt text, ARIA only where semantics fall short
-> CONTRAST + sizing: WCAG AA minimum (tokens should already encode compliant colors)
-> Verify in a real browser (frontend-verification: Agentation + quinn's Reticle/Playwright)
Instructions
- Build from the component system. Reuse an existing component before creating one; a genuinely new component enters the shared library, built from design tokens. Ad hoc one-off components are how consistency dies (and how agent-generated UI sprawls — dev's integrity concern).
- Semantic HTML first. The correct element carries accessibility for free — a
<button>is focusable, keyboard-activatable, and announced as a button; a<div onclick>is none of those and has to reimplement all of it (usually incompletely). ARIA is a patch for where semantics genuinely fall short, not a substitute for them. - Keyboard-operable, always. Every interaction works without a mouse: focusable controls, visible focus indicators, logical tab order, no keyboard traps. This is both an accessibility requirement and a correctness one (many bugs hide in mouse-only paths).
- Screen-reader support. Meaningful labels, correct roles, alt text for informative images (empty alt for decorative), form fields associated with labels. Test with the accessibility tree, not just the visual.
- WCAG AA contrast and sizing. Text meets AA contrast (design-tokens should already encode compliant color pairings — if a token pairing fails contrast, that's a kit/token finding for atlas). Touch targets adequately sized; text resizable.
- Verify in a real browser. Accessibility and consistency claims are checked with real rendering (frontend-verification's Agentation loop + quinn's Reticle/Playwright), not asserted — "it's accessible" without a check is the "agents say done" problem, a11y edition.
Output Format
## UI: [component/screen]
Components: [reused / new → library, tokens-based] · Semantic HTML: [correct elements ✓]
Keyboard: [operable ✓ · visible focus ✓ · logical order ✓] · Screen reader: [labels/roles/alt ✓]
Contrast/sizing: [WCAG AA ✓ / token pairing fails → atlas finding]
Verified in browser: [frontend-verification ref]
Principles
- Build from the component system — reuse first; new components join the library, tokens-based.
- Semantic HTML first — the right element gives accessibility for free; ARIA patches, never substitutes.
- Keyboard-operable always — no mouse-only paths; visible focus; no traps.
- Screen-reader support is built in — labels, roles, alt; test the accessibility tree.
- WCAG AA contrast/sizing — token pairings encode it; a failing pairing is an atlas finding.
- Verified in a real browser — accessibility is checked, not claimed.
Fallback
- No component library yet → start one with the first components (tokens-based, accessible); don't build screens of one-offs that a library later has to reconcile.
- Component library from the stack lacks accessibility → wrap/fix at adoption and flag upstream; don't inherit inaccessibility silently.
- Design mockup fails contrast → flag to atlas (the token/kit source), don't ship the failing pairing to "match the design"; the design has the bug.
Boundaries with Other Skills
- design-tokens (sibling): components are built from tokens; contrast compliance lives in the token pairings (atlas).
- frontend-verification (sibling): the real-browser check for accessibility and consistency (Agentation + Reticle/Playwright).
- frontend-performance (sibling): accessible and fast aren't in tension; both are how the UI is built.
- atlas / lena (Brand Studio): visual and voice consistency; a contrast-failing brand pairing is atlas's to resolve.
- raj: components consume raj's API contracts; loading/error/empty states are part of accessible UI.
- quinn: browser-verified accessibility is gate evidence.
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/ui-accessibility-standards-ms1aw5de/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/ui-accessibility-standards-ms1aw5de' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/ui-accessibility-standards-ms1aw5de/download' --output '.skill-downloads/ui-accessibility-standards-ms1aw5de/SKILL.md.part' && mv '.skill-downloads/ui-accessibility-standards-ms1aw5de/SKILL.md.part' '.skill-downloads/ui-accessibility-standards-ms1aw5de/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.
Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/ui-accessibility-standards-ms1aw5de/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.