模態(tài)/彈層/對話框的最佳準則

模態(tài),彈層负溪,對話框透揣,不管你如何稱呼它,現(xiàn)在讓我們來重新審視一下這個部分川抡。當(dāng)它第一次出現(xiàn)時辐真,模態(tài)窗口曾經(jīng)是一種優(yōu)雅的視覺解決方案。首先它簡化了視覺,其次拆祈,它節(jié)省了屏幕空間恨闪。從那以后,設(shè)計師就非常樂意使用模態(tài)窗口放坏,而且有些設(shè)計師甚至過度的使用它咙咽。模態(tài)窗口慢慢演變成了今天的這種可怕的彈窗。人們覺得它十分討厭淤年,并且本能的钧敞、不自覺的忽略這些窗口。

定義:

一個模態(tài)窗口是一個覆蓋于軟件主要結(jié)構(gòu)框架之上的窗口麸粮。它創(chuàng)造了這樣一種模式:模態(tài)窗口以一種子窗口的形式出現(xiàn)在主界面上方溉苛,使主界面可見但是不響應(yīng)任何操作。用戶必須完成模態(tài)窗口上指定的操作之后弄诲,才可以回到主界面愚战。

——維基百科

用法

你可以在你有如下需求時使用模態(tài)窗口:

獲取用戶的注意

當(dāng)你必須打斷用戶當(dāng)前正在進行的任務(wù)流,將用戶全部注意力引導(dǎo)到一個更加重要的事情上時齐遵。

需要用戶輸入

當(dāng)你需要用戶輸入信息時寂玲。舉個例子,注冊或者登錄梗摇。

在內(nèi)容中展示額外的信息

當(dāng)你想在用戶消費主頁面中內(nèi)容的同時想展示一些額外的信息的時候可以使用它拓哟。例如展示大圖或者視頻。

展示額外的信息(不是在內(nèi)容中展示)

當(dāng)你想展示一些不是直接依賴于母頁面額外信息伶授,或者其他的一些不依賴于頁面的獨立選項断序。例如通知。

小貼士:不要用模態(tài)彈窗展示錯誤糜烹、成功违诗、或者警告信息。讓這些信息留在頁面當(dāng)中疮蹦。

一個模態(tài)彈窗的詳細剖析

不好的彈層會妨礙任務(wù)的完成较雕。通過下面的方法來保證你的彈窗不會犯這樣的錯誤:


1.逃生閥

給用戶一個離開的途徑,這樣他們就可以主動關(guān)閉彈窗挚币。可以通過如下的方式實現(xiàn):

- 取消按鈕

- 關(guān)閉按鈕

- 退出按鍵

- 點擊彈窗以外的區(qū)域

易用性小貼士:每個彈窗都必須有一個可以通過鍵盤控制的快捷退出方式扣典。例如應(yīng)該可以使用ESC按鍵來關(guān)閉彈窗妆毕。

2.描述清晰的標題

通過標題告訴用戶一些信息。這樣可以讓用戶知道他們當(dāng)前所處的位置——他們并沒有離開最初的頁面贮尖。

點擊“Tweet”按鈕——彈窗標題:創(chuàng)建新推特笛粘。給出信息。

小貼士:呼出彈窗的按鈕中的文案應(yīng)該與彈窗標題相呼應(yīng)

3.按鈕

按鈕應(yīng)該有一個可操作、可理解的名字薪前。這取決于按鈕所處的具體情況润努。在模態(tài)彈窗中,一個“關(guān)閉”按鈕可以是一個按鈕或者僅僅是一個“X”示括。


Invision擁有簡潔明了的按鈕

小貼士:按鈕上的文案不要使人困惑铺浇。如果用戶點擊了取消按鈕,但是彈窗出現(xiàn)了另外一個取消按鈕垛膝,困惑就出現(xiàn)了鳍侣,“我是在取消我的取消操作,還是在繼續(xù)之前的取消吼拥?”

4.大小和位置

一個模態(tài)窗口不應(yīng)太大也不應(yīng)太小倚聚,你希望它剛剛合適。目標是保存應(yīng)有的信息凿可,同時一個模態(tài)窗口不應(yīng)該占據(jù)整個可視窗口惑折。內(nèi)容需要適應(yīng)模態(tài)窗口。如果需要一個滾動條枯跑,你需要考慮創(chuàng)建另外一個頁面來代替它惨驶。


- 位置——屏幕中央偏上,因為在移動設(shè)備中全肮,如果處于靠下的位置可能會在可是窗口中消失敞咧。

- 大小——不要占用整個屏幕超過50%以上的面積

5.焦點

當(dāng)你使用燈箱效果(使背景變暗)來打開一個模態(tài)窗口時,由于用戶無法再與母頁面進行交互辜腺,因此用戶的注意力被吸引到模態(tài)窗口中休建。

小貼士:此時要將鍵盤的光標焦點同時移到模態(tài)窗口中

6.讓用戶的操作觸發(fā)開關(guān)

不要突然彈出一個模態(tài)窗口,這樣會嚇到用戶评疗。讓用戶產(chǎn)生一個操作行為测砂,例如點擊按鈕、鏈接或者選擇一個選項百匆,以此來出發(fā)模態(tài)窗口砌些。不請自來的模態(tài)窗口會驚嚇到用戶,并且會導(dǎo)致用戶直接忽略其中的內(nèi)容加匈。


點擊呼起的登錄彈窗

移動設(shè)備中的模態(tài)彈窗

模態(tài)彈窗和移動設(shè)備并不能很容易的和諧相處存璃。由于模態(tài)彈窗的面積通常較大,占用了屏幕或大或小的一部分區(qū)域雕拼,因此在使用模態(tài)彈窗的同時消費內(nèi)容就變得不那么容易了纵东。加入設(shè)備鍵盤或者嵌入的滾動條等等元素,用戶會不蜕犊埽縮放屏幕偎球,視圖尋找模態(tài)彈窗的位置洒扎。模態(tài)彈窗可以有很多替代的表達方式,最好不要在移動設(shè)備中使用它們衰絮。

做的比較好的模態(tài)彈窗——facebook

輔助功能


鍵盤

創(chuàng)建模態(tài)彈窗時袍冷,時刻記得添加可使用的鍵盤操作∶担考慮如下幾點:

打開彈窗——呼起彈窗的元素必須是鍵盤可操作的

將焦點移動到對話框中——當(dāng)模態(tài)彈窗打開之后胡诗,鍵盤焦點應(yīng)該移動到模態(tài)彈窗的最頂端

管理鍵盤焦點——當(dāng)焦點移動到對話框中之后,它必須固定在輸入框中镊掖,直到對話框關(guān)閉

關(guān)閉對話框——所有彈窗都應(yīng)該有一個鍵盤可控的退出方式

更多列表查看 Nomensa’s blog article

ARIA

可訪問的富網(wǎng)絡(luò)程序(Accessible Rich Internet Applications)定義了一種讓網(wǎng)站內(nèi)容和網(wǎng)站應(yīng)用更加便于使用的方法乃戈。

如下所示的ARIA標簽可以很好的創(chuàng)建可用的模態(tài)彈窗:

Role = “dialog” , aria-hidden, aria-label

了解更多的關(guān)于ARIA的信息,點擊查看Smashing’s Magazine article

同時亩进,不要忽略低視力人群用戶症虑。他們可能在使用系統(tǒng)中的放大鏡功能來放大屏幕中的內(nèi)容。當(dāng)屏幕放大時归薛,用戶只能看到屏幕的一部分內(nèi)容谍憔。模態(tài)彈窗也要考慮到對他們的影響。

總結(jié)

如果用戶被訓(xùn)練的不自覺的關(guān)閉模態(tài)彈窗主籍,你還有什么理由使用它們呢习贫?

獲取用戶的注意,同時保證內(nèi)容和視覺上的簡潔清晰是模態(tài)彈窗最大的優(yōu)點千元。但是苫昌,它也有著自己的缺點,它會阻斷用戶工作流幸海,并且使用戶無法與隱藏在模態(tài)彈窗后面的母頁面中的內(nèi)容進行交互祟身。模態(tài)彈窗并不總是最好的解決方案。當(dāng)你做出選擇的時候物独,考慮如下幾點:

檢查清單:

- 你要在何時使用模態(tài)彈窗袜硫?

- 如何使用模態(tài)彈窗?

- 模態(tài)彈窗要長成什么樣子挡篓?

- 模態(tài)彈窗中需要展示什么信息婉陷?

這里有一些可以替代模態(tài)彈窗的UI控件:非模態(tài)彈窗,也稱為toast(該術(shù)語最早被谷歌的Material Design以及微軟提出)官研。點擊如下內(nèi)容來了解更多:

參考文獻

Overlays?—?Patterny

Overuse of Overlays?—?NNgroup

10 Guidelines to Consider when using Overlays?—?UX for the Masses

Making Modal Windows Better For Everyone?—?Smashing Magazine

How to improve the accessibility of overlay windows?—?Nomensa

譯者注:譯自Medium秽澳,在翻譯過程中將與設(shè)計主題無關(guān)的部分進行了刪節(jié)

原文鏈接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市戏羽,隨后出現(xiàn)的幾起案子担神,更是在濱河造成了極大的恐慌,老刑警劉巖蛛壳,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件杏瞻,死亡現(xiàn)場離奇詭異,居然都是意外死亡衙荐,警方通過查閱死者的電腦和手機捞挥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來忧吟,“玉大人砌函,你說我怎么就攤上這事×镒澹” “怎么了讹俊?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長煌抒。 經(jīng)常有香客問我仍劈,道長,這世上最難降的妖魔是什么寡壮? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任贩疙,我火速辦了婚禮,結(jié)果婚禮上况既,老公的妹妹穿的比我還像新娘这溅。我一直安慰自己,他們只是感情好棒仍,可當(dāng)我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布悲靴。 她就那樣靜靜地躺著,像睡著了一般莫其。 火紅的嫁衣襯著肌膚如雪癞尚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天榜配,我揣著相機與錄音否纬,去河邊找鬼。 笑死蛋褥,一個胖子當(dāng)著我的面吹牛临燃,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播烙心,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼膜廊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了淫茵?” 一聲冷哼從身側(cè)響起爪瓜,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎匙瘪,沒想到半個月后铆铆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蝶缀,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年薄货,在試婚紗的時候發(fā)現(xiàn)自己被綠了翁都。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡谅猾,死狀恐怖柄慰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情税娜,我是刑警寧澤坐搔,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站敬矩,受9級特大地震影響概行,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谤绳,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一占锯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧缩筛,春花似錦消略、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至桐臊,卻和暖如春胎撤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背断凶。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工伤提, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人认烁。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓肿男,卻偏偏與公主長得像,于是被迫代替她去往敵國和親却嗡。 傳聞我的和親對象是個殘疾皇子舶沛,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 模態(tài)窗口、疊加窗口窗价、對話框如庭、無論你叫它們什么,是時候重溫這個UI模式了撼港。當(dāng)它們第一次來到現(xiàn)場坪它,模態(tài)窗口是一個優(yōu)雅的...
    SKYUI閱讀 918評論 1 3
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,077評論 25 707
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協(xié)議骤竹。它實...
    香橙柚子閱讀 23,848評論 8 183
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件往毡、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,094評論 4 62
  • 小凜下午沒睡覺瘤载,晚上八點我就讓他上床了,跟他說今天自己睡卖擅,我相信他很快就能睡著,然后親了親他墨技,跟他說了晚安惩阶,打開故...
    Piyogaga閱讀 177評論 0 1