GH GambleHub

对比接口和可读性

1)为什么会有对比

对比度决定了用户识别文本、图标和状态的速度和速度。高对比:
  • 减少认知负担和疲劳,
  • 提高了界面扫描速度,
  • 提高视力和色彩感知障碍患者的承受能力,
  • 减少相互关联的脚本(付款、表格、确认)中的错误。

2)基本概念和公式

2.1 WCAG对比

对比度是前景和背景亮度的比率:
  • Contrast = (L1 + 0.05) / (L2 + 0.05),其中"L1 ≥ L2","L"是相对亮度(0..1)。

2.2相对亮度(sRGB)

1.将R、G、B组件带入范围0..1。

2.sRGB线性化:
  • 如果'c ≤ 0。04045', to' c_lin=c/12。92`
  • 否则,"c_lin=(c+0.055) / 1.055) ^ 2.4`

3.亮度: 'L=0。2126 R_lin + 0.7152 G_lin + 0.0722 B_lin`

2.3颜色表示

HSL/HSV-方便手动调整,但感知不均匀。
Lab/LCH/OKLCH-更接近人类感知;OKLCH方便于在保持可读性的同时系统地改变光度/饱和度。

3)规范和目标(WCAG 2。2)

文本≥ 14 pt bold或≥ 18 pt(普通):对比度至少为3:1 (AA)。

文本的其余部分: 对比度最低4。5:1 (AA).

AAA(可读性提高):普通文本为7:1;4.5-1对于大。
图像和重要的非摄影元素(输入字段边界,检查框,开关,错误指示器):带背景的地标3:1。
状态(hover/focus/pressed/disabled)在状态之间或具有背景时必须具有不低于3:1的区分性,再加上明显的非摄影指示器(下划线、阴影/边框、厚度变化)。

4)设计系统: 对比令牌

建议在设计系统中将对比度捕获为令牌属性。

级别示例:
  • "fg/primary" ↔ "bg/base" ≥ 7:1(关键文本的AAA)
  • `fg/secondary` ↔ `bg/base` ≥ 4.5:1
  • "fg/muted" ↔ "bg/subtle" ≥ 3:1(服务文本)
  • 'border/default' ↔ 'bg/base' ≥ 3:1(字段边界、卡片)
  • `interactive/default` ↔ `bg/base` ≥ 4.5:1(链接/按钮)
  • "interactive/disabled"不应模仿活动状态;使用对比度降低和光标/ARIA属性。
提示:在OKLCH中存储令牌:
  • 主题的基本亮度(L),然后是层/表面的偏差"Δ L"("bg/subtle","bg/elevated"),
  • 在测试中捕获最小对比对。

5)明暗主题

明亮的主题:文字几乎是黑色的(不是干净的#000,而是温暖/寒冷的色调),背景从白色到略微有色以减少"闪烁"。

黑暗主题: 避免纯粹的#000背景-深石墨/煤炭与L≈0。12–0.16降低了亮度;将白色文字软化至L≈0。9.

在两个主题中保持相同的对比目标;不要让颜色重音在黑暗背景上失去可读性(通常需要转移"Δ L"并降低饱和度)。

6)图像和视频中的文字

使用覆盖层(渐层/半透明层40-60%)或文本下方的条纹。
固定最低4。5:1在文本和本地条纹背景之间。
对于动态视频-自适应背景/帧亮度分析(中央/伪造区域的采样)。

7)状态和交互性

链接不仅要用颜色来区分:默认下划线或下划线到hover/focus+与普通文本的对比度≥ 3:1。
按钮:文本和图标≥ 4。5:1到填充;填充≥ 3:1到周围环境。

错误/成功/警告: 不要依赖颜色;添加图标/文本提示;提供最低4的文本对比度。5:1.

8)颜色感知受损的人

在以下模式中保持可区分性:
  • Deuteranopia/Protanopia(红色和绿色区域):避免使用"红色vs绿色"组合而没有其他特征。
  • Tritanopia:分别检查蓝黄色对。
  • 使形状和图形变得清晰:文本标签、不同的笔触/标记类型、填充图样、段签名。

9)印刷和背景

Kegl主文本:14-16 px最低(web), 16-18 px用于内容区域。
字符串间距1。4–1.6以高对比度提高背景的可读性。
避免在对比度不足的情况下进行微妙的刻字。
彩色背景上的文本:减少背景饱和度和/或增加光度以达到目标关系。

10)图表,表格,图形

线条/列≥ 3:1到网格/背景。

轴和传说的签名≥ 4。5:1.

除颜色外,还使用不同的形状/模式。

11)动态/自适应对比

自动对比: 计算选定填充的文本的对比颜色(例如,通过OKLCH:选择"L"以达到4。5:1).

系统设置:尊重"prefers-countrast"、"forced-colors"、高端操作系统模式。
个性化:在应用程序中设置"高对比度"(增强"Δ L",用更中性的品牌口音代替品牌,并通过形状/图标保持专有性)。

12)控制流程和自动化

12.1为设计师

检查布局(两个主题和关键背景)上的对比度。
在元件(标题/primary/secondary/hint)中输入"对比度插槽"。
记录每个组件的有效背景上下文。

12.2为开发人员

单位辅助器:令牌对测试中的对比度计算和散列函数。
带有对比度校验的视觉快照(屏幕渲染+通过样本进行计算L1/L2)。
Linters风格:禁止"原始"颜色,仅通过令牌。

12.3在CI/CD中

检查主题和状态中的所有"fg/bg"对。

违规情况报告,列出组件、选项、主题和实际值(例如3.9: 1与所需的4。5:1).

13) iGaming特点(可选)

生动的促销横幅和锦标赛卡片经常被"吞噬"文本。需要分段/覆盖并限制背景饱和度。
负责通知的系统元素(18+,限制,风险)-对比度AAA。
在排名/系数表中:数字和+/-符号≥ 4。5:1,胜利的亮点不仅仅是颜色(图标/标签)。

14)反模式

仅依靠颜色来区分状态。
彩色背景上的细灰色字体不计算对比度。
黑暗模式中的"深暗",促销区中的"明亮"。
带有细节/噪音的背景中的文本没有条纹。

15)欢呼的支票清单

基本文本

[] ≥ 4.5:1(普通),≥ 3:1(大/脂肪)。

链接/按钮

  • 第4 ≥按钮文本。5:1到填充。
  • 状态的区分≥ 3:1或显式指标。

图标/边界

  • ≥ 3-1到背景。

黑暗/光明主题

  • 同样的对比目标已经实现。

媒体背景

  • Overley/Plashka,系数保持不变。

可用性

  • 除了颜色外,还有非摄影特征。

自动化

  • CI/CD中关于令牌和组件的对比度测试。

16)引入令牌(示例符号)


color.bg.base   = oklch(0.95 0.02 260)
color.fg.primary  = oklch(0.18 0.04 260)  # ≈7:1 color.fg.secondary = oklch(0.30 0.03 260)  # ≥4.5:1 color.border    = oklch(0.40 0.03 260)  # ≥3:1 color.accent    = oklch(0.65 0.12 230)  # проверить на обоих фонах

注意:值近似值;通过计算特定主题的对比度来选择最后一个。

17)团队文档

在Gaidlines中指定:对比目标、忠实/错误对示例、关键组件的"fg × bg"矩阵、媒体背景规则以及如何启用"高对比度"模式。
保持实时的"排除和原因"页面(例如,允许3.8:1在主要显示标题的狭窄情况下)。


简短的摘要

对比度是可测量的参数而不是味觉。设置目标(AA/AAA),通过令牌进行控制(最好是OKLCH),自动检查CI和视觉布局,考虑深色/浅色主题和颜色视力受损的人。这样可以确保可读性,减少错误并提高转换率。

Contact

联系我们

如需任何咨询或支持,请随时联系我们。我们随时准备提供帮助!

开始集成

Email — 必填。Telegram 或 WhatsApp — 可选

您的姓名 可选
Email 可选
主题 可选
消息内容 可选
Telegram 可选
@
如果填写 Telegram,我们也会在 Telegram 回复您。
WhatsApp 可选
格式:+国家代码 + 号码(例如:+86XXXXXXXXX)。

点击按钮即表示您同意数据处理。