Token导航 LogoToken导航TokenDH.com
研究检索只读github未标认证来源可访问许可证需确认审计通过

accessibility无障碍

Agent Skill

用于辅助无障碍访问检查、页面可用性审计和前端可访问性改进。它适合让 Agent 检查语义标签、键盘操作、颜色对比、ARIA 属性和自动化检测结果。使用时需要结合真实页面和浏览器验证,不应只依赖静态文本判断;涉及修复建议时,应兼顾设计系统、组件复用和 WCAG 等通用无障碍规范。

总安装

984

周安装

41

GitHub Stars

14

下载量

328
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:accessibility(无障碍)
来源仓库:https://github.com/connorads/dotfiles
仓库路径:skills/accessibility
安装命令:
npx skills add https://github.com/connorads/dotfiles --skill accessibility
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/connorads/dotfiles --skill accessibility

简介

用于辅助无障碍访问检查与前端可访问性改进。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

  • 可审查语义标签、键盘导航、颜色对比与 ARIA 属性。
  • 适合结合真实页面与浏览器工具验证检测结果。
  • 涉及修复建议时应遵循 WCAG 规范并保持组件复用性。
  • accessibility 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Accessibility

Web accessibility done right means your UI is navigable, understandable, and operable by people who cannot use a mouse — primarily those using screen readers (NVDA, JAWS, VoiceOver), keyboard-only users, and those with motor, cognitive, or visual impairments. The 2024 WebAIM Million report found 95.9% of home pages failing basic accessibility checks. Most failures are preventable with the right mental model.

The Core Mental Model

Screen readers linearise a 2D page into a 1D audio stream. A blind user never sees the whole page at once — they navigate sequentially by headings, landmarks, form fields, links, and interactive controls using keyboard shortcuts. Every decision you make should answer: *"What will a screen reader announce, and does it make sense in isolation?"*

The three rules that flow from this:

  1. Semantics over style — use native HTML elements (<button>, <nav>, <h2>) before reaching for ARIA. Native elements come with free keyboard support, accessible names, and correct roles.
  2. Context must travel with the element — a screen reader user navigating by tab or by links list sees elements stripped of their visual neighbours. Labels, descriptions, and states must be programmatically attached, not implied by proximity.
  3. Dynamic changes must be announced — screen readers only notice changes if focus moves to new content or a live region announces it. Silent DOM mutations are invisible to AT.

When Auditing Existing UI

Review in this priority order — fix critical issues before polishing low-impact ones:

PriorityCategoryWCAG LevelSee
1Accessible names (buttons, inputs, links)Areferences/aria-patterns.md
2Keyboard operability (all interactive elements)Areferences/focus-management.md
3Focus management (dialogs, SPAs, live regions)A/AAreferences/focus-management.md
4Semantic structure (headings, landmarks, lists)Areferences/wcag-checklist.md
5Form errors and validationA/AAreferences/common-fixes.md
6Colour contrast and visual statesAAreferences/wcag-checklist.md
7Dynamic content announcementsAAreferences/aria-patterns.md
8Images and mediaAreferences/wcag-checklist.md

Quote the exact failing snippet, name the WCAG criterion, and propose the smallest viable fix. Do not refactor unrelated code.


When Building New UI

The quick decision tree

Need an interactive control?
  ↓
Does a native HTML element do this?  → YES → Use it. Done.
  ↓ NO
Use the correct ARIA role + required attributes + keyboard handler.

Adding dynamic content?
  ↓
Does focus move to the new content? → YES → No live region needed.
  ↓ NO
Is it a transient status (toast, cart count, form error)?
  → Use aria-live="polite" (or role="alert" for errors)

Opening a dialog/modal?
  → Trap focus inside. Restore focus to trigger on close.
  → See references/focus-management.md

Mandatory checks before shipping any interactive component

  • Every input, select, textarea has an associated <label> (not just placeholder)
  • Every button has an accessible name (text content, aria-label, or aria-labelledby)
  • Every icon-only control has aria-label; the icon has aria-hidden="true"
  • Focus is visible on all interactive elements (never outline: none without a replacement)
  • Tab order is logical and matches visual order
  • All pointer interactions have a keyboard equivalent
  • No tabindex greater than 0

The Five Most Common Failures (and their fixes)

1. Icon-only button with no accessible name

<!-- ❌ Screen reader announces: "button" -->
<button><svg>...</svg></button>

<!-- ✅ Screen reader announces: "Close, button" -->
<button aria-label="Close"><svg aria-hidden="true">...</svg></button>

2. Input with no label

<!-- ❌ Screen reader announces: "edit text" -->
<input type="email" placeholder="Email" />

<!-- ✅ Screen reader announces: "Email address, edit text" -->
<label for="email">Email address</label>
<input id="email" type="email" />

3. div or span used as a button

<!-- ❌ Not keyboard accessible, no role announced -->
<div onclick="save()">Save</div>

<!-- ✅ Free keyboard support, correct role -->
<button onclick="save()">Save</button>

4. Form error not linked to field

<!-- ❌ Error visible but not associated with the field -->
<input id="email" type="email" />
<span>Please enter a valid email</span>

<!-- ✅ Screen reader announces error when field is focused -->
<input id="email" type="email"
       aria-describedby="email-err"
       aria-invalid="true" />
<span id="email-err" role="alert">Please enter a valid email</span>

5. Dynamic content updated silently

<!-- ❌ Cart count updates, screen reader users never know -->
<span id="cart-count">3</span>

<!-- ✅ Announces "4 items in cart" when count changes -->
<span id="cart-count" aria-live="polite" aria-atomic="true">4 items in cart</span>

Screen Reader Testing

Automated tools catch ~30–40% of accessibility issues. The rest require AT testing.

Minimum viable test matrix:

  • NVDA + Chrome or Firefox (Windows) — covers ~66% of screen reader users
  • VoiceOver + Safari (macOS/iOS) — covers Apple ecosystem
  • Add JAWS + Chrome for enterprise contexts

Core navigation patterns to test manually:

  1. Tab through all interactive elements — are names and roles announced correctly?
  2. Press H to navigate by headings — is the page structure logical?
  3. Press D to navigate by landmarks — are regions clearly labelled?
  4. Open and close any dialogs — does focus trap, then restore?
  5. Submit a form with errors — are error messages announced?
  6. Trigger any dynamic content update — is the change announced?

See references/screen-readers.md for NVDA/JAWS/VoiceOver commands, browse vs. forms mode, and testing scripts.


ARIA: The Rules

Rule 0: Don't use ARIA if native HTML solves it. Bad ARIA is worse than no ARIA.

Rule 1: aria-label and aria-labelledby provide the accessible name (what the element *is*). Rule 2: aria-describedby provides supplementary description (what it *does* or *needs*). Rule 3: aria-live="polite" for non-urgent updates; role="alert" (implicit assertive) for errors. Rule 4: Live regions must exist in the DOM on page load — inject text into them, don't inject the region itself. Rule 5: aria-hidden="true" removes from the AT tree completely. Never apply to focusable elements.

Full ARIA pattern library → references/aria-patterns.md


Visually Hidden Content

To show content to screen readers but hide it visually:

.visually-hidden:not(:focus):not(:active) {
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

Use for: skip links, supplementary link context ("Read more about caching"), icon button labels when aria-label is impractical for translation reasons.

Do not use for: content that sighted users need. Hiding meaningful content from one group creates disparity, not accessibility.


Colour and Contrast (WCAG AA)

Content typeMinimum ratio
Body text (<18pt / <14pt bold)4.5:1
Large text (≥18pt or ≥14pt bold)3:1
UI components (borders, icons, focus rings)3:1
Placeholder text4.5:1
Disabled elementsExempt

Never convey information by colour alone — always pair with a shape, pattern, or text label.


Reference Files

FileContents
references/screen-readers.mdNVDA/JAWS/VoiceOver commands, browse vs. forms mode, testing scripts per component type
references/aria-patterns.mdARIA roles, labelling hierarchy, live region patterns, complex widget ARIA (combobox, tabs, tree)
references/focus-management.mdModal focus trap, SPA route change focus, skip links, focus restoration patterns
references/wcag-checklist.mdWCAG 2.2 AA criterion-by-criterion checklist with pass/fail examples
references/common-fixes.mdCode-level fix templates for the 20 most common audit findings

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.46%
按下载量换算123

Claude

29.5%
按下载量换算97

Cursor

16.96%
按下载量换算56

Gemini CLI

8.29%
按下载量换算27

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills