Leonardo 如何帮助创建色盲安全的颜色?
Leonardo 通过两条路径帮助创建色盲安全的颜色:一是自动循环调色板中的颜色,生成对色觉缺陷更友好的配色;二是对任意两种颜色逐一计算各色觉缺陷类型下的可测量色差,让"安全"从主观判断变成可核对的数值。它同时支持带 alpha 透明度的对比度检查,并提供高级控制,让你选择显示更大色差的颜色,或只保留满足 3:1 对比度最低要求的颜色。适合正在搭建设计系统、需要同时兼顾无障碍与数据可视化的界面设计者和前端工程师。
核心机制:色差评估而不是"看起来差不多"
Leonardo 的色盲安全判断建立在可测量的色差之上,而不是靠设计者肉眼比对。
- 对每一组颜色,工具会针对每种色觉缺陷类型分别评估两者之间的色差。
- 色差越大,说明在该类色觉缺陷下两种颜色越容易被区分。
- 因此"色盲安全"在 Leonardo 里是一个可比较的数值结果,而不是一个开关式的结论。
这意味着你可以把配色方案放进工具里逐一验证,而不是凭经验猜测哪两个颜色会混淆。
自动循环生成色盲安全调色板
Leonardo 可以自动循环调色板中的颜色,生成对色觉缺陷更友好的配色组合。它的价值在于:当你已经有一组品牌色或主题色,但不确定它们在色盲视角下是否互相冲突时,循环机制会重新排列或调整这些颜色的使用方式,减少相邻颜色难以区分的情况。
配合高级控制,你可以进一步约束结果:
| 控制方式 | 作用 |
|---|---|
| 显示更大色差的颜色 | 优先保证颜色之间差异明显,适合需要强区分的场景 |
| 仅保留满足 3:1 对比度最低要求的颜色 | 把不达标的颜色排除,适合对可读性有硬性要求的界面 |
3:1 是这里明确给出的对比度下限,适用于需要颜色本身承担区分职责的元素(例如图表系列、状态标识)。正文文字的可读性要求通常更高,需要另行核对。
对比度检查与 alpha 透明度支持
Leonardo 提供对比度检查工具,用于核对两种颜色之间的对比度,并且支持 alpha 透明度。这一点在实际项目中很关键:
- 半透明遮罩、悬浮层、渐变叠加后的颜色,实际呈现的对比度与原始色值不同。
- 支持 alpha 后,你可以按真实叠加结果来判断是否达标,而不是只看不透明的色值。
具体操作路径是进入 Leonardo 的 Color toolbox(工具箱)中的对比度检查工具,输入两种颜色后读取结果。工具会同时给出色觉缺陷类型下的色差评估,把"对比度是否够"和"色盲是否分得清"两件事放在一起看。
与整体工作流的衔接
色盲安全不是孤立环节,Leonardo 的其他能力可以让它落在实际交付物上:
- 基于对比度生成颜色:色板按目标对比度生成,不需要事后手动逐个检查对比度。
- 自适应主题:可快速调整亮度、对比度和饱和度,便于同时产出浅色与深色模式。
- 导出与交付:主题或色阶可下载为 SVG,直接粘贴进设计工具;面向工程侧可输出
@adobe/leonardo-contrast-colors的主题参数、CSS 自定义属性,以及遵循 W3C 工作规范的 Design Tokens。 - 数据可视化色阶:对感知均匀的连续型与发散型色阶提供更细的控制,适合图表配色。
Leonardo 是 Adobe 的开源项目,想深入了解可查阅站内的 Getting started 部分或 GitHub 仓库,Articles 部分也收录了关于其核心概念的公开文章。
使用时的几个注意点
- 色差评估给出的是可测量结果,但"多大色差才算安全"取决于你的使用场景,需要结合 3:1 这类下限自行设定标准。
- 自动循环生成的是候选方案,仍需用对比度与色差工具复核,尤其是颜色同时承担文字与图形职责时。
- 导出为 SVG 或 Design Tokens 后,实际渲染环境(字体、背景、透明度叠加)可能改变最终对比度,交付前建议在真实界面里再验证一次。