
WCAG 對比度為何是 4.5:1?計算方法、依據與適用條件
做無障礙網頁檢查時,經常會看到「一般文字至少 4.5:1、大字至少 3:1」。這些是 WCAG 的文字對比度門檻,但為何是 4.5?兩種顏色又如何算出一個比例?
本文以 WCAG 2.2 及 W3C 的配套解說為依據,把計算、由來、字體大小和例外分開說明。達到一項對比度門檻,不等於整個網站已符合所有無障礙要求。
日文原文發布: 2026-04-18
對比度比例的定義
按 W3C 的對比度定義,先找出較亮和較暗顏色的相對亮度,再計算:
contrast_ratio = (L1 + 0.05) / (L2 + 0.05)- L1:較亮顏色的相對亮度。
- L2:較暗顏色的相對亮度。
- 0.05:反映屏幕表面環境光反射(flare)的偏移量。
結果由同色的 1:1 至黑白的 21:1。這是一個比例,因此會寫成 4.5:1,而不是亮度百分比。
先把 sRGB 轉為線性值
相對亮度以線性 R、G、B 值加權計算:
L = 0.2126 * R + 0.7152 * G + 0.0722 * B這些係數與 ITU-R BT.709 的亮度係數相同,反映不同顏色對亮度的貢獻。但不能把 0–255 的 RGB 數字直接代入,也不能只把每個分量除以 255 就當作線性值。
// component8bit 是 0–255 的 sRGB 分量
// 先正規化,再轉成線性值
c = component8bit / 255;
linear = c <= 0.04045 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;分別轉換三個分量後,才代入加權公式。sRGB 常以約 2.2 的伽瑪值概括,但正式計算應使用上述分段函數;JavaScript 的乘方運算符是 **,不是 ^。
現行分界是 0.04045;2021 年 5 月以前的定義使用 0.03928。8 位元整數除以 255 後不會落在兩者之間,因此這組輸入不會因分界不同而改變分支;處理連續值時仍應使用現行公式。
4.5:1 的由來應以 W3C 解說為準
W3C 的 Understanding 文件以 ANSI 等資料所引用的 3:1 為起點,把與 20/40 視力相關的對比敏感度下降按約 1.5 倍處理,說明 3 × 1.5 = 4.5 的背景。
20/40 是 Snellen 視力表示法,相當於小數視力 0.5。單看這個數字不能判斷有沒有配戴矯正鏡片,也不能把視力和對比敏感度視為同一指標。文件亦以與 20/80 視力相關的研究解說 7:1。
這是標準門檻的依據說明,不是只憑個人視力就能保證閱讀表現的公式。Understanding 屬於補充解說;不宜把 4.5 說成某一人單獨推導的數字,或 Weber–Fechner 定律的直接計算結果。
AA、AAA、大字及非文字內容
如表格未能完整顯示,可左右捲動。
| 級別 | 一般文字 | 大字 |
|---|---|---|
| AA | 至少 4.5:1 | 至少 3:1 |
| AAA | 至少 7:1 | 至少 4.5:1 |
大字以至少 18pt,或至少 14pt 粗體為基準;中日韓字體要考慮相等的字體大小。CSS 單位中,18pt 等於 24px,14pt 約為 18.67px。
1.4.3 對停用介面的文字、裝飾、標誌等設有例外。WCAG 2.1 加入的 1.4.11 則處理非文字對比度:識別介面元件及狀態所需的視覺資訊,以及理解內容所需的圖形部分,須按條件與鄰接顏色比較 3:1,並考慮該項例外。這不是要求所有邊框一律達到 3:1。
AAA 要求較高的文字對比度。面向廣泛讀者、包括視力有所下降的人士時,可在可行情況下提高對比度;但級別本身仍不能保證每位讀者都容易閱讀。
APCA 與 WCAG 3 並非現行門檻的替代值
APCA(Accessible Perceptual Contrast Algorithm)會考慮文字大小、粗幼及明暗方向,使用的尺度與 WCAG 2.x 比例不同,不能把 APCA 數值直接換成 4.5:1。
截至 2026 年 9 月 5 日查核,WCAG 3 仍是工作草案(Working Draft)。不能宣稱 APCA 已獲最終採納並取代 WCAG 2.2 的符合性判定。評估 WCAG 2.2 時,應依照其成功準則,知覺層面的測試可作補充。
深色模式、幼字、抗鋸齒和屏幕環境都會影響閱讀效果。通過數值門檻,與所有使用者都讀得清楚,是兩件需要分別驗證的事。
設計及檢查時要做甚麼?
- 設計時量度:利用設計軟件的對比度檢查功能或瀏覽器開發工具,檢查實際前景與背景組合。
- 管理顏色配對:以 CSS 變數管理文字、連結及背景色,切換深淺模式後重新檢查。
- 獨立檢查焦點:2.4.7 處理焦點可見性;作者指定的狀態與鄰接色涉及 1.4.11;AAA 的 2.4.13 另有面積及狀態改變前後的對比要求。各項條件和例外不能混用。
- 安排使用者測試:納入不同年齡及視覺需要的人士,不以自動檢查取代實際閱讀與操作。
合格與否必須以未捨入的數值判斷。4.499:1 不符合 4.5:1,不能先四捨五入才判為合格。
WCAG 是技術標準。本文並不判定香港或其他地區的法律責任,也不代表取得任何認證。
重點整理
- 先將 sRGB 轉為線性值,再求相對亮度及對比度比例。
- 使用現行分界 0.04045,並以未捨入數值判定。
- 一般文字 AA 為 4.5:1、AAA 為 7:1;大字及非文字內容要按各自條件評估。
- 4.5:1 的由來按 W3C 解說理解,不能當作個人閱讀能力的保證。
- APCA、WCAG 3 草案和 WCAG 2.2 符合性判定須分開處理。
參考資料及來源
編輯說明
本文使用 AI 協助編輯,並在發布前由編輯核對。內容仍可能包含事實、理解或時效上的錯誤;作出重要決定前,請查閱所列的一手資料或官方文件。

