mralexsaavedra/spotiarr/accessibility
Claude Code and agent skill by mralexsaavedra/spotiarr
- community
Checking that the SKILL.md file is still in the repository.
Audit and improve web accessibility following WCAG 2.2 guidelines. Use when asked to "improve accessibility", "a11y audit", "WCAG compliance", "screen reader support", "keyboard navigation", or "make accessible".
Install
npx vskill@latest install mralexsaavedra/spotiarr/accessibilitySKILL.md
Accessibility (a11y)
Comprehensive accessibility guidelines based on WCAG 2.2 and Lighthouse accessibility audits. Goal: make content usable by everyone, including people with disabilities.
WCAG Principles: POUR
| Principle | Description | |
|---|---|---|
| Perceivable | Content can be perceived through different senses | |
| Operable | Interface can be operated by all users | |
| Understandable | Content and interface are understandable | |
| Robust | Content works with assistive technologies |
Conformance levels
| Level | Requirement | Target | |
|---|---|---|---|
| A | Minimum accessibility | Must pass | |
| AA | Standard compliance | Should pass (legal requirement in many jurisdictions) | |
| AAA | Enhanced accessibility | Nice to have |
Perceivable
Text alternatives (1.1)
Images require alt text:
Icon buttons need accessible names:
Visually hidden class:
Color contrast (1.4.3, 1.4.6)
| Text Size | AA minimum | AAA enhanced | |
|---|---|---|---|
| Normal text (< 18px / < 14px bold) | 4.5:1 | 7:1 | |
| Large text (≥ 18px / ≥ 14px bold) | 3:1 | 4.5:1 | |
| UI components & graphics | 3:1 | 3:1 |
Don't rely on color alone:
Media alternatives (1.2)
Operable
Keyboard accessible (2.1)
All functionality must be keyboard accessible:
No keyboard traps. Users must be able to Tab into and out of every component. Use the modal focus trap pattern for dialogs—the native <dialog> element handles this automatically.
Focus visible (2.4.7)
Focus not obscured (2.4.11) — new in 2.2
When an element receives keyboard focus, it must not be entirely hidden by other author-created content such as sticky headers, footers, or overlapping panels. At Level AAA (2.4.12), no part of the focused element may be hidden.
Skip links (2.4.1)
Provide a skip link so keyboard users can bypass repetitive navigation. See the skip link pattern for full markup and styles.
Target size (2.5.8) — new in 2.2
Interactive targets must be at least 24 × 24 CSS pixels (AA). Exceptions: inline text links, elements where the browser controls the size, and targets where a 24px circle centered on the bounding box does not overlap another target.
Dragging movements (2.5.7) — new in 2.2
Any action that requires dragging must have a single-pointer alternative (e.g., buttons, inputs). See the dragging movements pattern for a sortable-list example.
Timing (2.2)
Motion (2.3)
Understandable
Page language (3.1.1)
Consistent navigation (3.2.3)
Consistent help (3.2.6) — new in 2.2
If a help mechanism (contact info, chat widget, FAQ link, self-help option) is repeated across multiple pages, it must appear in the same relative order each time. Users who rely on consistent placement shouldn't have to hunt for help on every page.
Form labels (3.3.2)
Every input needs a programmatically associated label. See the form labels pattern for explicit, implicit, and instructional examples.
Error handling (3.3.1, 3.3.3)
Announce errors to screen readers with role="alert" or aria-live, set aria-invalid="true" on invalid fields, and focus the first error on submit. See the error handling pattern for full markup and JS.
Redundant entry (3.3.7) — new in 2.2
Don't force users to re-enter information they already provided in the same session. Auto-populate from earlier steps, or let users select from previously entered values. Exceptions: security re-confirmation and content that has expired.
Accessible authentication (3.3.8) — new in 2.2
Login flows must not rely on cognitive function tests (e.g., remembering a password, solving a puzzle) unless at least one of:
- A copy-paste or autofill mechanism is available
- An alternative method exists (e.g., passkey, SSO, email link)
- The test uses object recognition or personal content (AA only; AAA removes this exception)
Robust
ARIA usage (4.1.2)
Prefer native elements:
When ARIA is needed, use the correct roles and states. See the ARIA tabs pattern for a complete tablist example.
Live regions (4.1.3)
Use aria-live regions to announce dynamic content changes without moving focus. See the live regions pattern for markup and a showNotification() helper.
Testing checklist
Automated testing
Manual testing
- [ ] Keyboard navigation: Tab through entire page, use Enter/Space to activate
- [ ] Screen reader: Test with VoiceOver (Mac), NVDA (Windows), or TalkBack (Android)
- [ ] Zoom: Content usable at 200% zoom
- [ ] High contrast: Test with Windows High Contrast Mode
- [ ] Reduced motion: Test with
prefers-reduced-motion: reduce - [ ] Focus order: Logical and follows visual order
- [ ] Target size: Interactive elements meet 24×24px minimum
See the screen reader commands reference for VoiceOver and NVDA shortcuts.
Common issues by impact
Critical (fix immediately)
- Missing form labels
- Missing image alt text
- Insufficient color contrast
- Keyboard traps
- No focus indicators
Serious (fix before launch)
- Missing page language
- Missing heading structure
- Non-descriptive link text
- Auto-playing media
- Missing skip links
Moderate (fix soon)
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 93 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/accessibility/SKILL.md
Popularity
- Repository stars
- 41
- Repository forks
- 6
- 7-day trend score
- 19
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 15 Aug 2026, 2 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mralexsaavedra/spotiarr/accessibility)