accessibility-tester

404kidwiz/claude-supercode-skills · updated Apr 8, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$npx skills add https://github.com/404kidwiz/claude-supercode-skills --skill accessibility-tester
0 commentsdiscussion
summary

Provides WCAG 2.1/2.2 AA compliance expertise specializing in accessibility audits, automated testing, screen reader validation, and remediation guidance. Ensures digital products are usable by everyone, including people with disabilities, through systematic testing methodologies and inclusive design verification.

skill.md

Accessibility Tester

Purpose

Provides WCAG 2.1/2.2 AA compliance expertise specializing in accessibility audits, automated testing, screen reader validation, and remediation guidance. Ensures digital products are usable by everyone, including people with disabilities, through systematic testing methodologies and inclusive design verification.

When to Use

  • Conducting accessibility audits (WCAG 2.1/2.2 AA/AAA)
  • Testing with screen readers (VoiceOver, NVDA, JAWS)
  • Validating keyboard navigation and focus management
  • Implementing automated accessibility testing in CI/CD (Axe, Pa11y)
  • Reviewing semantic HTML and ARIA implementation
  • Checking color contrast and visual accessibility
  • Creating VPATs (Voluntary Product Accessibility Templates)


2. Decision Framework

Testing Strategy Selection

What needs testing?
├─ New Component / Feature?
│  │
│  ├─ Development Phase? → **Linting + Unit Tests (jest-axe)**
│  │
│  └─ Review Phase? → **Manual Keyboard + Screen Reader Check**
├─ Full Website / App?
│  │
│  ├─ Quick Health Check? → **Automated Scan (Lighthouse/Axe)**
│  │  (Catches ~30-50% of issues)
│  │
│  └─ Compliance Audit? → **Full Manual Audit (WCAG Checklist)**
│     (Required for legal compliance)
└─ Specific Interaction?
   ├─ Dynamic Content? → **ARIA Live Regions Check**
   └─ Navigation? → **Keyboard Trap & Focus Order Check**

Screen Reader Selection

OS / Browser Primary Screen Reader Secondary Choice
Windows NVDA (Free, Open Source) JAWS (Commercial, Enterprise standard)
macOS VoiceOver (Built-in) -
iOS VoiceOver (Built-in) -
Android TalkBack (Built-in) -
Linux Orca -

Recommendation: Test with at least NVDA + Firefox/Chrome (Windows) and VoiceOver + Safari (macOS/iOS) to cover majority of user combinations.

Remediation Prioritization Matrix

Impact High Effort Low Effort
Critical (Blocker) P1: Plan & Fix ASAP(e.g., Keyboard trap, Missing form labels) P0: Fix Immediately(e.g., Missing alt text, Bad contrast)
Major (Difficult) P2: Roadmap(e.g., Complex ARIA widgets) P1: Quick Win(e.g., Heading hierarchy)
Minor (Annoyance) P3: Backlog P2: Batch Fix

Red Flags → Escalate to frontend-developer:

  • Entire UI built with <div> and <span> instead of semantic HTML (requires rewrite)
  • Custom implementation of native controls (e.g., a div button) without ARIA
  • Third-party widgets (chatbots, maps) that are inaccessible (vendor issue)
  • Canvas-based UI (extremely hard to make accessible)


Workflow 2: Manual Keyboard Audit

Goal: Ensure all functionality is operable without a mouse.

Steps:

  1. Preparation

    • Unplug mouse (or ignore it).
    • Enable "Focus Indicators" in OS settings if needed.
  2. Navigation Test

    • Tab Key: Can you reach every interactive element?
      • Pass: Links, Buttons, Inputs.
      • Fail: Divs with onClick, customized spans.
    • Shift + Tab: Can you navigate backwards?
    • Focus Order: Does the order make logical sense (Left→Right, Top→Bottom)?
    • Focus Visibility: Is the focus ring visible on every element?
  3. Interaction Test

    • Enter / Space: Activates buttons and links?
    • Arrow Keys: Controls Radios, Tabs, Select lists?
    • Escape: Closes modals, tooltips, menus?
  4. Trap Test

    • No Traps: Can you tab out of every area?
    • Modal Loop: When a modal is open, does focus stay inside until closed?

Deliverable: List of focus management bugs (e.g., "Focus lost after closing modal", "Skip link missing").



Workflow 4: Mobile Accessibility (Touch & Gestures)

Goal: Ensure iOS/Android apps (or mobile web) are usable by everyone.

Steps:

  1. Touch Target Size Audit

    • Requirement: Minimum 44x44 CSS pixels (iOS Human Interface Guidelines) or 48x48dp (Android Material).
    • Test: Overlay a 44px grid on screenshots. Identify small buttons.
  2. Gesture Alternatives

    • Requirement: Complex gestures (swipe, pinch) must have simple alternatives (tap buttons).
    • Test: Can you delete an item without swiping left? Is there a "Delete" button in the edit menu?
  3. Orientation Test

    • Requirement: App works in both Portrait and Landscape.
    • Test: Rotate device. Does layout break? Is content accessible?
  4. Zoom/Text Scaling

    • Requirement: App respects system font size settings (Dynamic Type).
    • Test: Set iOS Text Size to max. Does text overlap or truncate?


Core Capabilities

Automated Testing

  • Configures and runs automated accessibility testing tools (Axe, Pa11y, Lighthouse)
  • Integrates accessibility testing into CI/CD pipelines
  • Creates custom axe rules for project-specific requirements
  • Generates accessibility test reports with violation details

Manual Audit Methods

  • Performs comprehensive WCAG 2.1/2.2 AA manual audits
  • Tests with screen readers (VoiceOver, NVDA, JAWS, TalkBack, Orca)
  • Validates keyboard navigation and focus management
  • Reviews color contrast and visual design accessibility

Remediation Guidance

  • Provides prioritized fix recommendations with WCAG violation codes
  • Creates remediation scripts and code examples for common issues
  • Documents accessibility technical debt and roadmap
  • Validates fixes meet compliance requirements

Compliance Documentation

  • Generates VPATs (Voluntary Product Accessibility Templates)
  • Creates accessibility conformance reports
  • Documents accessibility requirements for legal compliance
  • Provides evidence documentation for audits


5. Anti-Patterns & Gotchas

❌ Anti-Pattern 1: ARIA Overuse ("The First Rule of ARIA")

What it looks like:

<div role="button" onClick={submit} aria-label="Submit">Submit</div>

Why it fails:

  • Lacks keyboard support (Enter/Space keys don't work automatically).
  • Lacks focus handling.
  • Redundant if native elements exist.

Correct approach:

<button onClick={submit}>Submit</button>

Use native HTML elements whenever possible.

❌ Anti-Pattern 2: "Click Here" Links

What it looks like:

  • "To learn more, [click here]."
  • "Read more [here]."

Why it fails:

  • Screen reader users scanning a list of links hear: "Click here, Click here, Here". No context.

Correct approach:

  • "To learn more, [read our pricing documentation]."
  • "Read more about [accessibility standards]."

❌ Anti-Pattern 3: Placeholder as Label

What it looks like:

<input type="text" placeholder="Search...">
<!-- No <label> element -->

Why it fails:

  • Placeholder text disappears when typing starts (memory strain).
  • Placeholders often have low contrast.
  • Screen readers may skip placeholders.

Correct approach:

<label for="search">Search</label>
<input type="text" id="search" placeholder="Enter keywords...">
<!-- Or visually hidden label if design requires -->


7. Quality Checklist

Perceivable:

  • Text Alternatives: All non-decorative images have alt text.
  • Captions/Transcripts: Video/Audio has alternatives.
  • Structure: HTML headings (h1-h6) follow a logical hierarchy.
  • Contrast: Text vs background ratio is at least 4.5:1 (AA) or 3:1 (Large text).
  • Resize: Text can be resized to 200% without breaking layout.

Operable:

  • Keyboard: All functionality accessible via keyboard (no mouse).
  • No Traps: Focus never gets stuck.
  • Focus Visible: Focus ring is clearly visible on all interactive elements.
  • Time Limits: User can extend or turn off time limits.
  • Bypass Blocks: "Skip to Content" link exists.

Understandable:

  • Language: Page has lang attribute (e.g., lang="en").
  • Consistency: Navigation and identification are consistent.
  • Error Identification: Errors are described in text and linked to inputs.
  • Labels: Form labels are present and associated.

Robust:

  • Parsing: HTML is valid (no duplicate IDs).
  • Name/Role/Value: Custom components have correct ARIA roles and states.
  • Status Messages: Dynamic updates announced via aria-live.

Examples

Example 1: E-Commerce Accessibility Audit

Scenario: A mid-sized e-commerce platform needs WCAG 2.2 AA compliance before launching in the EU market.

Audit Approach:

  1. Automated Scan: Run Lighthouse and Axe across all pages (home, product listings, product detail, cart, checkout)
  2. Keyboard Navigation Test: Walk through entire purchase flow using only Tab, Enter, Space, and Arrow keys
  3. Screen Reader Testing: Test with NVDA on Chrome for product pages and checkout flow
  4. Mobile Testing: Verify touch targets meet 44x44px minimum on iOS and Android devices

Key Findings:

  • Product images missing alt text on 23% of items
  • Color contrast fails on error messages (red text on white: 2.8:1 ratio)
  • Form fields missing labels on address entry page
  • Checkout modal traps focus when opened

Remediation:

  • Add automated alt text generation from product catalog data
  • Update error message colors to #D32F2F on white (4.5:1 ratio)
  • Add visible and aria-hidden labels to address form fields
  • Implement proper focus trap with Escape key support and restore focus on close

Example 2: React Component Library Accessibility

Scenario: A design system team needs to ensure their component library meets accessibility standards before internal release.

Testing Strategy:

  1. Unit Tests: Configure jest-axe for each component
  2. Visual Review: Check focus states, color contrast, touch targets
  3. Documentation Review: Verify each component has accessibility guidelines
  4. Screen Reader Testing: Document expected announcements for VoiceOver and NVDA

Component-Specific Issues Found:

  • Dropdown: Missing aria-expanded attribute updates
  • Autocomplete: Inconsistent keyboard navigation
  • Date Picker: Focus order jumps unexpectedly
  • Tooltip: No keyboard trigger, disappears on hover

Fixes Implemented:

  • Added state-based aria attributes to all interactive components
  • Implemented Arrow key navigation with proper roving tabindex
  • Fixed focus management to maintain logical order
  • Added trigger button with keyboard support and hover persistence option

Example 3: Accessibility Regression Testing Setup

Scenario: A SaaS company wants to prevent accessibility bugs from reaching production.

CI/CD Integration:

# GitHub Actions workflow
- name: Run Accessibility Tests
  run: |
    npm test -- --testPathPattern="a11y"
    npx cypress run --spec "cypress/e2e/a11y.cy.js"

Test Coverage:

  • Automated axe violations on all pages
  • Keyboard navigation smoke test on critical paths
  • Color contrast validation on design tokens
  • Alt text validation on image components

Process:

  1. Fail build if any Critical or High severity a11y violations
  2. Create GitHub Issues automatically for violations
  3. Track accessibility debt in sprint backlog
  4. Quarterly manual audits complement automated testing

Best Practices

Testing Excellence

  • Automate Early, Manual Always: Run automated tests on every commit, but schedule quarterly manual audits
  • Test with Real Users: Include people with disabilities in usability testing when possible
  • Document Everything: Keep detailed records of test results, edge cases found, and remediation steps
  • Iterate on Test Suites: Update automated tests when new accessibility issues are discovered
  • Cross-Platform Testing: Test across multiple browsers, devices, and assistive technologies

Remediation Strategies

  • Prioritize by Impact: Fix critical issues (keyboard inaccessible, missing labels) before cosmetic fixes
  • Fix Root Causes: Address underlying patterns rather than patching individual instances
  • Use Semantic HTML: Prefer native elements over custom ARIA implementations
  • Test After Fixes: Always re-test after remediation to ensure the fix didn't break something else
  • Document Technical Debt: Track accessibility debt for future refinement

Team Collaboration

  • Embed in Design Review: Catch accessibility issues during design phase, not after development
  • Share Knowledge: Conduct accessibility training for developers and designers
  • Create Guidelines: Maintain internal accessibility guidelines that extend WCAG
  • Set Clear Standards: Define minimum accessibility requirements in your Definition of Done
  • Celebrate Wins: Recognize teams that deliver accessible products

Compliance Documentation

  • Maintain Evidence: Keep screenshots, test results, and notes for audit purposes
  • Track Progress: Show improvement over time with metrics and trends
  • Version Documentation: Update VPATs when significant changes are made
  • Be Honest: Document known limitations and planned remediation
  • Legal Awareness: Stay current with accessibility legal requirements in your markets

Tool Selection

  • Layer Multiple Tools: Combine automated scanners with manual testing and user testing
  • Know Your Tools: Understand what each tool can and cannot detect
  • Customize Rules: Add project-specific accessibility rules to automated tools
  • Monitor Updates: Keep accessibility tools updated as WCAG evolves
  • Train the Team: Ensure all team members know how to use accessibility testing tools
how to use accessibility-tester

How to use accessibility-tester on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add accessibility-tester
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$npx skills add https://github.com/404kidwiz/claude-supercode-skills --skill accessibility-tester

The skills CLI fetches accessibility-tester from GitHub repository 404kidwiz/claude-supercode-skills and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/accessibility-tester

Reload or restart Cursor to activate accessibility-tester. Access the skill through slash commands (e.g., /accessibility-tester) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

Task Automation & Efficiency

Automate repetitive workflows and reduce manual effort

Example

Generate reports, summarize documents, draft communications

Save 3-5 hours per week on routine tasks

Knowledge Enhancement

Learn new skills, understand complex topics, get expert guidance

Example

Explain concepts, provide examples, suggest learning resources

Accelerate learning and skill development by 2x

Quality Improvement

Enhance output quality through reviews, suggestions, and refinements

Example

Review drafts, suggest improvements, catch errors

Improve work quality by 30-40% with less effort

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client with skill support
  • Clear understanding of task or problem to solve
  • Willingness to iterate and refine outputs

Time Estimate

15-45 minutes depending on use case complexity

Installation Steps

  1. 1.Install skill using provided installation command
  2. 2.Test with simple use case relevant to your work
  3. 3.Evaluate output quality and relevance
  4. 4.Iterate on prompts to improve results
  5. 5.Integrate into regular workflow if valuable

Common Pitfalls

  • Expecting perfect results without iteration
  • Not providing enough context in prompts
  • Using skill for tasks outside its intended scope
  • Accepting outputs without review and validation

Best Practices

✓ Do

  • +Start with clear, specific prompts
  • +Provide relevant context and constraints
  • +Review and refine all outputs before using
  • +Iterate to improve output quality
  • +Document successful prompt patterns

✗ Don't

  • Don't use without understanding skill limitations
  • Don't skip validation of outputs
  • Don't share sensitive information in prompts
  • Don't expect skill to replace human judgment

💡 Pro Tips

  • Be specific about desired format and style
  • Ask for multiple options to choose from
  • Request explanations to understand reasoning
  • Combine AI efficiency with human expertise

When to Use This

✓ Use When

Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.

✗ Avoid When

Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.

Learning Path

  1. 1Familiarize yourself with skill capabilities and limitations
  2. 2Start with low-risk, non-critical tasks
  3. 3Progress to more complex and valuable use cases
  4. 4Build expertise through regular use and experimentation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.834 reviews
  • Yusuf Gonzalez· Dec 28, 2024

    I recommend accessibility-tester for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Camila Li· Dec 24, 2024

    We added accessibility-tester from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Shikha Mishra· Dec 12, 2024

    Useful defaults in accessibility-tester — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Aisha Farah· Dec 12, 2024

    accessibility-tester fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Ganesh Mohane· Dec 8, 2024

    accessibility-tester fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Yusuf Rahman· Nov 19, 2024

    Solid pick for teams standardizing on skills: accessibility-tester is focused, and the summary matches what you get after install.

  • Yash Thakker· Nov 3, 2024

    accessibility-tester has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Dhruvi Jain· Oct 22, 2024

    Solid pick for teams standardizing on skills: accessibility-tester is focused, and the summary matches what you get after install.

  • Emma Patel· Oct 10, 2024

    accessibility-tester has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Mei Kapoor· Sep 25, 2024

    accessibility-tester reduced setup friction for our internal harness; good balance of opinion and flexibility.

showing 1-10 of 34

1 / 4