小程序整體頁(yè)面設計指南。
基于微信小程序輕快的特點(diǎn),我們擬定了小程序界面設計指南和建議。 設計指南建立在充分尊重用戶(hù)知情權與操作權的基礎之上。旨在微信生態(tài)體系內,建立友好、高效、一致的用戶(hù)體驗,同時(shí)**程度適應和支持不同需求,實(shí)現用戶(hù)與小程序服務(wù)方的共贏(yíng)。
友好禮貌
為了避免用戶(hù)在微信中使用小程序服務(wù)時(shí),注意力被周?chē)鷱碗s環(huán)境干擾,小程序在設計時(shí)應該注意減少無(wú)關(guān)的設計元素對用戶(hù)目標的干擾,禮貌地向用戶(hù)展示程序提供的服務(wù),友好地引導用戶(hù)進(jìn)行操作。
重點(diǎn)突出
每個(gè)頁(yè)面都應有明確的重點(diǎn),以便于用戶(hù)每進(jìn)入一個(gè)新頁(yè)面的時(shí)候都能快速地理解頁(yè)面內容。在確定了重點(diǎn)的前提下,應盡量避免頁(yè)面上出現其它與用戶(hù)的決策和操作無(wú)關(guān)的干擾因素。
案例示意1
案例示意2
流程明確
為了讓用戶(hù)順暢地使用頁(yè)面,在用戶(hù)進(jìn)行某一個(gè)操作流程時(shí),應避免出現用戶(hù)目標流程之外的內容而打斷用戶(hù)。
清晰明確
一旦用戶(hù)進(jìn)入我們的小程序頁(yè)面,我們就有責任和義務(wù)清晰明確地告知用戶(hù)身在何處、又可以往何處去,確保用戶(hù)在頁(yè)面中游刃有余地穿梭而不迷路,這樣才能為用戶(hù)提供安全且愉悅的使用體驗。
導航明確,來(lái)去自如
導航是確保用戶(hù)在網(wǎng)頁(yè)中瀏覽跳轉時(shí)不迷路的最關(guān)鍵因素。導航需要告訴用戶(hù),當前在哪,可以去哪,如何回去等問(wèn)題。微信在小程序內現不提供統一導航欄樣式,開(kāi)發(fā)者可根據需要自行設計小程序首頁(yè)和次級頁(yè)面界面導航。建議所有的次級頁(yè)面左上角提供返回上一級頁(yè)面操作。此外,微信iOS用戶(hù)還可通過(guò)界面邊緣向右滑動(dòng)操作,返回上一級小程序或微信頁(yè)面。安卓用戶(hù)可通過(guò)物理返回鍵達到同樣目的。
小程序菜單
小程序的所有頁(yè)面,包括小程序內嵌網(wǎng)頁(yè)和插件,微信都會(huì )在其右上角放置官方小程序菜單,樣式如圖。開(kāi)發(fā)者不可對其內容自定義,但可選擇深淺兩種基本配色以適應頁(yè)面設計風(fēng)格。 官方小程序菜單將放置在界面固定位置,開(kāi)發(fā)者在設計界面時(shí)請預留出該區域空間,若需要在此區域附近放置可交互元素,要特別注意交互事件是否會(huì )沖突,操作是否容易被使用
小程序菜單深淺配色方案(iOS和Android)
開(kāi)發(fā)者可在滿(mǎn)足可用性的前提下,從微信提供的深淺兩套配色的小程序菜單中選擇合適的方案,以適應小程序頁(yè)面設計風(fēng)格。
頁(yè)面內導航
開(kāi)發(fā)者可根據自身功能設計需要在頁(yè)面內添加自有導航。并保持不同頁(yè)面間導航一致,指向清晰,有路可退。受限于手機屏幕尺寸的限制,小程序頁(yè)面的導航應盡量簡(jiǎn)單。建議開(kāi)發(fā)者設計的自有導航樣式與微信官方小程序菜單樣式保持一定差異,以便區分。
開(kāi)發(fā)者可為小程序頁(yè)面添加標簽分頁(yè)(Tab)導航。標簽分頁(yè)欄可固定在頁(yè)面頂部或者底部,便于用戶(hù)在不同的分頁(yè)間做切換。標簽數量不得少于2個(gè),最多不得超過(guò)5個(gè),為確保點(diǎn)擊區域,建議標簽數量不超過(guò)4項。一個(gè)頁(yè)面也不應出現一組以上的標簽分頁(yè)欄。
其中小程序首頁(yè)可選擇微信提供的原生底部標簽分頁(yè)樣式,該樣式僅供小程序首頁(yè)使用。開(kāi)發(fā)時(shí)可自定義圖標樣式、標簽文案以及文案顏色等,具體設置項如圖標尺寸等參考可參考開(kāi)發(fā)文檔和WeUI基礎控件庫。
頂部標簽分頁(yè)欄顏色可自定義。在自定義顏色選擇中,務(wù)必注意保持分頁(yè)欄標簽的可用性、可視性和可操作性。
減少等待,反饋及時(shí)
頁(yè)面的過(guò)長(cháng)時(shí)間的等待會(huì )引起用戶(hù)的不良情緒,使用微信小程序項目提供的技術(shù)已能很大程度縮短等待時(shí)間。即便如此,當不可避免的出現了加載和等待的時(shí)候,需要予以及時(shí)的反饋以舒緩用戶(hù)等待的不良情緒。
啟動(dòng)頁(yè)加載
小程序啟動(dòng)頁(yè)是小程序在微信內一定程度上展現品牌特征的頁(yè)面之一。本頁(yè)面將突出展示小程序品牌特征和加載狀態(tài)。啟動(dòng)頁(yè)除品牌標志(Logo)展示外,頁(yè)面上的其他所有元素如加載進(jìn)度指示,均由微信統一提供且不能更改,無(wú)需開(kāi)發(fā)者開(kāi)發(fā)。
頁(yè)面下拉刷新加載
在微信小程序內,微信提供標準的頁(yè)面下拉刷新加載能力和樣式,開(kāi)發(fā)者無(wú)需自行開(kāi)發(fā)。
頁(yè)面內加載反饋
開(kāi)發(fā)者可在小程序里自定義頁(yè)面內容的加載樣式。建議不管是使用在局部還是全局加載,自定義加載樣式都應該盡可能簡(jiǎn)潔,并使用簡(jiǎn)單動(dòng)畫(huà)告知用戶(hù)加載過(guò)程。
模態(tài)加載
模態(tài)的加載樣式將覆蓋整個(gè)頁(yè)面的,由于無(wú)法明確告知具體加載的位置或內容將可能引起用戶(hù)的焦慮感,因此應謹慎使用。除了在某些全局性操作下不要使用模態(tài)的加載。
局部加載反饋
局部加載反饋即只在觸發(fā)加載的頁(yè)面局部進(jìn)行反饋,這樣的反饋機制更加有針對性,頁(yè)面跳動(dòng)小,是微信推薦的反饋方式。例如:
全局加載反饋
開(kāi)發(fā)者可以參考圖中樣式,使用標題欄提示加載小程序頁(yè)面內容的過(guò)程。例如:
加載反饋注意事項
若載入時(shí)間較長(cháng),應提供取消操作,并使用進(jìn)度條顯示載入的進(jìn)度。
載入過(guò)程中,應保持動(dòng)畫(huà)效果 ; 無(wú)動(dòng)畫(huà)效果的加載很容易讓人產(chǎn)生該界面已經(jīng)卡死的錯覺(jué)。
不要在同一個(gè)頁(yè)面同時(shí)使用超過(guò)1個(gè)加載動(dòng)畫(huà)。
結果反饋
除了在用戶(hù)等待的過(guò)程中需予以及時(shí)反饋外,對操作的結果也需要予以明確反饋。根據實(shí)際情況,可選擇不同的結果反饋樣式。對于頁(yè)面局部的操作,可在操作區域予以直接反饋,對于頁(yè)面級操作結果,可使用彈出式提示、模態(tài)對話(huà)框或結果頁(yè)面展示。
頁(yè)面局部操作結果反饋
對于頁(yè)面局部的操作,可在操作區域予以直接反饋,例如點(diǎn)擊多選控件前后如下圖。對于常用控件,微信設計中心將提供控件庫,其中的控件都已提供完整操作反饋。
頁(yè)面全局操作結果——圖標型彈出提示
圖標型彈出提示適用于輕量級的成功提示,1.5秒后自動(dòng)消失,并不打斷流程,對用戶(hù)影響較小,適用于不需要強調的操作提醒,例如成功提示。特別注意該形式不適用于錯誤提示,因為錯誤提示需明確告知用戶(hù),因而不適合使用一閃而過(guò)的彈出式提示。
頁(yè)面全局操作結果——文字型彈出提示
文字型彈出提示適用于需要輕量化地用文字解釋當前狀態(tài)或提醒不嚴重的錯誤。1.5秒后自動(dòng)消失,不打斷流程,對用戶(hù)影響較小。
頁(yè)面全局操作結果——模態(tài)對話(huà)框
對于需要用戶(hù)明確知曉的操作結果狀態(tài)可通過(guò)模態(tài)對話(huà)框來(lái)提示,并可附帶下一步操作指引。
頁(yè)面全局操作結果—結果頁(yè)
對于操作結果已經(jīng)是當前流程的終結的情況,可使用操作結果頁(yè)來(lái)反饋。這種方式最為強烈和明確的告知用戶(hù)操作已經(jīng)完成,并可根據實(shí)際情況給出下一步操作的指引。
異??煽?,有路可退
在設計任何的任務(wù)和流程時(shí),異常狀態(tài)和流程往往容易被忽略,而這些異常場(chǎng)景往往是用戶(hù)最為沮喪和需要幫助的時(shí)候,因此需要格外注意異常狀態(tài)的設計,在出現異常時(shí)予以用戶(hù)必要的狀態(tài)提示,并告知解決方案,使其有路可退。
要杜絕異常狀態(tài)下,用戶(hù)莫名其妙又無(wú)處可去,停滯在某一個(gè)頁(yè)面的情況。上文中所提到的模態(tài)對話(huà)框和結果頁(yè)面都可作為異常狀態(tài)的提醒方式。除此之外,在表單頁(yè)面中尤其是表單項較多的頁(yè)面中,還應明確指出出錯項目,以便用戶(hù)修改。
異常狀態(tài)——表單出錯
表單報錯,在表單頂部告知錯誤原因,并標識出錯誤字段提示用戶(hù)修改。
便捷優(yōu)雅
從PC時(shí)代的物理鍵盤(pán)鼠標到移動(dòng)端時(shí)代手指,雖然輸入設備極大精簡(jiǎn),但是手指操作的準確性卻大大不如鍵盤(pán)鼠標精確。為了適應這個(gè)變化,需要開(kāi)發(fā)者在設計過(guò)程中充分利用手機特性,讓用戶(hù)便捷優(yōu)雅的操控界面。
減少輸入
由于手機鍵盤(pán)區域小且密集,輸入困難的同時(shí)還易引起輸入錯誤,因此在設計小程序頁(yè)面時(shí)因盡量減少用戶(hù)輸入,利用現有接口或其他一些易于操作的選擇控件來(lái)改善用戶(hù)輸入的體驗。
例如下圖中,在添加銀行卡時(shí),采用攝像頭識別接口來(lái)幫助用戶(hù)輸入。除此之外微信團隊還對外開(kāi)放例如地理位置接口等多種微信小程序接口 ,充分利用這些接口將大大提高用戶(hù)輸入的效率和準確性,進(jìn)而優(yōu)化體驗。
除了利用接口外,在不得不讓用戶(hù)進(jìn)行手動(dòng)輸入時(shí),應盡量讓用戶(hù)做選擇而不是鍵盤(pán)輸入。一方面,回憶易于記憶,讓用戶(hù)在有限的選項中做選擇通常來(lái)說(shuō)是容易于完全靠記憶輸入;另一方面,仍然是考慮到手機鍵盤(pán)密集的單鍵輸入極易造成輸入錯誤。 例如圖中,在用戶(hù)搜索時(shí)提供搜索歷史快捷選項將幫助用戶(hù)快速進(jìn)行搜索,而減少或避免不必要是鍵盤(pán)輸入。
避免誤操作
因為在手機上我們通過(guò)手指觸摸屏幕來(lái)操控界面,手指的點(diǎn)擊精確度遠不如鼠標,因此在設計頁(yè)面上需點(diǎn)擊的控件時(shí),需要充分考慮到其熱區面積,避免由于可點(diǎn)擊區域過(guò)小或過(guò)于密集而造成誤操作。當簡(jiǎn)單的將原本在電腦屏幕上使用的界面不做任何適配直接移植到手機上時(shí),往往就容易出現這樣的問(wèn)題。由于手機屏幕分辨率各不相同,因此最適宜點(diǎn)擊像素尺寸也不完全一致,但換算成物理尺寸后大致是在7mm-9mm之間。在微信提供的標準組件庫中,各種控件元素均已考慮到了頁(yè)面點(diǎn)擊效果以及不同屏幕的適配,因此再次推薦使用或模仿標準控件尺寸進(jìn)行設計。
利用接口提升性能
微信設計中心已推出了一套網(wǎng)頁(yè)標準控件庫,包括 sketch設計控件庫 和 Photoshop設計控件庫,后續還將完善小程序組件,這些控件都已充分考慮了移動(dòng)端頁(yè)面的特點(diǎn),能夠保證其在移動(dòng)端頁(yè)面上的可用性和操作性能; 同時(shí)微信開(kāi)發(fā)團隊也在不斷完善和擴充微信小程序接口,并提供微信公共庫,利用這些資源不但能夠為用戶(hù)提供更加快捷的服務(wù),而且對頁(yè)面性能的提高有極大作用,無(wú)形之中提升了用戶(hù)體驗。
統一穩定
除了以上所提到的種種原則,建議接入微信的小程序還應該時(shí)刻注意不同頁(yè)面間的統一性和延續性,在不同的頁(yè)面盡量使用一致的控件和交互方式。
統一的頁(yè)面體驗和有延續性的界面元素都將幫助用最少的學(xué)習成本達成使用目標,減輕頁(yè)面跳動(dòng)所造成的不適感。正因如此,小程序可根據需要使用微信提供的標準控件,以達到統一穩定的目的。
視覺(jué)規范
字體
微信內字體的使用與所運行的系統字體保持一致,常用字號為20, 18, 17, 16,14 13, 11(pt),使用場(chǎng)景具體如下:
字體顏色
主內容 Black 黑色,次要內容 Grey 灰色;時(shí)間戳與表單缺省值 Light 灰色;大段的說(shuō)明內容而且屬于主要內容用 Semi 黑。
藍色為鏈接用色,綠色為完成字樣色,紅色為出錯用色 Press 與 Disable 狀態(tài)分別降低透明度為20%與10%。
列表
表單輸入
按鈕
圖標