前段時間我們部門的粉絲和布林同學都寫過關于這個問題的文章。剛好閱讀了關于這個問題的其他爭論文章。所以順便在這補充幾點。
首先說明這里討論的是在網頁是否要用“target=_blank”強制打開新窗口
這是老問題
確實可以肯定這在中國大陸是個老問題。只有在中國大陸的網頁才會出現這么多”target=_blank”的代碼;
為什么稱只在中國大陸呢。以yahoo為例。無論是yahoo.com\ca.yahoo.com(雅虎加拿大\in.yahoo.com(雅虎印度)\yahoo.co.jp\還是在雅虎香港和臺灣。都是極少極少用”target=_blank”語法的。
在國內不知道從什么時候開始由門戶帶頭普及用新開窗口,大家現在可以看到yahoo.cn和其他yahoo family都不一樣。是跟隨大流來決定是否用”target=_blank”語法。相信這段語法在很多網站都普及得很廣@.因為連google.cn都迫于用戶本土化習慣而改變了搜索頁面的打開方式.(google.com默認還是沿用當前窗口打開)
到底要不要開?
本來是個簡單的問題。現在變得很難了。
我們部門的三七同學在2005年6月7日發表在他自己blog的一篇文章《target=_blank不符合標準?》說到。
開始引用/ 我們要在新窗口中打開鏈接通常的做法是在鏈接后面加target=”_blank”,我們采用過渡型的DOCTYPE(xhtml1-transitional. dtd)時沒有問題,但是當我們使用嚴格的DOCTYPE(xhtml1-strict.dtd)時,這個方法將通不過W3C的校驗,會出現如下錯誤提示:”there is no attribute target for this element(in this HTML version)”原來在HTML4.01/XHTML1.0/XHTML1.1嚴格DOCTYPE下,target=”_blank”、target=”_self”等等語法都是無效的, /結束引用。。
也就是說這個語法是只符合過渡性的文檔類型聲明的。不符合嚴格文檔類型聲明的。國外的大牛Mark Pilgrim在 2002年寫的《Dive Into Accessibility-30 days to a more accessible web site》一書中專門說到這個問題–《Not opening new windows》. 他在這篇文章中提到:幾乎所有的瀏覽者會用系統自帶的“后退或者叫發揮上一頁”按鈕。
如果你用”target=_blank”語法。將會使這個按鈕無用武之地。 最重要的一個觀點是*/The point is that the choice of whether a link will open in a new window should be the end user’s choice, not the web designer’s choice.是否用新窗口打開應該交給用戶自己選擇。而不是由網站設計師主觀判斷代為選擇”
對特殊人群瀏覽不友好。如果你用了新開窗口這個語法。 將會造成“盲人、視弱、認知障礙患者”這一類的用戶無法瀏覽。比如盲人用“Window Eyes”時無法識別(Window Eyes為國外一款知名的讀屏軟件,說實話我們對這類特殊群體用戶幾乎是忽略的。這也可能是新開窗口泛濫的最大原因。)文章最后帶的延伸閱讀中有一條W3C Validator mailing list的 回復“Re: Opening a link in a new window...”中提到<a>標簽中target屬性是不建議使用的。
潛在的風險 前面三七同學也提到會通不過w3c校驗 ,確實是這樣是。該語法將通不過HTML 4.01 Strict, XHTML 1.0 Strict或者任何未來版本的校驗。也就是將來你要使用”target”屬性。。只能用XHTML 1.0 transitional。
我們怎么辦 現在來說。如果你覺得未來還早可以隨大流自定義新不新開窗口。如果不。就像國外絕大部分網站那樣做。國內已經有網站這么做了,比如豆x網(免被說槍手就不說具體名字了。)。一直想問他們的決策者。為什么大家都從了。。他們就不從呢?
如果回到最初確實是很簡單的問題。現在這個語法用濫了。已經形成用戶習慣了。要改也不是一天兩天的事情。只是隨著大家對無障礙瀏覽的越來越重視以及新標準的普及還有等網站決策者下決心再次改變用戶的習慣的時候。還是會越來越少用target屬性的。這一天總是要到來的。。。 除非我們一直想做有中國特色的 網站 by mutou@koubeiUED
|
留言列表