astro-a11y
Astro Accessibility Skill
Purpose
Ensures WCAG 2.1 AA compliance for lead generation websites. Legal requirement under UK Equality Act 2010. Provides essential patterns for keyboard navigation, screen readers, focus management, and ARIA implementation.
Core Rules
- Keyboard navigable — All interactive elements reachable via Tab
- Screen reader friendly — Semantic HTML, proper ARIA
- Visible focus — Clear focus indicators on all elements
- Sufficient contrast — 4.5:1 text, 3:1 UI components
- No motion harm — Respect
prefers-reduced-motion - Semantic HTML first — Use native elements before ARIA
- Labels required — Every form input must have a label
- Alternative text — All images need appropriate alt text
Buttons vs Links
| Element | Use For |
|---|---|
<button> |
Actions (submit, toggle, open modal) |
<a href> |
Navigation (go to page, section) |
Color Contrast Requirements
| Element | Minimum Ratio |
|---|---|
| Body text | 4.5:1 |
| Large text (18px+ or 14px bold) | 3:1 |
| UI components | 3:1 |
| Disabled elements | No requirement |
Testing Tools
- Chrome DevTools → Rendering → Emulate vision deficiencies
- axe DevTools extension
- WAVE extension
- Screen readers: NVDA (Windows), VoiceOver (Mac), JAWS
References
- Semantic HTML Patterns
- Focus Management — Skip links, focus traps, focus visible styles
- ARIA Patterns — Live regions, mobile menus
- Form Accessibility — Labels, error messages, required fields
- Image Accessibility — Alt text patterns
- Motion & Animation — Reduced motion support
- Screen Reader Only Utility — SR-only CSS class
Testing Checklist
Keyboard
- Tab through entire page — logical order?
- All interactive elements reachable?
- Focus visible on every element?
- Can escape modals with Escape key?
- Skip link works?
Screen Reader
- Page title announced?
- Headings hierarchy correct?
- Images have alt text?
- Form labels announced?
- Errors announced (aria-live)?
Visual
- Contrast passes (4.5:1)?
- Text resizes to 200% without breaking?
- Works without color alone?
- Reduced motion respected?
Forbidden
- ❌
<div>or<span>for interactive elements - ❌
outline: nonewithout replacement focus style - ❌
tabindexgreater than 0 - ❌ Missing form labels
- ❌ Color as only indicator
- ❌ Auto-playing video/audio
- ❌ CAPTCHA without alternative
Definition of Done
- Skip link present on page
- All forms have proper labels
- Contrast ratios pass WCAG AA
- Keyboard navigation works completely
- axe DevTools shows 0 errors
- Screen reader test passed
- Reduced motion media query implemented
- All images have appropriate alt text
More from soborbo/claudeskills
astro-seo
SEO markup patterns for Astro lead generation sites. Meta tags, Open Graph, Schema.org, sitemap, robots. Use for all SEO implementation.
37astro-architecture
Technical architecture for Astro lead generation websites. Use when setting up new projects, configuring build tools, or establishing project foundations. For images use astro-images skill. For SEO use astro-seo skill.
20astro-performance
Core Web Vitals and performance optimization for Astro sites. LCP preloading, font strategy, image patterns, critical path, third-party scripts, Cloudflare Tag Gateway. Use for performance tuning.
18astro-animations
Animation patterns for Astro sites. Scroll animations, micro-interactions, transitions, loading states. Performance-focused, accessibility-aware.
17astro-ux
UX patterns and section templates for Astro lead generation sites. Hero, features, testimonials, CTAs, FAQ sections. Use for page section design.
13astro-images
Width-based responsive image patterns for Astro. Local processing, AVIF/WebP/JPG, face-focus, OG generation. Includes Picture and FixedImage components.
13