SuperAPI AI 工具集

unicode-color-accessibility

设计与创作

查看项目

更新于 10-15 23:42

技能介绍

用途:当终端输出需要在不同字体、locale、主题和辅助技术下保持视觉正确、可读、包容且健壮时使用本技能,涉及 Unicode 渲染、wcwidth、字素簇、emoji、组合标记、东亚宽度、BiDi 文本、制表符与颜色无障碍。

文本正确性:显示宽度不等于字节长度、码点数量或用户感知字符数;光标移动与删除应基于字素簇;布局应在剥离 ANSI 控制序列后测量可打印文本;需测试双宽字符、组合标记、emoji 序列、变体选择符和零宽连接符;东亚宽度歧义字符默认按窄处理,除非目标环境明确不同。

视觉设计:使用语义角色(error、warning、success、info、muted、selected、focused、disabled);不要仅用颜色编码含义,需配合文本、形状、图标或位置;为制表符、盲文图表、块元素、emoji 和私有区图标提供 ASCII 回退;避免假设 Nerd Fonts 或补丁字体;支持明暗背景、16 色、256 色、真彩色和无色模式。

颜色偏好:尊重用户与环境偏好,NO_COLOR 禁用非必要颜色;CLICOLOR、CLICOLOR_FORCE、FORCE_COLOR 可按生态惯例强制颜色;TERM=dumb、非 TTY 输出和 CI 通常意味着纯文本,除非被覆盖;提供 --color=auto|always|never、--plain、--ascii 等显式标志。

无障碍要求:所有功能必须可键盘操作;焦点指示器不能仅靠颜色;避免每秒闪烁超过三次;允许为减少动态效果、日志和 CI 抑制旋转器、动画和实时区域;提供屏幕阅读器友好替代方案,如纯提示、面向行的命令、--json、--plain 或文档化的 stdin/stdout 工作流;使用有意义的标签、稳定排序和可见状态消息。

失败模式:表格错位多因按字节长度或把 ANSI 计入可见宽度,应使用 ANSI 感知的 wcwidth/字素测量;光标拆分 emoji 多因按码点移动,应按字素簇移动;边框断裂多因字体或宽度不匹配,应提供 ASCII 模式并测试常见字体;仅红色显示错误属颜色唯一含义,应加文本/图标/标签并检查对比度;屏幕阅读器不可用多因全屏重绘网格,应提供非 TUI 模式和面向行流程。

参考文件:references/text-measurement.md 涵盖 Unicode 宽度、字素、emoji、BiDi 与 ANSI 测量;references/accessibility-fallbacks.md 涵盖颜色策略、屏幕阅读器替代方案与包容性 UX 清单。