
Leonardo 是一个开源色彩管理系统,专为构建无障碍、自适应的 UI 和数据可视化调色板而设计。与静态取色器不同,Leonardo 使用基于对比度比率的生成方式,确保色阶中的每个色块都符合特定的 WCAG 无障碍标准。它利用先进的色彩空间实现感知均匀的结果,允许设计师定义目标亮度和对比度比率,而非手动设置十六进制值。通过与 @adobe/leonardo-contrast-colors 引擎集成,它使开发者能够导出支持实时、终端用户主题个性化的设计令牌(Design Tokens),包括动态深色模式和高对比度调整。
用户无需手动选择十六进制代码,而是定义相对于背景的目标对比度比率。Leonardo 会自动计算达到特定 WCAG 目标所需的颜色值。这消除了无障碍合规性中的猜测,确保文本和 UI 元素在所有生成的色调中保持可读性,无论基准颜色的色相或亮度如何。
Leonardo 利用先进的色彩空间确保色阶在感知上是均匀的。这意味着人眼所感知的色阶步骤差异是一致的,从而避免了线性 RGB 渐变中常见的“条带”效应。这对数据可视化至关重要,因为颜色步骤必须准确代表数据值,而不能产生视觉偏差。
该工具支持创建可实时调整的自适应主题。通过使用关联的 npm 模块,开发者允许终端用户修改整个 UI 的对比度、亮度和饱和度。这提供了高度的包容性,使用户无需单独的“高对比度”样式表即可根据特定需求自定义界面。
Leonardo 包含内置工具,用于评估调色板在各种色觉障碍(包括红色盲、绿色盲和蓝色盲)下的表现。它计算色块之间可测量的色差,允许设计师自动循环切换颜色,以找到对所有用户都保持清晰可辨的组合,确保数据可视化具有普遍的可解释性。
Leonardo 通过将主题导出为标准设计令牌,弥合了设计与开发之间的鸿沟。这些令牌遵循 W3C 工作组规范,使其与现代设计系统兼容。开发者可以直接将这些令牌导入 CSS 或构建流水线,确保设计意图在最终生产代码中得到完美保留。
访问 leonardocolor.io 并选择“Create new theme”初始化调色板工作区;定义基准颜色并为色阶中的每个色块设置目标对比度比率(例如 3:1, 4.5:1);使用感知色彩空间控件调整亮度和饱和度参数,以确保视觉平衡;在不同的色觉障碍模式下预览主题,以验证无障碍合规性;将作品导出为 CSS 自定义属性、SVG 资源或 JSON 设计令牌,以便集成到代码库中;安装 @adobe/leonardo-contrast-colors npm 包,在应用程序中动态实现主题。
设计系统负责人使用 Leonardo 定义单一的色彩事实来源。通过基于对比度比率生成色阶,他们确保库中的每个组件(从按钮到数据图表)默认都是无障碍的,从而减少了手动进行无障碍审计的需求。
数据科学家和前端工程师使用 Leonardo 创建顺序和发散的色阶。通过确保感知均匀性和色盲安全性,他们能够创建准确呈现数据趋势的图表,而不会因视觉障碍而误导用户。
产品团队集成 Leonardo npm 模块,在应用中提供“无障碍设置”。用户可以调整全局 UI 对比度或亮度,应用程序会动态重新渲染调色板,在满足用户偏好的同时保持无障碍标准。
设计师需要创建超越静态调色板的可扩展、无障碍色彩系统。Leonardo 允许他们在保持设计完整性的同时,确保严格遵守 WCAG 无障碍标准。
工程师需要以编程方式实现色彩系统。Leonardo 提供了自动化主题生成所需的 npm 包和设计令牌格式,并确保复杂 Web 应用中的一致性。
专家使用 Leonardo 审计和优化调色板。该工具提供了定量数据,用于证明色彩系统具有包容性,并适用于各种色觉障碍人士。
基于 Apache 2.0 许可证的开源项目。所有工具及相关 npm 包均可免费用于商业和个人项目。