From asyrafhussin-agent-skills-1
Audits UI code for WCAG accessibility, semantic HTML, keyboard navigation, and color contrast. Run checklist against components or full codebase.
How this skill is triggered — by the user, by Claude, or both
Slash command
/asyrafhussin-agent-skills-1:web-design-guidelinesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
WCAG accessibility, semantic HTML, keyboard navigation, forms, and performance patterns for inclusive web interfaces. Contains 23 rules across 4 categories. Supports both **coding reference** and **audit mode**.
AGENTS.mdREADME.mdmetadata.jsonrules/_sections.mdrules/_template.mdrules/a11y-alt-text.mdrules/a11y-aria-labels.mdrules/a11y-color-contrast.mdrules/a11y-error-messages.mdrules/a11y-focus-management.mdrules/a11y-form-labels.mdrules/a11y-heading-hierarchy.mdrules/a11y-keyboard-nav.mdrules/a11y-live-regions.mdrules/a11y-screen-reader.mdrules/a11y-semantic-html.mdrules/a11y-skip-links.mdrules/form-autocomplete.mdrules/form-error-display.mdrules/form-inline-validation.mdWCAG accessibility, semantic HTML, keyboard navigation, forms, and performance patterns for inclusive web interfaces. Contains 23 rules across 4 categories. Supports both coding reference and audit mode.
When the user asks to "audit accessibility", "check WCAG compliance", or "review accessibility" — run the checklist below against their codebase.
$ARGUMENTS): audit only those files or componentsCheck the project for:
.tsx/.jsx files → React.vue files → Vue.blade.php files → Laravel Blade.html files → Static HTMLWork through every item below. For each, output:
file:line, description of the issue, and fix recommendation<header>, <main>, <nav>, <footer>, <article>, <section>) — not <div> souph1 → h2 → h3) — no skipped levels<h1> per page<a href="#main-content">Skip to content</a>)aria-label on multiple <nav> elements)tabindex values)outline: none without replacement)<img> elements have alt attributes — descriptive for content images, empty (alt="") for decorative<label> (not just placeholder text)aria-required="true"aria-describedbyrole="alert" or aria-live="assertive" for screen reader announcementtype attributes on inputs (email, tel, url, number)autocomplete attributes present on common fields (name, email, address, credit card)aria-label="Close")aria-live regionsaria-busy="true", status messages)aria-hidden="true")prefers-reduced-motion respected — animations disabled or reducedEnd the audit with:
## Accessibility Audit Summary
- **PASS**: X checks
- **FAIL**: X checks
- **N/A**: X checks
- **WCAG Level**: AA / Partial AA / Below AA
- **Top Priority Fixes**: (list the 3 most impactful FAIL items)
Reference these guidelines when:
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Accessibility | CRITICAL | a11y- |
| 2 | Forms | HIGH | form- |
| 3 | Animation & Motion | CRITICAL | motion- |
| 4 | Performance & UX | MEDIUM | perf- |
a11y-semantic-html - Use semantic HTML elementsa11y-heading-hierarchy - Maintain proper heading hierarchya11y-screen-reader - Optimize for screen reader compatibilitya11y-skip-links - Provide skip links for navigationa11y-keyboard-nav - Ensure full keyboard navigationa11y-focus-management - Manage keyboard focus properlya11y-aria-labels - Add ARIA labels to interactive elementsa11y-color-contrast - Ensure sufficient color contrast (WCAG AA)a11y-alt-text - Provide meaningful alt text for imagesa11y-error-messages - Make error messages accessiblea11y-form-labels - Associate labels with form inputsa11y-live-regions - Announce dynamic content to screen readersform-autocomplete - Use autocomplete attributesform-input-types - Use correct input typesform-error-display - Display form errors clearlyform-validation-ux - Design user-friendly validationform-inline-validation - Implement smart inline validationform-multi-step - Design effective multi-step formsform-placeholder-usage - Use placeholders appropriatelyform-submit-feedback - Provide clear submission feedbackmotion-reduced - Respect prefers-reduced-motion (WCAG AAA)perf-image-loading - Optimize image loading for UXperf-layout-stability - Prevent cumulative layout shift// ❌ Div soup
<div className="header"><div className="nav"><div onClick={handleClick}>Home</div></div></div>
// ✅ Semantic HTML
<header><nav aria-label="Main"><a href="/">Home</a></nav></header>
<main><article><h1>Title</h1><p>Content</p></article></main>
<label htmlFor="email">Email <span aria-hidden="true">*</span></label>
<input id="email" type="email" required aria-required="true" aria-describedby="email-error" autoComplete="email" />
{error && <p id="email-error" role="alert">{error}</p>}
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
transition-duration: 0.01ms !important;
}
}
Read individual rule files for detailed explanations:
rules/a11y-semantic-html.md
rules/form-autocomplete.md
rules/motion-reduced.md
rules/perf-image-loading.md
For the complete guide with all rules expanded: AGENTS.md
npx claudepluginhub joshuarweaver/cascade-code-languages-misc-1 --plugin asyrafhussin-agent-skills-1Audits UI code for web design guidelines compliance, covering accessibility, performance, and responsive design. Invoked by queries like 'review my UI' or 'check accessibility'.
Audits UI code against 100+ web interface guidelines from Vercel covering accessibility, forms, dark mode, typography, animation, images, performance, navigation, touch, and internationalization.
Enforces WCAG AA and ARIA best practices for screen readers, keyboard navigation, and focus management. Use when building or auditing user-facing interfaces for accessibility compliance.