antislop-human 是 antislop 系统的一部分,需与核心文件 antislop.md 一起阅读。核心负责机制(目的测试、三个层级、交付门),本技能负责人类一侧的深度:UI 中会排除不同视力、手部条件与设备用户的部分。每条目结构一致:Tell(模式)、Why(排除了谁、为何显得未完成)、Fix(应如何做),并引用核心规则编号。
用途:在构建或编辑 UI 时加载,确保界面对真实用户可用。无障碍不是事后附加的清单,而是“UI 站得住”这一核心承诺的一部分。
主要能力:
- 颜色与对比度:低对比文本需满足 WCAG AA(普通文本 4.5:1,大文本 18px+ 为 3:1);图片或渐变上的文字需加遮罩并验证最差位置;灰色对灰色不得凭感觉断言通过;非文本对比(按钮、图标、输入边框、焦点指示、图表分段)需 3:1。
- 对比度检查器:脚本 contrast-check.py 位于本技能文件夹,macOS/Linux 用 python3、Windows 用 python 运行,例如 python3 "${CLAUDE_SKILL_DIR}/contrast-check.py" "#FFFFFF" "#777777";若变量不可用则直接指向技能文件夹。公式为 (L1+0.05)/(L2+0.05),相对亮度按 WCAG 2.x 线性化计算;附常见配对参考表(如 #777777 on white 为 4.48,普通文本失败、大文本通过)。
- 键盘:禁止 outline: none 且无替代;所有交互元素可用 Tab、Enter、Space 操作,对话框可用 Escape 关闭;保持源码顺序与视觉顺序一致,长页面加跳转链接。
- 焦点与状态:焦点指示器需可见且 3:1 对比,明暗主题均检查;状态不能仅靠颜色,需配文字或图标;数据视图必须有空、加载、错误三种状态且可感知。
- 缩放与移动:文字需可缩放至 200% 不被裁剪;移动端聚焦输入框需滚动到键盘上方,不被遮挡。
使用方式:与 antislop.md 一起加载,运行末尾的“Human Skill Checklist”作为交付门的补充。
限制:移动端布局机制(断点、网格、溢出、点击目标)属于 antislop-layoutmobile,本技能只保留缩放与屏幕键盘等排除性细节;脚本缺失时可用公式与参考表,不应阻塞。