.claude/skills/accessibility-audit/SKILL.md
Perform comprehensive web accessibility audits covering WCAG 2.2 (A, AA, AAA), European Accessibility Act (EAA), ADA, Section 508, and EN 301 549. Generates detailed audit reports with findings, severity levels, legal risk assessment, and actionable fix recommendations. Use this skill whenever the user mentions accessibility, a11y, WCAG, ADA compliance, EAA, Section 508, screen reader compatibility, keyboard navigation issues, color contrast, ARIA attributes, or wants to verify their site meets accessibility standards. Also trigger when reviewing HTML/CSS/JS for inclusive design, preparing for an accessibility lawsuit, or building accessible components from scratch. If someone asks "is my site accessible?" or "does this meet WCAG?" — this is the skill to use.
npx skillsauth add joseconti/klytos accessibility-auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill guides a comprehensive web accessibility audit following international standards and legal requirements. It combines automated testing with manual review checklists to produce a professional audit report.
Every audit follows four phases. Adapt scope and depth to the user's needs, but never skip the manual review — automated tools catch only 30-40% of real accessibility issues.
Phase 1: Scope & Context --> Phase 2: Automated Testing
| |
v v
Phase 4: Report Generation <-- Phase 3: Manual Review
Before touching any code, establish what you are auditing and against which standards.
Ask the user (or inspect the project) to identify:
Not all projects need every standard. Use this decision tree:
| If the project... | Then require... | |---|---| | Serves EU consumers (any business) | WCAG 2.1 AA + EAA/EN 301 549 | | Is a US state/local government site | WCAG 2.1 AA (ADA Title II) | | Is a US private sector site | WCAG 2.1 AA (de facto, ADA Title III case law) | | Sells to US federal government | WCAG 2.0 AA (Section 508) | | Wants best practice coverage | WCAG 2.2 AA (superset of all above) | | Wants maximum inclusivity | WCAG 2.2 AAA where feasible |
When in doubt, audit against WCAG 2.2 Level AA — it is a superset that satisfies
all the above requirements. Read references/legal-standards.md for detailed
legal context on each standard.
Default to Level AA unless the user specifies otherwise.
Run automated tools first to catch the low-hanging fruit. This is fast and gives you a baseline, but remember: automated tools find at most 30-40% of WCAG issues.
Read references/automated-tools.md for detailed guidance on each tool. The
recommended approach depends on what is available:
If you have access to the source code (HTML/CSS/JS files):
If you have access to a running site (via browser tools):
If you have access to a build system:
These are patterns that almost always indicate accessibility problems. Search for them in the codebase:
# Images without alt text
<img> tags without alt attribute
<img alt=""> on informative images (empty alt is only for decorative images)
# Non-semantic interactive elements
<div onclick= (should be <button>)
<span onclick= (should be <button> or <a>)
<a> without href (should be <button>)
# Missing form labels
<input> without associated <label> or aria-label
<select> without associated <label>
<textarea> without associated <label>
# Keyboard traps and missing handlers
tabindex values > 0 (breaks natural tab order)
onmousedown/onmouseover without keyboard equivalents
outline: none / outline: 0 (removes focus indicator)
# Missing landmarks and structure
No <main> element
No <nav> element
Missing lang attribute on <html>
No <h1> on the page
Heading levels that skip (h1 to h3)
# Color-only indicators
class names suggesting color-only state (e.g., .red-error, .green-success)
without accompanying text or icon
# Autoplaying media
autoplay attribute on <video> or <audio>
# Missing ARIA on dynamic content
Modal dialogs without role="dialog"
Dynamic content updates without aria-live regions
Custom widgets without appropriate ARIA roles
For each finding, record:
This is where you catch the 60-70% of issues that automated tools miss. Go through each category systematically.
Read references/wcag-checklist.md for the complete criterion-by-criterion checklist.
Below is a summary of what to review manually:
Generate a professional audit report. Read references/report-template.md for the
full template structure. The report must include:
1. Executive Summary
- Overall conformance level achieved
- Total findings by severity
- Legal risk assessment
- Top 3 priority fixes
2. Scope and Methodology
- Pages/components audited
- Standards applied
- Tools used
- Date of audit
3. Findings
- Organized by WCAG principle (Perceivable, Operable, Understandable, Robust)
- Each finding includes: criterion, level, severity, location, description, recommendation, code example
- Findings sorted by severity within each principle
4. Conformance Checklist
- Every applicable WCAG criterion listed
- Status: Pass / Fail / Not Applicable / Not Tested
- Notes for each criterion
5. Legal Compliance Summary
- Status against each applicable regulation
- Risk level and recommended actions
6. Remediation Roadmap
- Priority 1: Critical and Major findings (fix immediately)
- Priority 2: Minor findings (fix in next sprint)
- Priority 3: Advisory items (plan for future)
- Estimated effort per finding
Generate the report as a Markdown file by default. If the user requests it, also generate as HTML for a more visual presentation.
Save the report to the project directory as accessibility-audit-report.md (or
the user's preferred location).
Read these files when you need detailed information during the audit:
| File | When to read |
|---|---|
| references/wcag-checklist.md | During Phase 3 manual review — contains every WCAG 2.2 criterion with testing instructions |
| references/legal-standards.md | During Phase 1 scope definition and Phase 4 legal compliance summary |
| references/automated-tools.md | During Phase 2 when selecting and running automated tools |
| references/report-template.md | During Phase 4 when generating the audit report |
| references/aria-patterns.md | When reviewing ARIA usage on custom widgets and dynamic content |
Use this classification consistently across all findings:
Critical — Prevents a user group from completing a core task. Must fix before any release. Examples: keyboard trap, missing form labels on login, no alt text on essential images, no captions on instructional video.
Major — Significantly degrades the experience for a user group but workarounds may exist. Fix within the current development cycle. Examples: poor color contrast on body text, missing heading hierarchy, focus indicator invisible on some elements.
Minor — Inconvenience that does not block task completion. Fix in next planned maintenance. Examples: redundant ARIA attributes, suboptimal tab order in non-critical section, decorative image with non-empty alt text.
Advisory — Best practice recommendation or AAA-level suggestion. Plan for future improvement. Examples: reading level above secondary education, no sign language interpretation for video, touch targets between 24px and 44px.
When generating the legal compliance summary, assess risk for each applicable regulation:
High Risk — Multiple Critical or Major findings directly violating required criteria. Active litigation likely if left unaddressed. Relevant for:
Medium Risk — Some Major findings with workarounds available. Exposure exists but immediate litigation unlikely. Remediation plan reduces risk significantly.
Low Risk — Minor findings only. Meets core conformance requirements. Ongoing monitoring recommended.
Read references/legal-standards.md for jurisdiction-specific details including
enforcement timelines, penalty structures, and case law trends.
development
Guide for working with dates, times, and timezones in Klytos CMS. Use when formatting dates, converting timezones, scheduling actions with timestamps, displaying local time, working with UTC storage, building timezone selectors, or using any klytos_date/klytos_gmdate/klytos_timezone functions.
tools
Guide for developing and extending the Klytos web terminal. Use when modifying terminal commands, adding terminal commands from plugins, fixing terminal bugs, extending the pseudo-terminal, working with TerminalExecutor class, registering custom permissions, adding custom category labels, or managing terminal UI and security.
development
--- name: klytos-site-builder description: Guide for building a complete website from scratch with Klytos CMS. Use when creating a new site, configuring a site after installation, setting up design/content/SEO/navigation, or when the user pastes the post-install prompt. Covers 9 phases: discovery, design reference, global config, theme, content structure, templates, content creation, additional features, and launch. --- # Klytos Site Builder ## Overview The Site Builder is a conversational AI
development
Use when creating or editing page content in Klytos CMS. Ensures every page has proper SEO structure, HTML semantics, meta tags, structured data, accessibility for maximum search engine visibility. Apply when writing page titles, descriptions, content, headings, images, internal links, JSON-LD schema, or following the SEO checklist before publishing pages.