雖然已經(jīng)是個(gè)很古老的議題了,不過(guò)感覺(jué)依然有很多站長(zhǎng)朋友在做網(wǎng)站的時(shí)候并不是非常注意這種細(xì)節(jié),使用target=_blank并非更對(duì)錯(cuò)誤,不過(guò)為了提高網(wǎng)站的可訪問(wèn)性,應(yīng)該分場(chǎng)景探討如何減少新開(kāi)窗口。
拋開(kāi)某些不合邏輯意圖不論,為什么大量使用彈出頁(yè)面?因?yàn)樵O(shè)計(jì)師擔(dān)心用戶迷失方向。為什么用戶會(huì)迷失方向?因?yàn)閷?dǎo)航系統(tǒng)不夠好。為什么導(dǎo)航系統(tǒng)不夠好?因?yàn)楫a(chǎn)品功能太多太亂。為什么功能太多太亂?因?yàn)樾枨鬀](méi)控制好。為什么需求沒(méi)控制好?因?yàn)樘嵝枨蟮娜俗约阂矝](méi)想清楚。
說(shuō)白了,很多場(chǎng)合都不**是設(shè)計(jì)師的問(wèn)題,因此只能選擇不斷妥協(xié)用劣質(zhì)方案堆砌豆腐渣結(jié)構(gòu)體系??旃?jié)奏中有些事情沒(méi)法避免很正常,但設(shè)計(jì)師應(yīng)該盡責(zé)做到迭代式的全局統(tǒng)籌重構(gòu)。
應(yīng)該強(qiáng)制target=_blank
1.文件下載鏈接
2.文件打印鏈接
3.非主線任務(wù)并打斷進(jìn)程的鏈接
以上參考淘寶的老包同學(xué)在08年總結(jié)符合國(guó)情的鏈接新窗口打開(kāi)中的應(yīng)用場(chǎng)景。下載各種文件、打印各種文檔,需要前后對(duì)比的幫助,注冊(cè)表單的隱私條款都有必要target=_blank。
能夠定論target=_blank必然提升用戶體驗(yàn)的場(chǎng)景很少,并且個(gè)人認(rèn)為隨著客戶端技術(shù)的發(fā)展,會(huì)被逐步取代。比如lightbox這個(gè)ajax應(yīng)用,給設(shè)計(jì)師帶來(lái)了“查看大圖不用再新開(kāi)窗口”的全新設(shè)計(jì)理念,這在以前是不可想象的。
可選擇target=_blank
1.跨域名鏈接
2.跨應(yīng)用平臺(tái)鏈接
3.布局改變鏈接
主域名更換比如友情鏈接、網(wǎng)志內(nèi)嵌的關(guān)鍵詞外部鏈接等,而跨應(yīng)用平臺(tái)的鏈接通常也得更換二級(jí)域名。如果全部不新開(kāi)窗口,為了避免意外跳出,應(yīng)該先提醒用戶這是外部鏈接;如果部分新開(kāi)窗口,那么應(yīng)該有統(tǒng)一規(guī)則進(jìn)行約束,并明確告知將opens new window。見(jiàn)過(guò)三類案例:
msdn例子,icon告知用戶這是站外鏈接。
gblog例子,icon告知用戶這是站外鏈接,同時(shí)可以點(diǎn)擊target=_blank。
egloos(韓國(guó))例子,觸發(fā)時(shí)才icon告知用戶這是站外鏈接,也可以點(diǎn)擊target=_blank。
來(lái)自sitepoint的Neil Turner文章補(bǔ)充了三種形式,大同小異。值得一提的是,有個(gè)使用title提示open in new window的案例,其實(shí)也符合使用Title提升可訪問(wèn)性中提到“操作指引”的應(yīng)用。
版面改變?nèi)缌斜眄?yè)與內(nèi)容頁(yè)的區(qū)別,用戶需要在內(nèi)容頁(yè)長(zhǎng)時(shí)間閱讀,每次都返回列表進(jìn)入其實(shí)更不方便。更典型是Google大概在06年初做出的改進(jìn),給搜索結(jié)果列表鏈接默認(rèn)target=_blank,這個(gè)例子幾乎同時(shí)滿足以上三個(gè)條件,并且提供默認(rèn)設(shè)置自定義改回去,**保險(xiǎn)。
不能強(qiáng)制target=_blank
1.導(dǎo)航鏈接
2.tab條目鏈接
3.返回操作鏈接
4.翻頁(yè)鏈接
5.表單
特殊的網(wǎng)站地圖、索引表也屬于導(dǎo)航,都應(yīng)該給用戶更大的控制可能。不管全局導(dǎo)航、局部導(dǎo)航、輔助導(dǎo)航、上下文導(dǎo)航,還是友好導(dǎo)航,都建議杜更target=_blank。比如wordpress程序的sidebar容器內(nèi),幾乎所有站內(nèi)鏈接都是導(dǎo)航,target=_blank會(huì)嚴(yán)重影響可訪問(wèn)性的流暢感。
tab是很常見(jiàn)的頁(yè)面內(nèi)容組織形式,但不管直接隱藏顯示、異步加載顯示,還是類似導(dǎo)航的跳轉(zhuǎn),都不建議target=_blank,因?yàn)榇藭r(shí)用戶更加期望模塊內(nèi)的變化,或者在當(dāng)前窗口載入新頁(yè)。
另外,導(dǎo)航鏈接與返回操作鏈接有部分重合,比如面包屑導(dǎo)航,分級(jí)往回點(diǎn)其實(shí)就是返回操作。在任何頁(yè)面進(jìn)行返回操作都代表當(dāng)前頁(yè)面已經(jīng)不需要了,因此不能新開(kāi)窗口。這個(gè)返回包括點(diǎn)擊logo返回首頁(yè),同時(shí)也是能碰到的典型錯(cuò)誤之一。
表單的場(chǎng)景比較寬泛,比如注冊(cè)、登錄、搜索都應(yīng)該杜更target=_blank。大量字段的數(shù)據(jù)表單提交有條很重要的可用性規(guī)范,點(diǎn)擊返回應(yīng)該能保留數(shù)據(jù),這點(diǎn)wordpress后臺(tái)錄入很出色。
總結(jié)
基本可以廣義概括為只要影響訪問(wèn)、操作流暢度的鏈接,都不建議target=_blank。其實(shí)不管什么規(guī)則,只要沒(méi)有清晰邏輯傳達(dá)給用戶,都會(huì)造成意外。只不過(guò)設(shè)計(jì)難點(diǎn)在于,無(wú)法準(zhǔn)確判斷這個(gè)意外是否在用戶所期待的可接受范圍之內(nèi)。
既然用戶所期待是否需要target=_blank的場(chǎng)景不好判斷,但是應(yīng)該強(qiáng)制、不能強(qiáng)制這兩類常見(jiàn)錯(cuò)誤場(chǎng)景相對(duì)容易達(dá)成共識(shí),因此個(gè)人認(rèn)為還是容易找到解決問(wèn)題的思路。簡(jiǎn)單例子不再贅述,有機(jī)會(huì)另補(bǔ)充。
網(wǎng)頁(yè)設(shè)計(jì)時(shí)超級(jí)鏈接target=_blank的使用,謝謝閱讀。