超強幹貨!如何更加科學地提高文本可讀性?

餓了么UED-傘哥:在日常的UI設計工作中,文本作為最重要的信息載體之一,其能否被用戶清晰識別顯得尤為重要。新手設計師在選擇字體顏色時往往找不到依據、不夠自信。本文旨在分析目前在這方面比較科學的做法,剖其緣由,希望能夠拋磚引玉,給大家帶來新的思路與思考。

背景

早在 1862 年荷蘭眼科醫生斯奈倫 (Hermann Snellen)
為了定義視力標準發明了視力表,經不斷優化現已成為世界標準,我們常見的 E
字形的視力表也是由此演變而來。視力表由從大到小的字母行組成,每行對應一個分數,受檢者在距離視力表 20 英尺(約 6
米)處,所能看清的最小字母行對應的數值即為視力值。視力水平 = 測試距離 / 字母大小

超強幹貨!如何更加科學地提高文本可讀性?

超強幹貨!如何更加科學地提高文本可讀性?

據世界衛生組織 2014 年統計數據:

  • 世界範圍內視力受損的人數約為 2.85 億,其中 3900 萬人患有盲症,2.46 億人患有弱視。

  • 全世界大約 90% 的視力受損者生活在低收入國家。

  • 82% 的盲症病人年齡在 50 歲及 50 歲以上。

在全球範圍內,未經矯正的屈光不正是中度和重度視力損害的主要原因,在中、低收入國家,白內障仍然是致盲的主要原因。

對比 2014 年全球人口數量 72 億粗略換算一下患有眼疾的人群佔比約為 4%,這是個相當高的數字了。

如今互聯網產品涉及面廣,用戶群體龐大且多樣化;顯示設備種類繁多,色彩差異較大,同時移動設備比台式機、筆記本電腦更有可能在包括戶外的各種環境中使用,戶外使用的情況下難免會遭到太陽或其他光源的眩光干擾。在這種背景下,低視力用戶在閱讀時會遇到極大挑戰。鑒於此,產品設計中應充分考慮各種使用場景及視障人群的使用體驗。

規範

我們知道,內容對比度過於激烈和過弱都是不利於閱讀的,萬維網聯盟針對這個問題通過大量研究在 WCAG 2.0 (Web Content
Accessibility Guidelines 網路內容可用性規範) 中制定了相應標準,目前包括 Google、Apple
在內的很多大型互聯網公司都已遵守這個規範。

WCAG 針對字體大小及對比度規定了兩個級別:

超強幹貨!如何更加科學地提高文本可讀性?

  • 大號文本:字型大小大於 14 磅且加粗,或字型大小大於 18 磅。

  • 常規文本:字型大小小於 18 磅,或字型大小小於 14 磅且加粗。

  • 用於識別的圖形如 Icon 等至少需滿足 Level AA 。

註:磅(pt)為長度單位,1pt=1/72inch。解析度為 72px/inch 圖像上的文字 100% 顯示時 1pt=1px=1dp
(條件:顯示器的dpi=72,鑒於目前絕大部分屏幕解析度已遠超這個數值,請大家藉助矢量軟體對比,或在軟體設置后藉助列印尺寸預覽功能對比。單位這塊不同平台有不同的處理方式,其共同的特點就是要保證文本的物理尺寸,這裡就不展開說了)。

筆者根據規範簡要的畫了張圖:

超強幹貨!如何更加科學地提高文本可讀性?

△  大號字體對應的是在手機上查看時的大致尺寸,對比度值是在純白背景上的測試結果。

如何計算對比度

相對亮度定義

了解對比度首先要知道相對亮度(relative
luminance)的概念:相對亮度表達的是單位面積內光線通過的數量。在一個色彩空間內,最暗到最亮的點相對亮度取值範圍為
0-1(這種取值方法很常見,比如攝氏度取值範圍是規定標準大氣壓下冰水混合物到沸水溫度的取值範圍為
1℃-100℃),拿我們日常設計工作中接觸最多的色彩空間 sRGB 舉例,相對亮度的計算方式為 L = 0.2126 * R + 0.7152 * G + 0.0722 * B (此公式為理論值,RGB 分別對應 8bits/Channel 時的數值,即 0-255)。

由於 sRGB 色彩空間範圍小於 RGB,所以每通道的實際數值會受到限制,對應關係如下:

超強幹貨!如何更加科學地提高文本可讀性?

超強幹貨!如何更加科學地提高文本可讀性?

對比度計算方法

現有亮色點 L1 和暗色點 L2,那麼 L1 和 L2 的對比度即為:L1 : L2 = (L1 + 0.05) : (L2 + 0.05)。對比度用于衡量兩個顏色的明度對比強弱,比值越大對比越強烈。

上述方法是基於筆者的理解和總結,如想了解更詳細的介紹請查看 W3C Guideline。

發散與啟發

  • 大家在觀察 L = 0.2126 * R + 0.7152 * G + 0.0722 * B 公式時可以發現,在 RGB 色彩模型中綠色通道提供了絕大部分的亮度,藍色最少。例如當你在白色背景上使用綠色按鈕或文字的時候請盡量降低色彩明度、提高文本大小或字重。

超強幹貨!如何更加科學地提高文本可讀性?

  •  我們可以大致總結個經驗。比如我們在調色板中選擇字體顏色時為了保證最低 3:1 的對比度,字體色與背景色至少相距 33.3%,其他對比度同理。注意:由於每個通道對亮度的影響效果不同,此方法只適用於灰階。

超強幹貨!如何更加科學地提高文本可讀性?

  • 提到亮度可能很多同學會想到 Lab 色彩模型,但筆者對比並查閱相關資料后發現這裡的亮度與 Lab 中的 L 值並不是線性關係。

  • 為什麼要用相對亮度來制定標準呢?筆者猜想是因為考慮到色盲群體,比如全色盲患者只能感受到光線強弱,看到的都是灰階景象,所以只有通過亮度來衡量對比才是有意義的。這個問題歡迎大家留言討論。

說個題外話,理解對比度對設計工作格外重要,絕大部分設計工具都會碰到這個概念,只要碰到顏色總會遇到對比度,本文涉及的只是針對文本可視性的分支研究,大家切勿作片面的理解。比如,銳化其實就是調整影像邊緣兩側顏色的對比度、調整色階或曲線時理解對比度會讓你的調整效率大大提高、視頻處理時讓你在龐雜的調色面板中不會迷失方向😏。

如何驗證

人肉驗證

在IxDC的一次分享中,Airbnb的設計負責人@Vivian Wang @Alex Schleifer
在《如何在全球化設計理念和本土化需求中找到平衡》的主題中給出了視力水平與內容對比度的對應關係。本文末尾的附件中提供了斯奈倫標準視力表文件,感興趣的同學給自己測一下即可得到自己的視力水平。再根據上文我提到的對比度相關知識多設置幾組對比度樣本,可以多找些同學多獲取些數據,根據得到的結果統計出平均值。注意,結論應充分考慮眼疾患者和室外環境的使用場景。

超強幹貨!如何更加科學地提高文本可讀性?

工具驗證

網路上有很多根據此規範設計的在線檢測工具,搜索關鍵詞 Color Contrast Accessibility 可以找到很多,筆者這裡測試了幾個,推薦給大家。

1. Contrast-A

超強幹貨!如何更加科學地提高文本可讀性?

顯示結果比較詳細,取色和顯示都比較直觀。注意:此工具依賴Flash!!

2. tanaguru contrast finder

超強幹貨!如何更加科學地提高文本可讀性?

除了給出測試結果外還可以給出近似的建議值。

3. Contrast 推薦

超強幹貨!如何更加科學地提高文本可讀性?

剛上架沒多久的 macOS 應用,目前售價 6.99 刀,特點是輕量高效,可以直接吸取屏幕顏色並給出結果。

4. Material Design Color Tool 力薦

超強幹貨!如何更加科學地提高文本可讀性?

Color Tool 是谷歌為設計師和工程師打造的全能配色工具。包含調色、可用性測試、導出工程文件三大功能。

調色

超強幹貨!如何更加科學地提高文本可讀性?

Color Tool 預置了全色相色彩模板,並支持自定義顏色。通過在右側調色面板可設置主色和輔色,在左側的預覽窗口可直接查看不同布局的顯示效果。

可用性測試

超強幹貨!如何更加科學地提高文本可讀性?

在可用性標籤內會非常詳細的顯示文本與背景的顯示效果,並給出極限值。值得注意的是 Material Design
通過控制字體顏色的不透明度來定義文本或 icon
的顏色層級,目前越來越多的互聯網公司已採用這種形式,這麼做有很多好處,在這裡就不一一列舉了,感興趣的同學可以到 Material Design 查看。

導出工程文件

超強幹貨!如何更加科學地提高文本可讀性?

顏色選定后可以一鍵導出開發可用的工程文件,高效的簡直令人髮指!目前支持 iOS、Android、Html5。

結語

寫這篇文章的過程中筆者檢查了國內很多應用,多數不滿足這個標準。使用較多的「 369 大法」其實缺乏理論支持。如果單純為了區分信息層級除了顏色外還有大小、字重、間距等(層級這塊兒 @icojump 在
iOS 11 設計理念和 3
個設計方向的文章中有更加詳細的解答)。筆者也在思考到底是理論重要還是設計師的感覺重要?不同的人也許有不同的答案。筆者想表達的觀點是:在制定顏色規範前要充分考慮目標用戶群體特點,比如年齡分佈、收入狀況、使用場景等,因為這些要素與視力水平及可用性都有著直接關係。在不完全確定的情況下請尊重標準,不要重新發明輪子。畢竟,也許我們眼中的美感往往是「自私」和帶有「偏見」的。

發表迴響