節我們來講一下顏色,因為我們后面學習 CSS 樣式時,會經常用到顏色,顏色也是網頁中必不可少的一個元素。例如我們可以給某個字體設置顏色,給元素的邊框設置顏色,設置元素的背景顏色等。要想一個網頁好看,肯定是需要給它添加一些色彩的。
顏色是通過對紅、綠和藍光的組合來顯示的。我們一般會通過下面三種方式來規定 CSS 中的顏色:
HTML 和 CSS 顏色規范中定義了 147 種顏色名,其中有 17 種標準顏色,加上 130 種其他顏色。
例如 red 紅色、green 綠色、blue 藍色等,因為顏色名太多了,這里就不一一給大家列出來啦。我們主要講一下如何設置顏色。
示例:
例如通過顏色名,將字體顏色設置為紅色:
color:red;
或者將元素的背景顏色設置為粉色:
background-color: pink;
使用的使用很簡單,直接在 CSS 屬性后面接顏色名即可,不需要加別的修飾符。
十六進制顏色值就是通過十六進制來表示顏色,十六進制顏色的規定為:#RRGGBB。其中 RR 是紅色、GG 綠色、BB 藍色,十六進制整數規定了顏色的成。所有值必須介于 0-9 與 A-F 之間。
十六進制值使用三個雙位數來編寫,并且要以 # 號開頭。例如 #000000 黑色、#FF0000 紅色、#00FF00 綠色、#0000FF 藍色。
而當雙位數相同時(一二位相同、三四位相同、五六位相同),可以縮寫,例如 #000000 可以縮寫為 #000、#FF0000 可以縮寫為 F00 等。但是像 #101010 這種就不能縮寫。
示例:
例如分別將字體顏色設置為紅色、綠色、藍色:
color:#FF0000;
color:#00FF00;
color:#0000FF;
上述代碼也可以簡寫成:
color:#F00;
color:#0F0;
color:#00F;
RGB 顏色值是通過 rgb(red, green, blue) 來規定的,三個參數分別定義紅、綠、藍的強度,參數值可以是介于 0 與 255之間的整數,或者是 0% 到 100% 的百分比。
例如 rgb(255,0,0) 表示紅色、 rgb(0,0,255) 表示藍色等。
示例:
例如將背景顏色設置為紅色、綠色、藍色:
background-color:rgb(255,0,0);
background-color:rgb(0,255,0);
background-color:rgb(0,0,255);
上述就是我們所講的三種規定 CSS 中顏色的方法啦,可以設置使用的顏色有很多,但我們不可能將這些顏色值全部記住,所以其實只需要搞清楚顏色值是怎么使用的就可以啦。
像我們平時工作中,一般會由設計師將網頁設計好,然后將設計圖給我們,我們在制作網頁的時候,就只需要通過顏色吸取器吸一下設計圖中的顏色,然后就知道是什么顏色啦。
tyle 屬性用于改變 HTML 元素的樣式。
<html>
<body style="background-color:PowderBlue;">
<h1>Look! Styles and colors</h1>
<p style="font-family:verdana;color:red">
This text is in Verdana and red</p>
<p style="font-family:times;color:green">
This text is in Times and green</p>
<p style="font-size:30px">This text is 30 pixels high</p>
</body>
</html>
HTML 的 style 屬性
style 屬性的作用:
提供了一種改變所有 HTML 元素的樣式的通用方法。
樣式是 HTML 4 引入的,它是一種新的首選的改變 HTML 元素樣式的方式。通過 HTML 樣式,能夠通過使用 style 屬性直接將樣式添加到 HTML 元素,或者間接地在獨立的樣式表中(CSS 文件)進行定義。
不贊成使用的標簽和屬性
在 HTML 4 中,有若干的標簽和屬性是被廢棄的。被廢棄(Deprecated)的意思是在未來版本的 HTML 和 XHTML 中將不支持這些標簽和屬性。
這里傳達的信息很明確:請避免使用這些被廢棄的標簽和屬性!
應該避免使用下面這些標簽和屬性:
HTML 樣式實例 - 背景顏色
background-color 屬性為元素定義了背景顏色:
<html> <body style="background-color:yellow"> <h2 style="background-color:red">This is a heading</h2> <p style="background-color:green">This is a paragraph.</p> </body> </html>
HTML 樣式實例 - 字體、顏色和尺寸
font-family、color 以及 font-size 屬性分別定義元素中文本的字體系列、顏色和字體尺寸:
<html> <body> <h1 style="font-family:verdana">A heading</h1> <p style="font-family:arial;color:red;font-size:20px;">A paragraph.</p> </body> </html>
HTML 樣式實例 - 文本對齊
text-align 屬性規定了元素中文本的水平對齊方式:
輯導語:如今人們已經習慣于使用各種智能設備,然而全球有3億左右殘障人群,他們的需求不該被忽略,于是無障礙設計便應運而生。本文作者從色盲用戶的角度出發,分享如何做色彩無障礙設計,一起來學習一下吧。
隨著科技的普及和快速發展,人們越來越頻繁和習慣于使用智能設備,然而全球有3億左右的殘障人群, 無論是從科技還是法律的角度,這群人的需求不該被忽略。
于是無障礙設計應運而生。無障礙具體可拆分為視覺、聽覺、操作、認知、言語交流無障礙. 而色彩是視覺中很重要的部分,我們的世界是五彩繽紛的,不同的色彩被賦予不同的意義,對于色覺障礙人群,我們該如何包容性地設計,讓他們的生活更加便利和美好呢?
無障礙設計無處不在,舉個例子:Spotify有兩種播放模式,一個是隨機播放,一個是循環播放.它通過改變圖標的顏色為綠色,表明激活狀態,但是如果僅僅只是改變顏色,對于色盲用戶來說,不容易識別,因為原本鮮艷的綠色在他們看來是暗淡的:
但是加上小綠點之后,不去依靠顏色也很容易判斷當前的狀態:
再舉個例子:有一款名為FODMAP的應用程序值得借鑒,FODMAP是在腸道中不能正確吸收的糖, 這是一款通過列出食物中各種含糖量,來給用戶提供飲食參考的軟件。
軟件中用紅黃綠表示不同的FODMAP等級,但是這讓色盲用戶感到很困擾:
幸運的是,這個軟件的設置中,可以打開色盲幫助選項, 打開后你看到的界面就變成了這樣:
用顯而易見的符號替換顏色,無論對色盲用戶還是普通用戶,都很友好。
再舉個例子, 英國的在線足球網站在2012年時是這樣的:
色盲用戶根本無法分辨輸贏情況,此舉無疑是白白流失了全國的色盲用戶。后來,他們也意識到了問題,于是現在的設計時這樣的:
每個顏色色塊中填入字母,W代表贏,L代表輸,D代表平局,色盲用戶也可以輕松獲得信息。
但是目前無障礙的普及程度并不高,色盲用戶在日常生活中仍然面臨很多的問題,比如在商店買衣服問題、在線選座問題、無法使用色彩標簽等等。本文將帶你全面地了解如何做好色彩無障礙設計。
色盲的頻率相當高,十二分之一的高加索人(8%),二十分之一的亞洲人(5%)和25分之一的非洲男性(4%)是所謂的“紅綠”色盲。它比AB血型更常見,據統計,平均每12名男性中就有1人有某種形式的色盲, 每200名女性中就有1人, 占人口的4.25%。麥當勞每天為300萬色盲客戶提供服務。亞馬遜每天超過110萬客戶是色盲。
色盲遠比我們想象中的數量要龐大的多,所以設計色盲友好的互聯網產品,這件事情應當被重視和完善。
正常的彩色視覺需要用到三種功能正常的錐形細胞,紅色、綠色和藍色錐形細胞,根據三色錐形細胞的是否缺失,又可以將色盲分為全色盲,雙色色盲和三色色盲。
三色色盲擁有三種錐形細胞, 但是其中一種錐細胞感知的光略微偏離對齊,根據哪種錐形細胞類型“有缺陷”,產生三種不同類型的效果,并且還具有不同的嚴重性。
三種情況分別是是紅色弱,即對紅光的敏感性降低,綠色弱: 對綠光(最常見的色盲形式)的敏感性降低,以及藍色弱: 對藍光的敏感性降低(極為罕見,只有0.001%的發生率)。
對某種類型光的感知力,有敏感性降低的,也有完全感知不到的,程度不一。
因為紅色和綠色錐形細胞感知到的光譜部分明顯重疊,因此紅色和綠色色弱都難以分辨紅色、綠色、褐色和橙色, 所以在診斷的時候常常被統稱為“紅綠色盲”,他們對藍色和紫色以及多種顏色的組合也常常難以區分。
藍色弱很難分辨藍色VS黃色,紫羅蘭VS紅色,藍色VS綠色. 藍色弱眼中是紅粉色,黑白色和青綠色的世界。
1)紅色色弱
2)綠色色弱
3)藍色色弱
雙色色盲只有兩種顏色的錐形細胞,第三種類型的細胞完全缺失. 所以,紅色盲完全無法感知到紅色,綠色盲完全無法感知到綠色,藍色盲完全無法感知到藍色。
同時喪失了紅色和綠色感知力的人生活在暗綠色的世界,所以藍色和黃色會非常突出。
大約1/2的三色色盲看到的世界與雙色色盲看到的很相似,但是三色色盲色彩感知力受光照影響較大,在良好的光照下,他們對色彩的感知力就更好,反之久更糟糕。總的來說, 雙色色盲在辨別色彩方面比三色色盲更容易些。
為了讓大家更清晰的了解不同色盲眼中的世界,這里做一些展示:
1)紅色色盲
2)綠色色盲
3)藍色色盲
全色盲完全沒有任何一種顏色細胞,他們眼中世界是完全的黑白色,就像是黑白電視機那樣.但是我們在做產品無障礙時,基本不會考慮這一類人群,因為全色盲發生的概率實在是太低了,33000人中僅有1人,他們的生活因此有很多阻礙,在正常的光照條件下,也需要戴深色墨鏡。
WAI制定了幾項W3C建議,包括:
WCAG有三種評級: A、AA和AAA,標準從低到高:
WCAG2.1詳細指南完整版可查看: https://www.w3.org/TR/WCAG21/
快速參考WCAG標準: https://www.w3.org/WAI/WCAG21/quickref/?currentsidebar=%23col_overview#use-of-color
WCAG關于顏色的要求描述:https://www.w3.org/WAI/WCAG21/Understanding/use-of-color.html
WCAG中將字體分為一般字體和大字體。
大字體是這樣定義的:“大于等于18點常規體或者大于等于14點的粗體,如果是中日韓的語言,就要換算成同等大小”,除卻大字體之外的就是一般文字。
AA評級對于一般文字來說,文字和背景的顏色對比度不少于4.5:1的對比度;對于大字體和(如圖標、表格等等)組件的要求就沒那么嚴格,只要顏色對比不低于3:1即可。
如果帶有文本的按鈕也有彩色邊框,因為邊框沒有提供輔助信息,所以對邊框沒有對比度要求,只要該文字符合AA評級即可。
顏色在特定的語境中,會被賦予特殊的含義,如常見的紅色代表警告,綠色代表合格通過的意思等等,而患有色彩缺陷、視力衰退的老齡化群體、還有使用單色閱讀器(如kindle紙墨水)的人都可能會因此遺漏了顏色所傳達出的重要信息。
同時在用顏色表達某種信息時,為了確保所有的用戶都能接受到信息,需要添加另一種視覺形式,下面給大家舉例說明:
1)文字
文字是最容易讓色盲用戶了解到顏色含義的元素,也是我們首先會考慮到的。
一個典型例子是表單字段上的錯誤狀態, 紅色通常用于表示文本字段中的錯誤, 但是標紅不足以引起色盲用戶的注意,因為從他們的視角看, 紅色的字體在一群黑色的字體中顯得很暗, 很難分辨出來。因此,你需要一個額外的提示,例如文本或圖標,來指示錯誤狀態。
2)圖標
圖標是使用頻率很高的組件, 一些通用圖標的含義甚至不需要Tooltip來解釋,用戶就能一眼識別, 比如設置、警告、成功等等圖標,舉個例子:許多B端界面會通過不同的語義顏色,告知用戶某個流程的狀態,但是對于色盲用戶來說,識別顏色對應的狀態圖例是一件很艱難的事情,但是如果添加圖標輔助信息,一切就變得容易多了!
3)明暗對比
這一點常常被大家忽略.如果兩種顏色的色調不同,但是擁有強烈的明暗對比,那么在這里, 明暗對比也算是另一種視覺輔助形式,只要這兩種顏色的對比不低于3:1(AA)。
只有一種情況例外, 就是用戶需要準確地識別一種特定的顏色,這個時候對比度就不能算在內。
4)符號
舉個例子,標注紅色的文字標簽是必填項,出于無障礙的需要,我們可以在紅色標簽上打一個星號,這樣即使注意不到顏色差異,看到星號也會意識到此項必填。
但是!大多數情況下,星號的尺寸很小(位于左上角),不容易被屏幕閱讀器捕捉到,為了改善這樣的情況,設計者可以增大星號的尺寸,以及為星號添加注釋(Tooltip), 這個注釋是由開發者完成的, 不借助屏幕閱讀器是無法捕捉這個信息。
5)數字
這是一個丙烯結構式,三個碳原子被標上了三種顏色(化學老師會教我們標記碳原子序號的規律,不過就假設這是老師在給一群初學者的課件吧),那么老師提問“黃色的碳原子和紫色的碳原子中間用的是什么鍵”,色盲學生可能就沒辦法辨別顏色所對應的碳原子了,但是如果標上序號,這樣提問:“1號碳原子和2號碳原子中間用的是什么鍵?”,是不是所有的學生就一目了然了?
6)圖形
減少使用顏色的數量,增加圖形樣式,這樣盲人用戶能夠花費更少的力氣在辨別顏色上。
7)圖案
在顯示圖形或者圖表時,可以提供一些圖案供用戶填充,色盲雖然對顏色不敏感,但是對于圖案卻非常容易察覺區別。
這里推薦幾個提供大量圖案樣式的網站:Http://pattern.monster
交互式地圖(付費使用):https://www.arcgis.com/index.html
Figma圖案填充插件:Hero Pattern for Image https://www.figma.com/community/plugin/743134103711120154
以折線圖舉例:
再以堆疊條形圖為例:
再舉個倫敦地鐵圖和上海地鐵圖的例子:
WCAG的標準被許多人奉為無障礙法則,但是有些情況下,并不適用。舉個例子:你覺得黑色字體和白色字體在橙色的背景上,哪一種看起來更清晰?
相信有不少人覺得白色字體看起來更舒服,更清晰,但是WCAG的顏色標準卻告訴我們,黑色達到了AAA的級別,而白色卻連AA級別都沒有達到:
不僅僅是我們,在很早之前,就有設計師對此產生疑惑,并做了用戶調研。
Ericka Seastrand 曾在2019年做過一項用戶調研,調研對象是20名色盲用戶,測試問題是: 黑色還是白色的字體在該背景下更突出? 最后的結果顯示: 61%的用戶認為白色字體更清晰。
這些用戶也給出了具體的原因:
所以謹記:盡信書,則不如無書。WCAG的標準僅供參考,但是實際運用中,應當以用戶的感受為參考,質疑精神是很可貴的!
1)灰色按鈕
有些人認為不能夠使用灰色的按鈕,因為灰色給人以不可用的暗示,但是其實并沒有領悟不可用狀態的本質. 視覺深度才是幫助用戶判斷按鈕狀態的核心.活動狀態是通過顏色對比度而不是色調傳達的。
正常狀態的按鈕的文字與背景對比起來,看上去更接近和占主導地位,而不可用狀態缺乏對比度,文字看起來在更遠的地方。不過灰色按鈕經常被用作二級按鈕,主按鈕都是需要使用彩色。
同樣地,按鈕的各種交互狀態,只要對比度有差異性,能夠傳達視覺深度變化,就是符合無障礙的標準的,以Ant Design舉例:
2)讓你的主按鈕最顯眼
在大多數情況下,設計師們都是通過賦予主按鈕顏色,吸引用戶注意,但是在色盲用戶眼中,主按鈕的顏色差異很難被捕捉到,甚至在有些色盲眼中無法分辨顏色:
為了增加主按鈕和次按鈕的對比, 這個時候我們可以嘗試:
當你在為你的產品或者品牌選擇色彩時,一定要避免下面的色彩組合:
網頁中超鏈接文本很常見,比如百度百科,如果只是用顏色區別超鏈接,對于有些色盲很難注意到這是一個超鏈接,他需要將鼠標滑過時,發現變成一只手,才能知道。
所以對于超鏈接文本,添加下劃線是一個很好的方式:
曾經看過一個色盲講述自己買衣服的難題, 他來到商場,看到一件衣服,但是不確定這個衣服是什么顏色,可是衣服上的標簽也沒有寫顏色,所以他只好硬著頭皮去問商店里其他的人,承受著一些不解和懷疑的目光,如果這件衣服有清晰的顏色標簽的話,就能輕松解決這個問題了。這一點對于購物網站來說,尤其重要。
1. 避免文本和對象被背景遮擋的情況。 例如,文本/對象和背景之間的亮度和飽和度應該有足夠的對比度。避免組合亮度相同但色調不同的顏色。例如,綠色背景上的紅色字符對色盲來說是不可讀的。在深色背景上使用明亮的文本/對象,反之亦然。
2. 文本和對象盡可能粗或大,色盲人很難區分細線和小符號的顏色, 對于彩色文本,一定要使用粗體字體。
3. 小心使用紅色和綠色,對于視覺正常的人來說,純紅色是明亮生動的顏色。但對于色盲來說,它就像藍色或深綠色一樣暗淡。特別是對于紅色盲來說,深紅色看起來幾乎是黑色的。因此,避免在黑色背景上使用紅色字符,包括黑板。但是有一些紅色對色盲來說是鮮活的, 比如:
避免使用純綠色,使用偏藍一點的綠色。
4. 在深藍色背景上無法看清:深紅色、明亮的紫紅色、細線條。
5. 在一堆黑色字體中,很難看到深紅色強調的字體。
6. 盡量減少顏色的數量,可以使用不同的外形和少量容易識別的顏色的組合。
7. 保持顏色色調的對比的同時,也可以添加亮度的對比。
8. 使用種類少且容易識別的字體。
盡量不要使用顏色的名字交流信息. 在演講時,去指代ppt上的某個東西時,不要說“那個紅色的細胞”,嘗試描述除了顏色信息之外的,比如“那個紅色的方形的位于PPT左上角的細胞”。
Stark: 色盲模擬器和顏色對比度檢查器網站, sketch/figma/XD插件 https://www.getstark.co
Color Oracle: 一款免費的色盲模擬軟件,支持Windows,Mac 和 Linux. https://colororacle.org
Sim Daltonism: 一款色盲模擬軟件,可以選擇不同類型的色盲.只有mac版本. https://michelf.ca/projects/mac/sim-daltonism/
Toptal:一款在線模擬色盲工具. https://www.toptal.com/designers/colorfilter
Color-contrast-checker: 顏色對比度檢查器,提供快速調節, figma插件 https://www.figma.com/community/plugin/733159460536249875/A11y—Color-Contrast-Checker
Tanaguru Contrast Finder: 檢測顏色對比度,如果你的顏色沒有達到要求,還會提供新顏色建議. https://contrast-finder.tanaguru.com
Color Review: 提供兩種顏色組合在一起的預覽,檢測結果失敗還會提供顏色建議https://color.review
color contrast checker from polypane: 提供顏色對比和修改建議. https://polypane.app/color-contrast
Accessible colors: 提供顏色對比、修改建議、還可以輸入字體大小和字重. https://accessible-colors.com
Accessible color palette builder:選擇5個顏色,網站會通過分析這些的顏色的排列組合,判斷你的色板是否符合無障礙標準https://toolness.github.io/accessible-color-matrix
contrast grid:通過在左側邊欄手動添加/刪減行列、編輯行列的色值,為您提供這些顏色排列組合的對比度結果,非常高效而且一目了然https://contrast-grid.eightshapes.com
Cloudflare color tool:當你不知道選擇什么顏色毫無頭緒時,你可以嘗試這個網站!它會幫你提取來自某個鏈接、某個圖片的顏色色板,當然你也能輸入色值.然后把這些顏色拖到對應的功能(底色、主色、背景色、描邊色),你就可以預覽下你的產品用了這個色板大概是什么樣子了.它同時也提供這些顏色的排列組合分析https://color.cloudflare.design
少數群體如色盲、老齡化群體、殘障群體等等,在近些年來,他們對無障礙使用互聯網的需求,越來越受到關注,也許你在現在不需要無障礙技術的幫助,但是隨著你變老,在未來的某個階段也許無障礙技術就會大大的幫助你。
色彩無障礙只是無障礙的一小步,但是卻是證明無障礙普及進步的一大步。
參考文章:
https://medium.com/inside-design/a-guide-to-color-accessibility-in-product-design-516e734c160c
https://www.colourblindawareness.org/colour-blindness/types-of-colour-blindness
https://modus.medium.com/the-myths-of-color-contrast-accessibility-4b7fcba77317
https://jfly.uni-koeln.de/color
https://www.bounteous.com/insights/2019/03/22/orange-you-accessible-mini-case-study-color-ratio
本文由郝小七指導http://www.woshipm.com/u/917803
本文由 @自來卷夏憶 原創發布于人人都是產品經理,未經許可,禁止轉載
題圖來自 Unsplash,基于 CC0 協議
*請認真填寫需求信息,我們會在24小時內與您取得聯系。