通过MCP连接 →

输入计算

数学公式

广告

结果

对比度
21.00:1
WCAG 2.x 对比度
WCAG 级别 要求标准 检测结果
AA 级 — 正文 ≥ 4.5:1 通过
AA 级 — 大号文字 ≥ 3:1 通过
AAA 级 — 正文 ≥ 7:1 通过
AAA 级 — 大号文字 ≥ 4.5:1 通过
前景色亮度 0
背景色亮度 1

什么是 WCAG 颜色对比度?

对比度用来衡量两种颜色之间的区分程度,通常指文字与其背景之间的反差。Web 内容无障碍指南(WCAG 2.x)以这一比值设定最低门槛,确保低视力或存在色觉障碍的用户也能顺畅阅读内容。对比度的取值范围从 1:1(两种颜色完全相同)一直到 21:1(纯黑配纯白)。WCAG 是国际通行的网页无障碍标准,国内不少政府与企业网站的无障碍要求也参照该标准制定。

Two side-by-side panels showing dark text on a light background versus light text on a darker background, with a contrast ratio symbol between them
Contrast ratio compares the relative luminance of a foreground and background color.

如何使用本计算器

分别填入前景色(文字颜色)和背景色的十六进制值,例如 #1a73e8,也支持 #fff 这样的缩写写法。计算器会对每种颜色进行线性化处理,算出其相对亮度,最终给出对比度,并逐一对照各项 WCAG 门槛,标明通过或未通过。

计算公式详解

对比度的公式为 (L1 + 0.05) / (L2 + 0.05),其中 L1 是较亮颜色的相对亮度,L2 是较暗颜色的相对亮度。

$$\text{Ratio} = \frac{L_1 + 0.05}{L_2 + 0.05}$$$$\text{where}\quad \left\{ \begin{aligned} L_1 &= \max(L_{\text{Foreground}},\, L_{\text{Background}}) \\ L_2 &= \min(L_{\text{Foreground}},\, L_{\text{Background}}) \end{aligned} \right.$$

相对亮度的计算方法是:先将每个 sRGB 通道转换为 0–1 之间的数值,再进行线性化(数值不超过 0.03928 的通道除以 12.92,更亮的通道则套用 \(\left((c+0.055)/1.055\right)^{2.4}\)),最后按 \(0.2126\cdot R + 0.7152\cdot G + 0.0722\cdot B\) 加权合成。

$$c_{lin} = \begin{cases} \dfrac{c}{12.92} & c \le 0.03928 \\[0.4em] \left(\dfrac{c+0.055}{1.055}\right)^{2.4} & c > 0.03928 \end{cases}$$$$L = 0.2126\,R_{lin} + 0.7152\,G_{lin} + 0.0722\,B_{lin}$$

公式中的 0.05 既能避免除零,又能模拟屏幕环境光带来的轻微泛光。

Diagram showing two color swatches converted to relative luminance values L1 and L2 feeding into the contrast ratio fraction
Each color's relative luminance (L) is computed, then combined as (L1 + 0.05) / (L2 + 0.05).

实例演算

以白色背景(#FFFFFF)上的黑色文字(#000000)为例:黑色的亮度为 0,白色的亮度为 1。代入公式得 $$\frac{1 + 0.05}{0 + 0.05} = \frac{1.05}{0.05} = 21:1$$——这是理论上的最高值,轻松通过所有级别。

常见问题

我需要多大的对比度? WCAG AA 级要求正文达到 4.5:1,大号文字达到 3:1(大号指 ≥18pt,或 14pt 加粗)。AAA 级则分别要求 7:1 和 4.5:1。

颜色的先后顺序会影响结果吗? 不会。公式始终用较亮颜色的亮度去除以较暗颜色的亮度,因此前景色与背景色互换后,对比度保持不变。

为什么不能直接用明暗度来判断? 人眼对颜色的感知是非线性的,且对绿色更敏感。正因如此,亮度计算才采用了伽马校正和各通道专属的加权系数,而不是简单地取平均值。

最后更新: