a11y
Skill1 starsChanged 15 days agoMITView on GitHub
Persistent Context System for Accessibility: 19-Rule AI Behavioral Contract, Compliance Profiles (Standard AA, Shield AAA, Launchpad A), WAI-ARIA APG component references, static verification gate, and release evidence.
11 other projects use a version of this.
Adopted by
Most recently taken up by
- gbvillarinho/react-design-skillstheir own version, first seen Oct 20, 2026
- pengGgxp/skillstheir own version, first seen Oct 11, 2026
- BeyondTheProtocol/polaristheir own version, first seen Sep 25, 2026
- Pradnyeshp/Claude-Skillstheir own version, first seen Jul 6, 2026
- Surfrrosa/claude-skillstheir own version, first seen Jun 25, 2026
- ariadoss/superskillstheir own version, first seen Jun 21, 2026
Other versions11 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 11
- BeyondTheProtocol/polaris★ 47same name
- bmarshall511/forexflow★ 14same name
- ariadoss/superskills★ 12same name
- launch52-ai/flutter-template★ 2same name
- Pradnyeshp/Claude-Skills★ 2same name
- pengGgxp/skills★ 1same name
- Surfrrosa/claude-skills★ 1same name
- CorentinGC/claude-skills★ 0same name
- gbvillarinho/react-design-skills★ 0same name
- Nadav011/apex-skills★ 0same name
1 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository49 other files it gives its agents.
- AGENTS.mdAGENTS.md
- agents-mdSkill
- antislop-codeSkill
- antislop-copywritingSkill
- antislop-humanSkill
- antislop-layoutmobileSkill
- antislopSkill
- antislop-uiSkill
- askSkill
- audit-agentsSkill
- audit-choicesSkill
- audit-performanceSkill
- audit-testsSkill
- auto-researchSkill
- close-specSkill
- code-reviewSkill
- compare-screenshotsSkill
- debugSkill
- design-mdSkill
- design-with-imagesSkill
- document-codebaseSkill
- eli5Skill
- eval-skillsSkill
- explore-unknownsSkill
- handoff-specSkill
- implementSkill
- learnSkill
- marketing-pagesSkill
- memorySkill
- okf-contextSkill
- preview-shotsSkill
- quick-planSkill
- ratchet-filesSkill
- refactor-cleanSkill
- rememberSkill
- repoagent-doc-generationSkill
- retroSkill
- reviewSkill
- rtkSkill
- screenshot-critiqueSkill
- specifySkill
- spec-planSkill
- spec-tasksSkill
- statusSkill
- system-designSkill
- verifySkill
- write-docsSkill
- write-skillsSkill
- write-testsSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. 0 are common, 5 are distinctive, and 9 are very specific to this project.
0
Common
Most of the 9 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
If a user cannot complete a task due to an accessibility barrier, the feature is considered technically broken.
- Distinctive: line 26
Default profile: Standard (AA).
- Distinctive: line 51
No Inference: Never infer accessibility without direct evidence in the code or specification.
- Distinctive: line 54
Protocol for Ambiguity: Follow the Complex Component Protocol when a component lacks an established APG pattern.
- Very specific: line 62
Conflicting Access Needs: When needs collide (e.g. motion vs vestibular), implement user preferences (prefers-reduced-motion) or document …
- Very specific: line 63
Component Reuse: Check existing components via buddhi_search or project design systems before creating new ones.
- Very specific: line 66
Release Evidence: Ensure REPORT.md exists and is newer than the last interface change before any delivery to an end user.
- Very specific: line 67
Static Gate: Run buddhi scripts verify-a11y via terminal-runner (or MCP tool verify_a11y) before delivery and record findings in REPORT.md.
- Very specific: line 131
ARIA Soup: No redundant roles (e.g. role="button" on <button>), no hardcoded static aria-expanded that script never toggles.
- Very specific: line 133
Nullified Alt: Never combine aria-hidden="true" or role="presentation" with a non-empty alt.
- Distinctive: line 134
Overlays: Never propose third-party accessibility toolbar scripts as a fix.
- Very specific: line 136
Outline None: Never set outline: none without a visible high-contrast replacement.
- Very specific: line 137
Redundant Alert: Never combine role="alert" with aria-live.
- Very specific: line 144
Run static gate and contrast verification through terminal-runner or MCP tools:
“Common” is measured: kept by at least 6 in 10 of the 9 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
a11y
Adapted from Project A11Y.md (MIT License, Copyright (c) 2026 Felipe A. Carriço). Version: 2.5.0 | Target Standard: WCAG 2.2 AA (Shield AAA, Launchpad A)
This skill establishes the persistent context required so that software can be certified under WCAG 2.2 AA, ISO 9241-171, ADA, EAA, and ABNT NBR 17225, depending on rigorous implementation and mandatory human validation.
Most agent context teaches a capability — how to do something, loaded when the task calls for it. This skill defines a constraint: what may never be done, whatever you are building. It belongs in context before generating any UI code.
0. Principle Zero: Accessibility as Pre-condition
- Accessibility is not a feature or an incremental improvement; it is a pre-condition for use.
- If a user cannot complete a task due to an accessibility barrier, the feature is considered technically broken.
- Task Completion success is the primary quality metric.
0.1. Compliance Profiles
Default profile: Standard (AA). When generating or reviewing interface code, confirm the profile with the user if not specified:
| Profile | Target | Contrast (text / UI) | Min Font† | Min Target | Use Case |
| 🛡️ Shield (AAA) | WCAG AAA | 7:1 / 3:1 (SC 1.4.6, 1.4.11) | 14px† | 44×44px (SC 2.5.5) · 48×48px† advised | Regulated industries, healthcare, gov |
| ⚖️ Standard (AA) | WCAG AA | 4.5:1 / 3:1 (SC 1.4.3, 1.4.11) | 12px† | 24×24px (SC 2.5.8) · 44×44px† advised | Default. Production apps, public web |
| 🚀 Launchpad (A) | WCAG A | 3:1† (house floor) | 10px† | 24×24px† | MVPs, internal tools, prototypes |
† = A11Y.md rule (ergonomic baseline beyond WCAG minimums). Skipping a WCAG SC at your target level MUST be logged in EXCEPTIONS.md; relaxing an A11Y.md rule is a product decision recorded in A11Y-DECISIONS.md.
⚠️ The Launchpad (A) profile does NOT relax CRITICAL rules. Keyboard operability, focus management, and semantic HTML remain mandatory at ALL levels.
1. Severity & Impact Model
- 🔴 CRITICAL: Operation failures blocking task completion (broken keyboard nav, click on div/span, modal without focus management). MUST FIX.
- 🟠 HIGH: Perception and readability failures (insufficient contrast, font < 12px in critical text, missing dynamic feedback). MUST FIX.
- 🟡 MEDIUM: Reduces efficiency and satisfaction (missing keyboard shortcuts, lack of redundant labels). SHOULD FIX.
- 🔵 LOW: Cosmetic or polish impact (micro-interactions without aria-labels, focus indicators needing contrast polish). MAY FIX.
2. 19-Rule AI Behavioral Contract
- No Inference: Never infer accessibility without direct evidence in the code or specification.
- Lazy Context Loading: Reference files in
references/MUST NOT be preloaded — consult only the row of each component the interface contains per §2.1. - Reference APG: Prioritize patterns from the WAI-ARIA Authoring Practices Guide (APG).
- Protocol for Ambiguity: Follow the Complex Component Protocol when a component lacks an established APG pattern.
- Explain Trade-offs: Explicitly state impacts on Accessibility vs UX vs Business when proposing changes.
- UI Component Interrogation: Propose replacing click-handled non-semantic elements with native buttons or full APG patterns.
- Image Evidence: Resolve text alternatives with the developer before images enter code. Fabricating
altfrom filenames or defaulting toalt=""without confirmation is forbidden. - Media Evidence: Resolve captions, transcripts, and audio control before media enters code. Autoplay without pause or volume controls is 🔴 CRITICAL.
- Framework Adaptation: Transpose patterns to the project's active framework (React, Vue, Svelte, HTML) while preserving semantic equivalence.
- Platform Awareness: Identify target platform before loading references (web ARIA intent translates to native accessibility APIs on iOS, Android, Flutter).
- Cognitive Load: Multi-step flows, auth, or time limits must enforce: nothing remembered across screens (SC 3.3.8), nothing re-typed (SC 3.3.7), consistent help location (SC 3.2.6). Never block paste on password fields.
- Conflicting Access Needs: When needs collide (e.g. motion vs vestibular), implement user preferences (
prefers-reduced-motion) or document trade-offs inA11Y-DECISIONS.md. - Component Reuse: Check existing components via
buddhi_searchor project design systems before creating new ones. - Decision Memory: Record choices between equally conformant alternatives in
A11Y-DECISIONS.mdindexed by pattern. - Exception Memory: Record knowingly accepted WCAG deviations in
EXCEPTIONS.mdwith owner, approver, issue link, and expiry. - Release Evidence: Ensure
REPORT.mdexists and is newer than the last interface change before any delivery to an end user. - Static Gate: Run
buddhi scripts verify-a11yviaterminal-runner(or MCP toolverify_a11y) before delivery and record findings inREPORT.md. - Independent Verification: Reproduce Section 7 automated checkpoints with a verifier that did not generate the code (dispatch an unprimed subagent via
invoke_subagentto achievefresh-contextverification). - Mode Awareness: Apply rules proactively when generating new code; prioritize targeted fixes by severity when reviewing existing code.
2.1. Lazy Loading Map (Component → Guide)
Load only the guide matching the component you are currently building or reviewing:
| Component Type | Reference Guide |
| button, CTA, clickable action, icon button | references/guide-buttons.md |
| form, field, validation, error message | references/guide-forms.md |
| checkbox, radio group, switch, toggle, slider, select | references/guide-form-controls.md |
| login, signup, multi-step flow, wizard, checkout | references/guide-cognitive.md |
| modal, dialog, drawer, confirmation | references/guide-modals.md |
| cookie banner, consent notice, privacy overlay | references/guide-consent-banners.md |
| menu, header, skip link, landmark, SPA routing | references/guide-navigation.md |
| table, data grid | references/guide-tables.md |
| tabs, accordion, disclosure, collapsible panel | references/guide-tabs-accordion.md |
| tooltip, popover, hover card | references/guide-tooltips-popovers.md |
| toast, snackbar, alert, status message | references/guide-toasts-notifications.md |
| skeleton, spinner, loading state, aria-busy | references/guide-loading-skeleton.md |
| autocomplete, combobox, searchable select | references/guide-autocomplete.md |
| carousel, slider, rotating banner | references/guide-carousels-sliders.md |
| drag and drop, list reordering, kanban | references/guide-drag-drop.md |
| infinite scroll, feed, pagination | references/guide-infinite-scroll.md |
| image, icon, SVG, avatar, illustration | references/guide-images.md |
| video, audio, player, background video | references/guide-media.md |
| chart, graph, dashboard, data visualization | references/guide-charts.md |
| date picker, calendar, date range | references/guide-datepicker.md |
| tree view, file explorer, nested picker | references/guide-treeview.md |
| chat, streaming AI assistant, generative UI | references/guide-generative-ui.md |
| map, store locator, route display | references/guide-maps.md |
| design tokens, color palette, theme config | references/guide-visual-perception.md |
| responsive layout, breakpoint, touch target | references/guide-responsive-mobile.md |
| iOS, Android, React Native, Flutter | references/guide-platform-native.md |
| non-React web frameworks (Vue, Svelte, Angular) | references/guide-framework-mapping.md |
| AI agents navigating product, llms.txt | references/guide-agentic-web.md |
| audit, VPAT, accessibility statement, CI gate | references/guide-governance.md |
Lifecycle Templates (Loaded by Event):
- Delivery / QA:
templates/REPORT.md - Accepted WCAG deviation:
templates/EXCEPTIONS.md - Pattern choice:
templates/A11Y-DECISIONS.md - Public statement (GitHub Accessibility tab):
templates/ACCESSIBILITY.md
3. Technical Standards (POUR Summary)
- Perceivable: Text contrast >= 4.5:1 (3:1 large, 3:1 UI components). Compute with
buddhi scripts contrastor MCPcheck_contrast. Every<img>hasalt(emptyalt=""only for confirmed decorative images). Prerecorded media has captions. Sound > 3s has pause/mute controls. - Operable: 100% keyboard operable (
Tab,Enter,Space,Escape). Focus indicator visible (>= 2px, 3:1 contrast against background). Touch target >= 24x24px (AA), 44x44px recommended. Moving content > 5s has pause mechanism. Flashing <= 3 times/sec. - Understandable: Language declared on
<html lang="...">. Inputs have explicit<label for="...">. Error feedback uses Color + Icon + Text witharia-liveor role alerts. - Robust: Valid semantic HTML5 elements before custom ARIA.
4. Anti-patterns to Prevent (Section 6)
- Clickable Divs: No
divorspanwith click handlers without native<button>or complete keyboard replication (role,tabindex="0", Enter/Space). - Leaked Focus Traps: Modals must trap focus, close on Escape, and restore focus to trigger.
- Placeholder as Only Label:
<input>must have a visible<label>. - ARIA Soup: No redundant roles (e.g.
role="button"on<button>), no hardcoded staticaria-expandedthat script never toggles. - Half-Climbed ARIA:
role="tablist"withoutrole="tab"is strictly forbidden. - Nullified Alt: Never combine
aria-hidden="true"orrole="presentation"with a non-emptyalt. - Overlays: Never propose third-party accessibility toolbar scripts as a fix.
- Positive Tabindex:
tabindex > 0is forbidden. - Outline None: Never set
outline: nonewithout a visible high-contrast replacement. - Redundant Alert: Never combine
role="alert"witharia-live. - Media Autoplay: Unmuted autoplaying audio/video is forbidden.
5. Verification Commands
Run static gate and contrast verification through terminal-runner or MCP tools:
# Static gate check against project source and artifacts
buddhi scripts verify-a11y [project_dir] [--src subdir] [--warn-only]
# Contrast verification
buddhi scripts contrast <hex1> <hex2>
buddhi scripts contrast --bg "#ffffff" --fg "#1c1b19" "#767676" --profile standard
buddhi scripts contrast --css styles.css --page-bg "#ffffff"Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

