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