web-design-guidelines

UI/UX best practices and accessibility audit. Use when reviewing UI code, checking accessibility, running accessibility audits, auditing forms, or ensuring web interface best practices. Triggers on "audit accessibility", "check WCAG", "review UI", "check accessibility", "audit design", "review UX",

By asyrafhussin · 649 installs

npx skills add asyrafhussin/agent-skills --skill web-design-guidelines

Source repository · Upstream listing

Web Design Guidelines 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 . Metadata Version: 2.1.0 Rule Count: 23 rules across 4 categories License: MIT How to Audit When the user asks to "audit accessibility", "check WCAG compliance", or "review accessibility" — run the checklist below against their codebase. Step 1: Determine Scope If arguments provided ( $ARGUMENTS ): audit only those files or components If no arguments: audit all UI components and pages in the codebase Step 2: Detect Stack Check the project for: .tsx / .jsx files → React .vue files → Vue .blade.php files → Laravel Blade .html files → Static HTML Step 3: Run Accessibility Checklist Work through every item below. For each, output: PASS — brief confirmation of what was verified FAIL — exact file:line , description of the issue, and fix recommendation N/A — if the check does not apply to this project Semantic HTML & Structure [ ] Pages use semantic elements ( <header , <main , <nav , <footer , <article , <section ) — not <div soup [ ] Heading hierarchy is sequential ( h1 → h2 → h3 ) — no skipped levels [ ] One <h1 per page [ ] Skip link exists to bypass navigation ( <a href=" main content" Skip to content</a ) [ ] Landmark regions are labelled when duplicated ( aria label on multiple <nav elements) Keyboard Navigation [ ] All interactive elements are reachable via Tab key [ ] Focus order follows visual order (no positive tabindex values) [ ] Focus indicator is visible on all focusable elements (not removed with outline: none without replacement) [ ] Modal dialogs trap focus and return focus on close [ ] Custom components (dropdowns, tabs, accordions) support expected keyboard patterns (Arrow keys, Escape, Enter) Images & Media [ ] All <img elements have alt attributes — descriptive for content images, empty ( alt="" ) for decorative [ ] Complex images (charts, diagrams) have extended descriptions [ ] Video content has captions or transcripts Color & Contrast [ ] Text meets WCAG AA contrast ratio (4.5:1 for normal text, 3:1 for large text) [ ] Information is not conveyed by color alone (e.g., error states use icons + text, not just red) [ ] UI components and focus indicators meet 3:1 contrast ratio against background Forms [ ] Every input has an associated <label (not just placeholder text) [ ] Required fields indicated with both visual cue and aria required="true" [ ] Error messages linked to inputs via aria describedby [ ] Error messages use role="alert" or aria live="assertive" for screen reader announcement [ ] Correct type attributes on inputs ( email , tel , url , number ) [ ] autocomplete attributes present on common fields (name, email, address, credit card) ARIA & Screen Readers [ ] ARIA labels on icon only buttons ( aria label="Close" ) [ ] Dynamic content updates use aria live regions [ ] Loading states announced to screen readers ( aria busy="true" , status messages) [ ] Decorative elements hidden from screen readers ( aria hidden="true" ) Motion & Animation [ ] prefers reduced motion respected — animations disabled or reduced [ ] No auto playing video or audio without user control [ ] No content that flashes more than 3 times per second Step 4: Summary End the audit with: When to Apply Reference these guidelines when: Running an accessibility audit on a codebase Reviewing UI code for accessibility (WCAG compliance) Implementing forms and interactions Ensuring keyboard navigation works Adding ARIA labels and live regions Optimizing image loading and layout stability Rule Categories by Priority Priority Category Impact Prefix 1 Accessibility CRITICAL a11y 2 Forms HIGH form 3 Animation & Motion CRITICAL motion 4 Performance & UX MEDIUM perf Quick Reference 1. Accessibility (CRITICAL) a11y semantic html Use semantic HTML elements a11y heading hierarchy Maintain proper heading hierarchy a11y screen reader Optimize for screen reader compatibility a11y skip links Provide skip links for navigation a11y keyboard nav Ensure full keyboard navigation a11y focus management Manage keyboard focus properly a11y aria labels Add ARIA labels to interactive elements a11y color contrast Ensure sufficient color contrast (WCAG AA) a11y alt text Provide meaningful alt text for images a11y error messages Make error messages accessible a11y form labels Associate labels with form inputs a11y live regions Announce dynamic content to screen readers 2. Forms (HIGH) form autocomplete Use autocomplete attributes form input types Use correct input types form error display Display form errors clearly form validation ux Design user friendly validation form inline validation Implement smart inline validation form multi step Design effective multi step forms form placeholder usage Use placeholders appropriately form submit feedback Provide clear submission feedback 3. Animation & Motion (CRITICAL) motion reduced Respect prefers reduced motion (WCAG AAA) 4. Performance & UX (MEDIUM) perf image loading Optimize image loading for UX perf layout stability Prevent cumulative layout shift Essential Guidelines Semantic HTML Form Accessibility Reduced Motion How to Use Read individual rule files for detailed explanations: References [WCAG 2.2 Quick Reference](https://www.w3.org/WAI/WCAG22/quickref/) [WAI ARIA Authoring Practices](https://www.w3.org/WAI/ARIA/apg/) [web.dev Accessibility](https://web.dev/accessibility/) [MDN Accessibility](https://developer.mozilla.org/en US/docs/Web/Accessibility) [The A11Y Project](https://a11yproject.com/) Full Compiled Document For the complete guide with all rules expanded: AGENTS.md