Communitygithub.com

WST2002/claude-code-skills

检查网站、Web应用或UI组件的无障碍性、WCAG或a11y合规性、屏幕阅读器或键盘支持、颜色对比度、ARIA用法,或修复axe、Lighthouse或无障碍审查报告的问题时使用。

claude-code-skills 是什么?

本技能用于对Web界面进行全面的无障碍审计,确保所有用户(包括仅使用键盘、屏幕阅读器、高缩放比例或低视力用户)都能感知、操作和理解界面。支持的平台包括任何Web应用或UI组件。技能通过自动化扫描(如`npx @axe-core/cli`)、代码审查(基于WCAG 2.2 AA标准清单)以及手动测试(键盘导航和屏幕阅读器语义检查)三阶段方法工作。最终输出结构化的问题报告,映射到WCAG准则,并包含常见错误提示,帮助开发者从根源修复组件问题。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/WST2002/claude-code-skills/tree/HEAD/skills/accessibility-audit

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

无障碍审计

概述

确保每个人都能感知、操作和理解界面:仅使用键盘、使用屏幕阅读器、缩放浏览以及低视力情况下。在产生问题的组件中修复问题,使修复应用于所有使用这些组件的地方。

方法

  1. 自动扫描(如果有URL可用):npx @axe-core/cli <url> 或 Lighthouse 无障碍检查。自动化工具能发现大约三分之一的问题;将结果视为起点。
  2. 代码审查:对照以下清单检查组件:表单、按钮、链接、图片、模态框、菜单、标签页、表格、自定义小部件。
  3. 键盘测试:用 Tab 键遍历所有可交互元素。焦点必须可见、顺序合理、没有不可达元素、没有焦点陷阱,Escape 关闭覆盖层,焦点返回触发元素。
  4. 屏幕阅读器语义:每个控件都有角色、可访问名称及其状态(展开、选中、勾选、无效)。
  5. 报告:遵循以下输出契约,映射至 WCAG 2.2 AA。

检查清单

领域要求(WCAG)
图片信息性图片具有有意义的 alt;装饰性图片使用 alt=""(1.1.1)
对比度文本 4.5:1,大文本和UI组件 3:1(1.4.3, 1.4.11)
颜色信息不单独通过颜色传达(1.4.1)
结构一个 h1,有序的标题层级,地标(header, nav, main, footer),列表作为列表(1.3.1)
表单每个输入有 <label>;错误在文本中命名并通过 aria-describedby 链接;必填字段标记(1.3.1, 3.3.1, 3.3.2)
控件动作为 <button>,导航为 <a href>;没有可点击的 div 而不带 role、tabindex 和键盘处理器(2.1.1, 4.1.2)
焦点可见焦点指示器;绝不使用 outline: none 而不提供替代方案(2.4.7)
模态框和菜单焦点移入,打开时被困住,Escape 关闭,焦点返回(2.1.2, 2.4.3)
名称仅图标的按钮具有 aria-label;链接文本在上下文外能理解(2.4.4, 4.1.2)
动效尊重 prefers-reduced-motion;没有自动播放超过5秒且无暂停的动效(2.2.2, 2.3.3)
缩放和重排在200%缩放和320px宽度下可用,无水平滚动条(1.4.4, 1.4.10)
触控目标触控目标至少 24×24 px(2.5.8)
语言设置 <html lang>(3.1.1)

ARIA 规则:优先使用原生 HTML 元素。仅在无原生元素合适时添加 ARIA,然后实现该模式的完整键盘行为。

输出契约

### [严重 | 中等 | 一般 | 轻微] 标题 — WCAG <准则>
- 位置:组件和文件:行号(以及相关URL)
- 受影响用户:键盘用户、屏幕阅读器用户、低视力用户等
- 修复:修正的标记或CSS

严重 = 阻止某些用户完成任务(例如无法通过键盘提交表单)。最后以 通过检查 和 需要手动测试(需要实际屏幕阅读器会话的项目)结束。

常见错误

  • 使用 div 或 span 加 onClick 代替 <button>。
  • 仅用占位符文本作为标签。
  • aria-label 与可见文本矛盾。
  • 添加 role="button" 但未处理 Enter 和 Space 键。
  • 仅凭自动化扫描声称 WCAG 合规。

由 Wageesha Tripathi 制作 · LinkedIn · Email · 更多技能

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能