Loading...
Loading...
Build WCAG 2.1 AA compliant web applications for University of Sheffield. Covers semantic HTML, ARIA patterns, form accessibility, keyboard navigation, color contrast, alt text, captions, and automated testing. Use when creating websites, web apps, forms, interactive components, or auditing accessibility for WCAG compliance, screen readers, keyboard access, or inclusive design.
npx skill4agent add rcgsheffield/skills accessible-web-devpython scripts/contrast_checker.py "#foreground" "#background"<!-- Good: Native HTML -->
<button type="button">Click me</button>
<nav aria-label="Main navigation">
<ul><li><a href="/research">Research</a></li></ul>
</nav>
<!-- Bad: Div soup -->
<div onclick="...">Click me</div>
<div class="nav">...</div><h1>foridrequiredaria-required="true"aria-describedbyrole="alert"autocompleteassets/templates/form-template.html<div role="button"><button>references/aria_patterns.mdIs image meaningful?
├─ YES: Conveys information? → Write descriptive alt text
│ └─ Redundant with surrounding text? → alt=""
└─ NO: Purely decorative? → alt=""
Functional images (buttons, links): Describe function, not appearance
Complex images (charts): Brief alt + detailed description<!-- Decorative -->
<img src="border.png" alt="">
<!-- Informative -->
<img src="campus.jpg" alt="Students working in Diamond building collaborative space">
<!-- Functional -->
<a href="/search"><img src="search.svg" alt="Search"></a>
<!-- Complex -->
<img src="chart.png"
alt="Enrollment trends 2020-2024"
aria-describedby="chart-details">
<div id="chart-details">
Enrollment increased from 28,000 to 32,000,
with largest growth in Engineering (15%)...
</div># HTML audit
python scripts/accessibility_audit.py path/to/file.html
# Color contrast check
python scripts/contrast_checker.py "#ffffff" "#000000"assets/templates/modal-template.htmlrole="dialog"aria-modal="true"assets/examples/AccessibleTabs.jsxassets/templates/form-template.htmlrole="alert"assets/examples/AccessibleForm.jsxassets/examples/AccessibleTabs.jsxreferences/wcag_detailed.mdreferences/aria_patterns.mdpython scripts/contrast_checker.py "#color1" "#color2" --level AA<input type="text" placeholder="Email"><label for="email">Email</label><input id="email" type="email"><div onclick="submit()">Submit</div><button type="button" onclick="submit()">Submit</button><video autoplay><video controls><track kind="captions" src="captions.vtt"></video><title>University of Sheffield</title><title>Computer Science MSc - Courses - University of Sheffield</title># Audit single file
python scripts/accessibility_audit.py file.html
# Audit directory
python scripts/accessibility_audit.py src/
# JSON output
python scripts/accessibility_audit.py file.html --format json# Basic check
python scripts/contrast_checker.py "#ffffff" "#000000"
# Check for AAA
python scripts/contrast_checker.py "#ffffff" "#000000" --level AAA
# Large text
python scripts/contrast_checker.py "#999999" "#ffffff" --large-text
# Show suggestions
python scripts/contrast_checker.py "#cccccc" "#ffffff" --suggest// 1. Use this skill to generate accessible component
"I need to build a course enrollment form for University of Sheffield
student portal. Include name, email, course selection dropdown, and
accessibility preferences checkboxes."
// 2. Skill will:
// - Use semantic HTML form structure
// - Add proper label associations
// - Include error handling with aria-live
// - Implement keyboard navigation
// - Ensure color contrast compliance
// - Add autocomplete attributes
// - Reference form template from assets/
// 3. Test with provided tools
python scripts/accessibility_audit.py enrollment-form.html
python scripts/contrast_checker.py "#005eb8" "#ffffff"
// 4. Manual verification
// - Tab through form with keyboard only
// - Test with NVDA screen reader
// - Verify error messages announced
// - Check focus indicators visiblereferences/wcag_detailed.mdreferences/aria_patterns.mdassets/templates/form-template.htmlassets/templates/modal-template.htmlassets/examples/AccessibleTabs.jsxassets/examples/AccessibleForm.jsx