SuperAPI AI 工具集

taste-color

设计与创作

查看项目

更新于 10-18 16:13

技能介绍

taste-color 关注界面中最富情绪、也最容易被智能体滥用的元素——颜色,其解法是用结构约束用色:一个小调色板,配以严格纪律。

一、调色板架构(60-30-10) 一套完整界面调色板恰好包含三部分:60% 中性色,即表面与文本,暖或冷但只用一个色族,2–4 个表面层级(背景、面板、抬升层)加 3 级文本(主/次/弱);30% 结构色,即边框、细线、分隔线,应为带色调的中性色而不是彩色;10% 强调色,即一个承担明确职责的饱和色,用于主 CTA、链接、激活状态或一个数据系列。若存在第二个强调色,它必须有独立职责(如表示状态的成功绿),且覆盖率低于 2%。资料强调:每个视口中超过三种“有意义”的颜色,页面就失去了信息重点。

二、构建色阶(用 OKLCH 而非 RGB) 所有色阶在 OKLCH 中构建,以获得感知均匀的明度,不要盲目在十六进制值之间插值。中性色 9–11 级(50–950),色度接近 0;强调色 9–11 级,锁定色相,色度从 50 级低位升至 500–600 级满值、再在 900 级回落。页面最常用的两个值:强调色的 500–600 级(按钮)与中性色的 50–100 级(背景)。技术栈允许时在代码中转换为 OKLCH,否则输出十六进制值但基于 OKLCH 计算。

三、对比度(WCAG 2.2 确切数值) 正文(普通)最低 4.5:1;大字(≥24px,或 ≥18.66px 粗体)3:1;UI 组件(边框、图标、输入框边缘)对相邻色 3:1;焦点指示器对相邻色 3:1 且至少 2px。不要目测,发布前用对比度函数(WCAG 相对亮度公式)或工具计算。资料指出:“高级的”低饱和外观不是低对比度的借口——要降低背景饱和度,而非文本。强调色按钮上的文字:白字要求强调色亮度约 ≤4.6:1,需实测;浅强调色上用深色文字往往正确(如 #FFD100 黄配墨色文字;黄底白字则不合格)。占位符文字 ≤0.5 不透明度属装饰性,占位符标签不能是唯一标签(需浮动标签或可见标签)。

四、语义映射(让名称承载职责) 推荐令牌如 --color-surface、--color-surface-raised、--color-text、--color-text-muted、--color-border、--color-accent、--color-success、--color-danger、--color-warning,必要时每种给 3–4 级(如 --color-danger-bg、--color-danger-border、--color-danger-text)。含义必须在名称里:用 --color-danger-text 而非 --color-red-700。危险/成功/警告仅用于状态,绝不用于装饰。暗色模式等于重映射语义(--color-surface 翻转),而不是把第二套原始颜色散落到组件中。

五、色盲安全(默认安全组合) 绝不只用红与绿编码信息,须增加形状、位置、图案或标签,如 ✓/✕、↑/↓、实线/虚线。蓝紫色是最安全的色相(对蓝黄色盲与红绿色盲更友好);橙色是对中性色最安全有力的强调色。数据可视化应使用色盲安全的分类色组(如 Okabe-Ito),而非彩虹默认色。

六、检查清单(出现以下任一项即判页面不合格) 任意相邻文字/背景对在普通文本下低于 4.5:1;单个视口内多于一个承载含义的强调色;本可用平色却使用渐变;仅用红绿表示成功/失败;组件中出现原始十六进制值而非令牌;黄色或浅色强调色上使用白字;“暗色主题”只是同样颜色放在深色背景上(对比度必须重新计算)。

资料最后总结:一个强调色在单个视口用两次是信号,同一强调色到处都是就是噪音。以上为配色方法论与规则,资料未提供该技能的安装命令、代码实现或具体集成方式。