页面新开窗口的一点补充
作者:木头 来源:口碑网UED Team 发布时间:2008-09-10 12:57:00
前段时间我们部门的粉丝和布林同学都写过关于这个问题的文章。刚好阅读了关于这个问题的其他争论文章。所以顺便在这补充几点。
首先说明这里讨论的是在网页是否要用“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校验 ,确实是这样是。该语法将通不过4.01 Strict,1.0 Strict或者任何未来版本的校验。也就是将来你要使用”target”属性。。只能用XHTML 1.0 transitional。
我们怎么办
现在来说。如果你觉得未来还早可以随大流自定义新不新开窗口。如果不。就像国外绝大部分网站那样做。国内已经有网站这么做了,比如豆x网(免被说 * 就不说具体名字了。)。一直想问他们的决策者。为什么大家都从了。。他们就不从呢?
如果回到最初确实是很简单的问题。现在这个语法用滥了。已经形成用户习惯了。要改也不是一天两天的事情。只是随着大家对无障碍浏览的越来越重视以及新标准的普及还有等网站决策者下决心再次改变用户的习惯的时候。还是会越来越少用target属性的。这一天总是要到来的。。。 除非我们一直想做有中国特色的 网站
猜你喜欢
- 一、错误案例package mainimport ("fmt""time")var TestMap
- 【原文地址】My "First Look at Orcas" Presentation 【原文发表日期】 Th
- 自己写的用js读取配置文件的程序 D:\Useful Stuff\Javascript\mytest.txt 文件内容如下 [plugin_
- 大家好,之前我们使用 WechatPCAPI 做了获取微信好友信息以及查看撤回消息,本文我们再使用 WechatPCAPI 来实现微信自动回
- python将a.txt的内容复制到b.txt 中# 1. 用r方式打开a.txtf = open("a.txt",&q
- logging模块logging模块用于输出运行日志,可以设置不同的日志等级,保存信息到日志文件中等。 相比print,logging可以设
- Stickyworld 的网页应用已经支持视频拨放一段时间,但都是通过YouTube的嵌入模式实现。我们开始提供新的版本支持视频操作,可以让
- 一,如何检测和转换接口变量的类型在Go语言的interface中可以是任何类型,所以Go给出了类型断言来判断某一时刻接口中所含有的类型,例如
- 1.计算变量缺失率df=pd.read_csv('titanic_train.csv')def missing_cal(df
- 具体错误:UnicodeEncodeError: 'latin-1' codec can't encode char
- 前言:首先,笔者不是web安全的专家,所以这不是web安全方面专家级文章,而是学习笔记、细心总结文章,里面有些是我们phper不易发现或者说
- 在Python中,数据存储方式分为同步存储和异步存储。同步写入速度比较慢,而爬虫速度比较快,有可能导致数据保存不完整,一部分数据没有入库。而
- pt-kill 是一个优秀的kill MySQL连接的一个工具,是percona toolkit的一部分,在因为空闲连接较多导致超过最大连接
- 要理解select.select模块其实主要就是要理解它的参数, 以及其三个返回值。select()方法接收并监控3个通信列表, 第一个是所
- ACCESS有个BUG,那就是在使用 like 搜索时如果遇到日文就会出现“内存溢出”的问题,提示“80040e14/内
- 目录1.获取所有顶层窗口2.手动选择需要设置老板键的程序3.隐藏或显示选中程序4.设置显示隐藏快捷键5.最终效果主要实现目标:为多个指定的程
- pLSA(probabilistic Latent Semantic Analysis),概率潜在语义分析模型,是1999年Hoffman提
- [PHP] ; PHP还是一个不断发展的工具,其功能还在不断地删减 ; 而php.ini的设置更改可以反映出相当的变化,
- numpy.where (condition[, x, y])numpy.where() 有两种用法:1. np.where(conditi
- strftime()函数的用法strftime()函数可以把YYYY-MM-DD HH:MM:SS格式的日期字符串转换成其它形式的字符串。s