當(dāng)我們設(shè)計 Web 表單時,往往用最直覺的設(shè)計經(jīng)驗本能驅(qū)動我們?nèi)ソ鉀Q一些看似在界面設(shè)計中最簡單的問題,但每每到細(xì)微之處,又會有無數(shù)疑問從細(xì)節(jié)中冒出來給我們的設(shè)計造成困擾。
例如:在表單界面 Label(標(biāo)簽) 和 Input(輸入框) 上下還是左右排列合理、Label 要不要加冒號、輸入框到底多寬合適等等……
以上這類問題看起來并不影響用戶完成任務(wù),很久以來也少有人關(guān)心這些細(xì)微之處會不會對用戶有什么影響。以至于,我表達(dá)想寫一篇探究這些細(xì)節(jié)的文章時,同事會偷笑說:你都開始研究標(biāo)簽?zāi)┪惨灰用疤柫藛帷,太冷了——真是個冷知識!
確實如此,這些偏門、細(xì)碎的內(nèi)容,鮮少有人會去留意和思考。因此我在寫下這些分享內(nèi)容時期望可以達(dá)到目標(biāo)是:“冷知識雖然冷,但有用”。用我了解的這些表單設(shè)計冷知識:啟發(fā)你的冷思維、引出你的熱思考。
話不閑聊,我們開始討論第一個問題:
有個表單細(xì)節(jié)不知道你有沒有想過,標(biāo)簽?zāi)┪彩欠褚用疤枺?/p>
這個問題在我前團隊發(fā)生過激烈爭論,有同事說:“不要加,占用間距,而且沒人會留意它……”,也有人說:“要加,從含義上講,冒號的作用就是提示上下文或總結(jié)上下文的停頓。加上之后能更好表示標(biāo)簽與輸入域的關(guān)聯(lián)…….”。
聽起來好像都有些道理,那到底誰更對呢!
首先,我們追溯一下 Web 發(fā)展史,早期可訪問性核對清單中通常堅持要標(biāo)簽帶冒號,因為屏幕閱讀器一度必須依賴各種技巧才能理解標(biāo)記不明的表單。
而隨著技術(shù)發(fā)展,Web 表單使用“l(fā)abel”標(biāo)簽(tag)可以做正確的標(biāo)記,那么屏幕閱讀器就能通過標(biāo)記(markup)把標(biāo)簽(label)和相應(yīng)的字段對應(yīng)起來則無需再借助冒號。
不過在客戶端又有些意外!曾經(jīng) Windows Vista 指南中明確要求使用冒號,Mac Aqua 也有此要求但規(guī)則會稍靈活一些。這種情況是因為某些情況下屏幕閱讀器在桌面環(huán)境與可閱讀源代碼的網(wǎng)頁標(biāo)記相比會遇到一些困難,桌面環(huán)境不會直接顯示代碼。也是這個歷史原因,造成 Vista 和 Aqua 各自都有大量其標(biāo)簽包含冒號的歷史表單。因為實在沒有必要把它們?nèi)扛牡,直到今天客戶端的表單依舊延續(xù)這一規(guī)則。
通過 Web 發(fā)展史我們明白表單標(biāo)簽帶冒號的產(chǎn)生是為了解決早期屏幕閱讀器的識別,如今的屏幕閱讀器技術(shù)已轉(zhuǎn)變?yōu)樽R別標(biāo)簽的底層代碼,無需借助這種形式了。所以從這點來看要求標(biāo)簽帶冒號已經(jīng)站不住腳了。
那從情感角度分析標(biāo)簽帶冒號的是否對用戶體驗有影響呢?
回到最開始,我和同事們的爭論……
先簡單說下答案,無任何影響!
在《Web 表單設(shè)計·創(chuàng)建高可用性的網(wǎng)頁表單》中,作者(卡羅琳·賈雷特)曾經(jīng)做過大量的表單測試,最終證明從未有一名用戶談?wù)撁疤柺欠癯霈F(xiàn),即使是有些在其他環(huán)境中很介意標(biāo)點符號的人似乎在線上表單中也未曾注意到。
從以上兩個角度不難發(fā)現(xiàn),無論是從技術(shù)發(fā)展還是情感體驗,都證明可不必要求表單帶冒號;因為可用性訪問清單不再有這樣的要求,用戶研究也證明幾乎沒有人會留意表單冒號是否出現(xiàn)。
這樣的結(jié)論,看似表單帶冒號是失敗了……,但這并不妨礙它作為一種習(xí)慣或傳統(tǒng)延續(xù)至今,無論在客戶端還是Web設(shè)計系統(tǒng)中仍然常見。例如:蘋果電腦的Mac系統(tǒng),國內(nèi)阿里的Ant Design Web設(shè)計系統(tǒng)。
因此,得到以下幾點建議:
- 如果你希望自己的網(wǎng)頁表單與流行的桌面環(huán)境保持一致,請使用冒號。
- 如果你已有大量使用冒號的表單,請保持繼續(xù)使用下去。
- 如果你在建立一個新的系統(tǒng),你也可以索性拋硬幣決定,不過要嚴(yán)格遵循一種方法。
在表單中標(biāo)簽與表單域的對齊方式,如果你的團隊已有明確的規(guī)范和使用場景,你只要拿來主義即可。可如果某天由你主導(dǎo)定義一個新的表單規(guī)范時,不知道你會不會重新考慮哪種標(biāo)簽對齊方式更好,怎樣區(qū)分使用場景!
通過科學(xué)實驗發(fā)現(xiàn),無論是在眼動儀的熱圖,還是在許多可用性測試的觀察結(jié)果中,用戶在填寫網(wǎng)頁表單時視線主要集中在輸入框的左側(cè)。他們的視線幾乎不會落到輸入框的右側(cè),甚至都不會瞟上一眼。
以此為基礎(chǔ),我們在網(wǎng)頁表單設(shè)計中有 3 種最常見的標(biāo)簽對齊方式:頂對齊標(biāo)簽、右對齊標(biāo)簽和左對齊標(biāo)簽。你可能會說還有混合對齊標(biāo)簽、內(nèi)聯(lián)標(biāo)簽、圖標(biāo)標(biāo)簽等,這些確實存在但并不是最核心的幾種對齊方式,它們基本是在這 3 種形式上變化,不脫離本質(zhì)。
下面我們逐個分析一下:
1. 頂對齊標(biāo)簽:
馬泰奧·彭佐從 2006 年 7 月進行眼動研究發(fā)現(xiàn),從標(biāo)簽移動到輸入框只需 50 毫秒。比左對齊標(biāo)簽快了 10 倍,后者需要 500 毫秒;比右對齊標(biāo)簽方式快 2 倍,后者高達(dá) 240 秒。能迅速填完頂對齊標(biāo)簽表單的原因之一,是因為眼球只需要在標(biāo)簽和輸入框之間進行上下單向運動。
優(yōu)勢:
最利于減少表單填寫時間(標(biāo)簽和輸入框位置最為靠近);用戶視線固定,動線一直向下(清晰的完成路徑);節(jié)省大量橫向空間(可用于以多種方式組合的相關(guān)輸入框)。
劣勢:
占用額外的垂直空間(如果可提供使用的垂直屏幕空間較小,應(yīng)當(dāng)謹(jǐn)慎使用頂對齊標(biāo)簽);建議使用輸入框 50%至 75%的高度作為相鄰輸入框間距。
適用場景:
希望用戶快速填寫表單,完成任務(wù);同時,當(dāng)輸入項存在主次之分時,對標(biāo)簽擴展性要求高。
2. 右對齊標(biāo)簽:
如果要盡量減少表單占用垂直屏幕空間,右對齊能提供快速完成時間。馬泰奧·彭佐的眼動研究發(fā)現(xiàn),專家用戶和新手用戶掃視(眼睛運動)右對齊標(biāo)簽表單的標(biāo)簽和輸入框的平均時間分別在 170 毫秒和 240 毫秒,而填寫完成時間比左對齊快 2 倍。
優(yōu)勢:
標(biāo)簽與輸入框相鄰(方便快速填寫)。
劣勢:
右對齊布局造成左側(cè)不齊,影響了快速游覽表單的效率問題;若標(biāo)簽文字寬度變寬,右對齊還存在靈活度問題。
適用場景:
既要減少垂直空間,又要加快填寫速度的場景。
3. 左對齊標(biāo)簽:
在頂、右、左三種方案中,左對齊表單填寫速度最慢。因為左對齊表單解析問題時眼球定位次數(shù)最多,用戶一般情況下都能將左對齊布局中的標(biāo)簽和輸入框聯(lián)系起來,只是花費時間較長。根據(jù)馬泰奧·彭佐的研究,典型掃視時間為 500 毫秒,很長說明用戶經(jīng)歷了沉重的認(rèn)知壓力。
優(yōu)勢:
容易游覽標(biāo)簽;占用垂直空間較少。
劣勢:
標(biāo)簽和輸入框的相鄰間距增大;適合于用戶不熟悉表單要收集的數(shù)據(jù)或問題無法分成易處理的內(nèi)容組,左對齊標(biāo)簽游覽表單問題會更容易。用戶只要上上下下閱讀標(biāo)簽左欄,不會被輸入框打斷。
適用場景:
表單中存在較多的復(fù)雜或敏感信息,希望用戶放慢速度、仔細(xì)思考(在一些注冊類表單中較多使用)。
單從效率角度看,頂對齊標(biāo)簽>右對齊>左對齊,但是根據(jù)應(yīng)用場景,效率快并不是我們選擇標(biāo)簽對齊方式的唯一的指標(biāo)。
因此,得到以下幾點建議:
如果你希望用戶放慢速度,仔細(xì)思考表單中每個表單項,左對齊標(biāo)簽是個好選擇,特別是含有大量可選輸入框或高級設(shè)置的陌生數(shù)據(jù)時;
而頂對齊標(biāo)簽在一些國際化產(chǎn)品的表單設(shè)計時,會有更好的延展性;
至于,右對齊標(biāo)簽雖然與表單域聯(lián)系緊密,便于用戶填寫,但是要考慮好標(biāo)簽的長短不齊如何解決。能否精簡標(biāo)簽內(nèi)容,以及確定好表單與界面的邊距。
許多表單設(shè)計中,有個常見問題:是否應(yīng)該標(biāo)記必填字段?如果表單中的大多數(shù)字段或全部都是必填的,我們是否仍然應(yīng)該標(biāo)記它們?
先簡單回答:是肯定的,用戶有時需要通過必填標(biāo)記來評估工作量,了解輸入信息量的最低限度。我會在下面具體解釋原因。
1. 了解不標(biāo)記必填字段的誘惑
通常,設(shè)計師會覺得每個必填字段都有一個標(biāo)記是重復(fù)的、丑陋的、占空間,而且干擾界面,甚至可能看起來很擾亂(有認(rèn)知負(fù)擔(dān)!)。因此通常采取以下一種或兩種策略:
- 在表單頂部顯示說明,說明中除非另有解釋,否則所有字段都是必填;
- 只標(biāo)記可選字段,因為它們通常較少;
- 在某些特殊情況下,也會什么都不做:相信用戶會神奇地知道需要填寫什么字段;如果不知道,那么只需要點擊提交報錯即可。
2. 這些方法有什么問題?如果你這樣想,我來告訴你
用戶一般不喜歡閱讀表單頂部說明。不難想象,用戶不太可能閱讀表單頂部的說明。表單字段需要自給自足,畢竟,每個字段都有特定指令——它的標(biāo)簽,為什么用戶需要閱讀其他任何東西來填寫它呢?
即使用戶閱讀了說明,也可能忘記。你可能會說:用戶閱讀了頂部的說明,怎么就會忘記——這么簡單的事情?的確容易忘記,特別是當(dāng)表單很長或填寫表單被打斷時(這種情況在移動端很常見)。即使用戶記得,但這占用了工作記憶,增加了認(rèn)知負(fù)荷。換句話說,你讓用戶完成任務(wù)更難了。填寫表單本身對用戶來說就相當(dāng)有挑戰(zhàn)性——為什么要讓它更具有挑戰(zhàn)性?
用戶必須掃描表單以確定是否為必填字段。不難發(fā)現(xiàn),無論是否在表單頂部包含說明,結(jié)果都可能相同,用戶會忽略或忘記。他們會掃視表單,找到一個標(biāo)記為必填或可選的標(biāo)識。而且有些用戶甚至不會費心去環(huán)顧四周,他們只會做出假設(shè)。他們會想——“嗯,郵箱——不需要我的郵箱吧?先空著呢”。即使用戶沒有留空,也不得不暫停來思考一個字段是否需要填寫,減慢交互速度并使過程看起來更長、更乏味。
想要解決以上問題很簡單:標(biāo)記所有必填字段。盡量明確和清晰展示每個必填字段,并標(biāo)記它。當(dāng)然,就像有些設(shè)計師所說:界面出現(xiàn)大量必填標(biāo)識(紅色星號*)確實會增加視覺噪聲。甚至重復(fù)的星號 * 會帶來一些認(rèn)知恐慌。但相比之下,兩害取其輕,這些負(fù)面因素是輕微的。
3. 如何標(biāo)記必填字段?
這里包含至少有兩種方式:星號*(紅色)和“必填”提示。星號*在網(wǎng)頁上已經(jīng)很常見,用戶熟悉其含義。優(yōu)點是它不占用太多空間,也看起來與標(biāo)簽文字足夠不同,所以使用它。
可以使用其他標(biāo)記形式嗎?當(dāng)然可以,但是最好遵循市面上常見的形式(雅各布定律),這樣更符合用戶認(rèn)知。
星號應(yīng)該在字段標(biāo)簽之前還是在字段標(biāo)簽之后?這不一定有實際影響,但將其放在標(biāo)簽之前的一個原因是,只需掃視標(biāo)簽的最左邊字符,就能輕松定位必填哪些字段。星號*是一種視覺標(biāo)記,應(yīng)當(dāng)仔細(xì)考慮表單中的標(biāo)識位置。標(biāo)識在標(biāo)簽左邊能指引用戶迅速瀏覽界面,并判斷出必填項。如果在右側(cè)由于輸入框形式、長度各不相同,標(biāo)識和輸入框?qū)R會導(dǎo)致難以瀏覽和判斷。
4. 是否也應(yīng)該標(biāo)記可選字段?
雖然這不是強制性的,但標(biāo)記可選字段確實減輕了用戶思考:如果沒有這個標(biāo)識,用戶要環(huán)顧四周,并根據(jù)其他標(biāo)記字段推斷該字段是可選的。如果“非必填”在字段標(biāo)簽旁邊,那該任務(wù)會變得更容易。不描述可選字段,這沒問題,但這樣做會是一個很好的額外幫助。
5. 為什么登錄表單沒有標(biāo)記必填?
登錄表單很短,一般由兩個字段組成:用戶名和密碼,這兩個字段總是必填的。如果使用星號*,標(biāo)記這些字段的成本很低,并不會出錯。但是,絕大多數(shù)用戶都使用過很多登錄表單,他們是知道要登錄需要輸入郵箱/用戶名和密碼的。所以,在登錄表單中,可以省略這種形式。
而在注冊表中不標(biāo)記必填字段是危險的。注冊表單因產(chǎn)品而異——不同公司在創(chuàng)建帳戶時需要不同類型的信息。它不僅僅包含用戶名和密碼,所以請標(biāo)記所有必填字段(包括用戶名和密碼)。
因此,提出以下幾點建議:
基礎(chǔ)前提,盡量去除任何不需要回答的問題,特別是涉及到用戶隱私的內(nèi)容?梢愿菀鬃層脩籼钔瓯韱巍
為了增加表單填寫的機會,請盡量減少用戶需要付出的努力和他們需要記住的信息。有很多方面有助于解決這些問題,但標(biāo)記必填字段(以及可選字段)是最容易的方法之一。
1. 先給出答案:這是肯定的!
在《選擇的悖論》一書中,作者巴里·施瓦茨討論了生活中選擇過多的影響。并提出策略應(yīng)付無處不在的過多選擇。他特別敘述了智能默認(rèn)的能量——即在滿足多數(shù)人需要的地方放置選擇——來幫助人們做出明智的選擇。
而在 Web 表單中也有很多地方能利用智能默認(rèn)減少不必要的選擇次數(shù)或輸入,加速表單完成過程。所以,只要合適就在表單域中預(yù)先為用戶填寫你認(rèn)為他們想要的輸入值。通過提供合理的默認(rèn),能有效節(jié)省用戶時間,就是這么簡單。應(yīng)用分擔(dān)了用戶思考或輸入答案的工作。填寫表單永遠(yuǎn)不是一件有趣的事情,如果這個模式能把表單填寫的時間減少一半,用戶會非常感激。
你可能會問:默認(rèn)值不是用戶想要的,誤導(dǎo)用戶怎么辦?
在設(shè)計有默認(rèn)值的表單域時,你要思考默認(rèn)值是否是大多數(shù)用戶可以接受的答案,如果不確信可以先去做一下用戶調(diào)研,了解用戶的心聲。就算默認(rèn)值真的不是用戶想要的,至少你也為他提供了一個示例來告訴用戶答案應(yīng)該是什么樣子的。這一點也可以節(jié)省用戶幾秒的思考時間——或避免一條錯誤信息。
但并不代表所有的表單域都要給出默認(rèn)值,我們只是盡可能的讓用戶節(jié)省時間。
如何使用:
在第一次向用戶顯示表單時,用一個合理的默認(rèn)值預(yù)先填寫文本框、組合框或者其他控件。也可以使用用戶之前提供給應(yīng)用的信息來動態(tài)地給出默認(rèn)值(例:通過身份證自動識別出生日期;利用郵編,推導(dǎo)出對應(yīng)省/市)。
如果只是因為你覺得不應(yīng)該留下空白的輸入域,那么不要使用默認(rèn)模式。只有當(dāng)你有理由確信絕大部分用戶,在絕大多數(shù)情況下,不會修改這個取值時才提供默認(rèn)值——否則,這將會給用戶帶來額外的工作!
有一個容易被忽視但實則舉重若輕的問題,表單中輸入框?qū)挾热绾卧O(shè)定?
在表單設(shè)計中,對于 Checkbox、Radio 等控件,很明確必須跟隨內(nèi)容自適應(yīng)處理。但對于 Input、Select 等你會不會產(chǎn)生困惑,是定寬處理還是跟隨內(nèi)容更好。
不知道你是否試圖這么理解過?輸入框作為用戶填寫信息的主要方式,其表現(xiàn)形式是否可以提供給用戶填寫表單的有用線索。唐納德·諾曼的著作《設(shè)計心理學(xué)》中詳細(xì)講解過心理暗示方面的內(nèi)容。而寬度的變化就是一種有效暗示。
在真實場景中,大部分輸入框是存在理想長度的,那么就應(yīng)該向用戶暗示所需輸入內(nèi)容的長度來減輕判斷負(fù)擔(dān)。下圖就是典型案例,一個實際不需要花多少錢的金額輸入框在左圖中進行等寬處理,反而容易誤導(dǎo)用戶對輸入金額的判斷,造成一種不安全感。
表現(xiàn)形式要為用戶填寫提供有用線索,采用不同長度的文本框提供了暗示;這種暗示是一種有用線索,當(dāng)輸入框長度長短不定時,用戶會很自然地思考為什么這樣;填寫輸入框時會自然考慮這些線索。
請注意!保證暗示效果的同時,不要設(shè)定太多的寬度,反而會讓表單顯得凌亂;太少又會讓表單看起來都像四四方方的盒子。最佳方法是找到適合產(chǎn)品的最佳模度值和數(shù)量。
1. 什么是模度值和數(shù)量呢!
落在具體設(shè)計上要先梳理產(chǎn)品中常見的表單類型,然后設(shè)置一個默認(rèn)寬度。以此為基礎(chǔ)來有規(guī)律的增加長度,并考慮清楚它們的適用場景;從而定義出不同的模度,最終制定出整潔有序的模度規(guī)范。這樣就可以讓一線的設(shè)計師們跳過部分繁瑣磨人的細(xì)節(jié)思考,快速搭建出合適的表單寬度并合理有效。
本篇文章更多是從表單設(shè)計中的一些冷門內(nèi)容,即易忽略的一些設(shè)計點在展開討論,利用問題加案例的形式對表單設(shè)計進行剝離拆解,沒有系統(tǒng)地、成本成套的來分析表單的構(gòu)成和交互細(xì)節(jié)等等。希望能夠通過這篇文章給到大家更多的啟發(fā)。
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭議評論。
參與本評論即表明您已經(jīng)閱讀并接受
上述條款。