用途:该技能用于在 Web 前端开发中落实无障碍(a11y)规范,帮助识别并使用语义化标签、键盘导航、焦点样式、ARIA 属性、跳转链接及 WCAG 颜色对比度要求。
主要能力:
- 语义化 HTML:使用 header、nav、main、article、section、aside、footer 及正确标题层级,列表用于导航。
- 跳转链接(SkipLink):提供可聚焦的“Skip to main content”组件示例。
- 焦点管理:可见焦点样式(focus-visible ring)与模态焦点陷阱(useFocusTrap)。
- ARIA 标签:图标按钮 aria-label、加载状态 aria-busy、动态内容 aria-live、表单错误 aria-invalid 与 aria-describedby、导航 aria-current。
- 键盘导航:Enter/Space/Escape/方向键处理,菜单项 roving tabindex。
- 颜色对比:WCAG AA——普通文本 4.5:1,大号文本 3:1,UI 组件 3:1。
- 屏幕阅读器文本:sr-only、装饰性图片 alt="" aria-hidden。
- 表单无障碍:label、必填、错误提示 role="alert"。
- 手风琴无障碍模式:aria-expanded、aria-controls、role="region"。
- 减少动效:useReducedMotion 与 prefers-reduced-motion 媒体查询。
- 测试清单:仅键盘导航、屏幕阅读器、对比度、焦点指示、200% 缩放、标题层级、表单标签与错误、减少动效。
使用方式:技能以 React/TypeScript 与 Tailwind 示例呈现(如 SkipLink.tsx、useFocusTrap、handleKeyDown、Accordion 组件),可直接参照示例代码集成到项目中;文中保留完整代码片段,未提供安装命令。
适用场景:前端组件与页面开发、表单与交互组件、导航与模态、需要满足 WCAG 合规的 Web 项目。
限制:资料未说明支持的框架、版本、平台或运行环境;未提供安装步骤、收费或价格信息;对比度数值与测试清单为文档给出的要求,实际效果需自行验证。