| name | accessibility-audit |
| description | WCAG compliance audit — semantic HTML, ARIA, keyboard navigation, color contrast, and screen reader testing. Use when working with accessibility audit. |
| domain | content |
| author | oyi77 |
| license | Apache-2.0 |
| subdomain | content-creation |
| tags | ["accessibility","audit","compliance","content-creation","digital-content","machine-learning","media","testing"] |
| version | 1.0.0 |
Overview
Accessibility (a11y) audit framework for WCAG 2.1 compliance. Covers semantic HTML, ARIA attributes, keyboard navigation, color contrast, focus management, and screen reader testing.
Capabilities
- Audit pages against WCAG 2.1 AA criteria
- Check semantic HTML structure and heading hierarchy
- Verify keyboard navigation and focus management
- Test color contrast ratios (4.5:1 normal, 3:1 large text)
- Validate ARIA attributes and screen reader experience
When to Use
Trigger phrases:
-
"accessibility audit"
-
"WCAG compliance audit — semantic HTML, ARIA, keyboard navigation, color contrast"
-
Before launching any public-facing UI
-
Legal compliance requirements (ADA, EAA)
-
User complaints about accessibility
-
Adding keyboard navigation support
When NOT to Use
- Task is about content strategy, not creation (use strategy skills)
- Task is about content distribution (use distribution skills)
- You need to analyze content performance (use analytics skills)
- Task is about content moderation (use moderation tools)
- You don't have content guidelines
- Task requires domain expertise (consult experts)
Pseudo Code
The accessibility-audit workflow follows a standard pipeline pattern.
Core flow:
# accessibility-audit primary flow
input = prepare(raw_data)
result = process(input, config={accessibility, aria, audit, color, compliance})
validate(result)
deliver(result)
Error handling:
on error:
log(error_details)
retry_with_backoff(max=3)
if still_failing: alert_and_escalate()
Core Workflow
# accessibility-audit primary flow
input = prepare(raw_data)
result = process(input, config={accessibility, aria, audit, color, compliance})
validate(result)
deliver(result)
Error Handling
on error:
log(error_details)
retry_with_backoff(max=3)
if still_failing: alert_and_escalate()
Automated Audit
def audit_accessibility(url):
results = {
"headings": check_heading_hierarchy(url),
"images": check_alt_text(url),
"contrast": check_color_contrast(url),
"keyboard": check_tab_order(url),
"aria": check_aria_labels(url),
"forms": check_form_labels(url),
}
return generate_report(results, level="AA")
Manual Checklist
- [ ] Page has exactly one h1
- [ ] All images have descriptive alt text
- [ ] All interactive elements are keyboard accessible
- [ ] Focus indicator is visible on all focusable elements
- [ ] Color is not the only way to convey information
- [ ] Form inputs have associated labels
- [ ] Error messages are announced to screen readers
Common Patterns
- Semantic first: Use
<button> not <div onclick>, <nav> not <div class="nav">
- Skip links: Add "Skip to content" link for keyboard users
- Focus visible: Never
outline: none without replacement
- ARIA sparingly: Native HTML > ARIA. Only use ARIA when no semantic equivalent exists.
How to Use
- Define content goal (traffic, engagement, conversion, brand awareness)
- Research target audience pain points and search intent
- Generate content using appropriate AI tools
- Edit and humanize output for authenticity
- Optimize for target platform (SEO, hashtags, format)
- Schedule and distribute across channels
- Measure performance and iterate
Red Flags
- AI-generated content sounds robotic: Always run through humanizer before publishing
- Engagement dropping week-over-week: Content fatigue or algorithm change — vary formats
- Duplicate content across platforms: Adapt content per platform, don't just cross-post
- No content calendar: Sporadic posting kills audience retention
- Ignoring analytics: Content without measurement is just publishing, not marketing
Verification
Process
- Analyze the task requirements
- Apply domain expertise
- Verify output quality
Anti-Rationalization Table
| Rationalization | Reality |
|---|
| "Good enough content works" | Quality content drives engagement. Mediocre content gets ignored. |
| "I will optimize later" | SEO and distribution need optimization from the start. |
| "Templates are good enough" | Templates are a starting point. Custom content outperforms generic. |