Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
oakoss avatar

Accessibility

  • 96 installs
  • 14 repo stars
  • Updated March 2, 2026
  • oakoss/agent-skills

Helps with ai & agent building tasks during AI-assisted development.

About

accessibility is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.

  • accessibility
  • AI & Agent Building
  • AI-coding skill

Accessibility by the numbers

  • 96 all-time installs (skills.sh)
  • +6 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #4,531 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/oakoss/agent-skills --skill accessibility

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs96
repo stars14
Last updatedMarch 2, 2026
Repositoryoakoss/agent-skills

What it does

Helps with ai & agent building tasks during AI-assisted development.

Files

SKILL.mdMarkdownGitHub ↗

Web Accessibility (WCAG 2.2 AA)

Build for everyone — accessibility is a requirement, not a feature.

Contrast Ratios (WCAG AA)

ElementMinimum Ratio
Normal text (< 18pt)4.5:1
Large text (>= 18pt or 14pt bold)3:1
UI components and focus indicators3:1

WCAG 2.2 New AA Criteria

CriterionRequirement
Target Size Minimum (2.5.8)Interactive targets at least 24x24 CSS pixels
Focus Not Obscured Minimum (2.4.11)Focused element at least partially visible, not hidden by sticky headers or overlays
Focus Appearance (2.4.13)Focus indicator has minimum area (2px perimeter) and 3:1 contrast change
Dragging Movements (2.5.7)Provide single-pointer alternative for any drag interaction
Redundant Entry (3.3.7)Do not require re-entering previously provided information
Consistent Help (3.2.6)Help mechanisms (chat, phone, FAQ) appear in same relative order across pages
Accessible Authentication (3.3.8)No cognitive function test for login (allow paste, autofill, or alternatives)

Essential Keyboard Patterns

KeyAction
Tab / Shift+TabNavigate between focusable elements
Enter / SpaceActivate buttons and links
Arrow keysNavigate within widgets (tabs, menus)
EscapeClose dialogs and menus
Home / EndJump to first/last item in widget

Element Selection

NeedElement
Navigates to page<a href="...">
Submits form<button type="submit">
Opens dialog<button aria-haspopup="dialog">
Other action<button type="button">
Self-contained article<article>
Navigation links<nav>
Supplementary info<aside>

Common ARIA Attributes

AttributePurpose
aria-labelName when no visible label exists
aria-labelledbyReference existing text as label
aria-describedbyAdditional description (hints, errors)
aria-liveAnnounce dynamic updates (polite or assertive)
aria-expandedCollapsible/expandable state
aria-hidden="true"Hide decorative elements from screen readers
aria-invalidMark form fields with errors
aria-required="true"Mark required fields
aria-busyIndicate loading state

WCAG 2.2 AA Checklist Summary

PrincipleKey Requirements
PerceivableAlt text on images, contrast >= 4.5:1, color not sole indicator, text resizable to 200%, captions on video, prefers-reduced-motion support
OperableKeyboard accessible, visible focus not obscured, focus appearance meets minimum, targets >= 24px, skip links, dragging alternatives
Understandable<html lang="en">, consistent navigation, consistent help placement, form labels, error identification, no redundant entry, accessible auth
RobustValid HTML, name/role/value on all UI components, aria-live for status messages (SC 4.1.1 Parsing is obsolete in WCAG 2.2)

Anti-Patterns

Anti-PatternFix
<div onClick> instead of <button>Use semantic HTML elements
outline: none without replacementUse :focus-visible with visible outline
Placeholder as labelUse <label> element
tabindex > 0Use DOM order or tabindex="0" / tabindex="-1"
Color-only state indicatorsAdd icon and text label
Skipped heading levelsUse sequential h1-h6, style with CSS
role="button" on <button>Remove redundant ARIA
aria-hidden on interactive elementsNever hide interactive content
Fixed font sizes (px)Use rem units
No focus trap in modal dialogsTrap focus, close on Escape

Common Mistakes

MistakeCorrect Pattern
Adding aria-label to elements that already have visible textUse aria-labelledby to reference existing visible text instead
Using aria-live="assertive" for non-urgent updatesUse aria-live="polite" for most dynamic content; reserve assertive for errors and alerts
Setting alt="" on informative imagesProvide descriptive alt text; only use empty alt on purely decorative images
Adding keyboard handlers to non-focusable elementsUse native interactive elements or add tabindex="0" plus role and key handlers
Testing only with automated tools like axeAutomated scans catch ~30% of issues; always supplement with keyboard-only and screen reader testing

Screen Reader and Browser Pairings

Screen ReaderBrowserPlatform
JAWSChromeWindows
NVDAChromeWindows (free)
NVDAFirefoxWindows (free)
VoiceOverSafarimacOS / iOS
TalkBackChromeAndroid
NarratorEdgeWindows (built-in)

Testing Quick Guide

MethodToolEffort
Keyboard-onlyHide mouse, Tab through page5 min
Screen readerJAWS + Chrome or NVDA + Chrome/Firefox10 min
Screen readerVoiceOver + Safari (macOS)10 min
Automated scanaxe DevTools browser extension2 min
LighthouseChrome F12 > Lighthouse > Accessibility2 min
Unit testsjest-axe (Jest) or vitest-axe (Vitest)Ongoing

Delegation

When working on accessibility, delegate to:

  • design-system — Color tokens and contrast verification
  • react-patterns — Component patterns and hooks
  • testing — jest-axe integration and test patterns

Resources

References

  • Semantic HTML and Structure — Document landmarks, heading hierarchy, element selection, skip links
  • Focus Management — Focus indicators, focus not obscured, dialog focus traps, SPA route focus, focus-visible patterns
  • ARIA Patterns — Accessible tabs, live regions, data tables with ARIA attributes
  • Forms and Validation — Label association, error announcement, redundant entry, accessible authentication
  • Color and Media — Contrast requirements, reduced motion, dragging alternatives, video captions, alt text
  • Testing — Keyboard testing, screen reader pairings, axe DevTools, jest-axe and vitest-axe unit tests

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.