为什么淘宝的网页通不过W3C验证?
淘宝网站 www.taobao.com 首页通不过W3C验证,1001个错误
使用Opera浏览器打开 http://www.taobao.com/
鼠标按右键,选择“校验”,你就会看到下面的信息:
http://validator.w3.org/check# 写道
Errors found while checking this document as HTML5!
Result: 1001 Errors, 2 warning(s)
淘宝手机站点 m.taobao.com 通不过W3C验证
http://validator.w3.org/check# 写道
Errors found while checking this document as XHTML Mobile Profile 1.0!
Result: 57 Errors
网页到底要不要通过W3C验证?各有各的道理
http://homepage.yesky.com/150/11372650.shtml 国外网站对于网页W3C验证的思考与讨论 写道
W3C 验证让很多 Web 设计与开发者感到纠结,在自己的网页上放置一个验证按钮,点击以后,当看到 W3C 为你给出的全部是绿色对勾的时候,满足感油然而生,然而对这种机器验证的过度依赖往往带来另外的问题,本文作者Alexander Dawson文对W3C 验证做了一些讨论和思考,供大家参考。
W3C Web 验证的现状
必须明白,所有有生命的东西必须在机械与常识之间取得平衡,虽然 Web 标准如今被奉为圭皋,然而那些用来对你的代码进行验证的工具并不代表最好的判断。下面的代码或许通不过验证,但在没有更好的替代方法之前是可以接受的。
那些不遵守代码验证的站点
我们可以对 Alexa 排名前 100 的站点进行 W3C 验证测试,会发现,大量的站点根本通不过验证,Amazon 的首页包含了大量的验证错误和警告,当然并不能说明 Amazon 存在什么严重的问题,不过,压根不关心验证和过于依赖验证都不可取。
盲从验证规则
那些过分依赖验证的情形也值得我们担忧,很多人对验证形成了药物般的依赖,常常是为验证而验证,为了通过验证,他们不惜使用各种奇巧淫技。如果你对验证非常纠结,会很熟悉下面这些自动验证工具。
语境为王
对验证而言,很多人经常忽视的一个问题是语境,验证工具是机器,而非人,机器永远无法取代人的判断。下面这个站点的设计,机器的评价会怎么样?它完全判断不了,机器看到的只是代码。
人能做出决断而机器不能
目前的技术,机器智能离真正的智能还有很远的距离,机器并不能理解语境和语义,将来也许能,但现在不能。
代码验证的问题
当前,最著名的代码验证包括 W3C 的 HTML 及 CSS 验证。很多网站会放置一个 HTML 和 CSS 验证按钮,表示自己的站点通过了验证,然而,通过了验证并不意味着你设计的东西是完美的。
无法顾及未来标准
如果你在设计中使用了未来的 Web 标准,如 CSS3,将无法通过验证,而现在非常有效的一种设计方式是,针对未来的标准使用渐进式设计,这种设计模式将很难通过验证。
为验证而验证
为了取悦验证工具,一些设计师不得不对那些非 W3C 标准,然而却被普遍认可的对象或属性下手,最终,人们的设计是为机器,而不是用户设计。事实上,在你的网站上放一个或几个验证按钮,对用户来说,有什么意义?很多用户并不知道什么事 HTML,什么是 CSS,他们对你是否通过了什么验证毫无兴趣。
可访问性验证
Cynthia 一类的 Web 可访问性验证工具只能验证它们所能认识的东西,也就是代码,而这对真正的可访问性验证远远不够。
可访问性与易用性测试只能通过人来进行
可访问性与易用性是非常主观的东西,那些基于代码验证的测试工具往往并不能发现真正的问题,需要真正的用户告诉你他们是否可以无障碍的,轻松地访问你的站点。下面的站点可以通过可访问性验证,但...
验证工具就像机器翻译
现在最常用的机器翻译工具,如 Google Translate 以及 Babel fish 可以证明,没有什么东西比人更聪明,人类的语言不仅仅是一堆单词的堆砌,更要靠语境,而机器是无法理解语境的。验证工具和机器翻译是一个道理。
用翻译实验看看机器翻译的能力
你可以找一段话,复制到 Google Translate, 先翻成别的语言,再从别的语言翻译回来,如此三番几次,就会知道机器翻译的局限。
结语
关于 W3C 代码验证,一个事实就是,验证本身并不能保证你的站点在语义,可访问性,易用性,乃至用户体验上的的完美,通过这些验证工具,发现你代码中的错误和问题是应该的,但过分追求验证的结果,为验证而验证时不可取的。
http://www.silandn.com/List.asp?ID=783 网站通不过W3C验证的十个原因 写道
w3c验证并不是要求你的网站一定要通过,但是它能告诉你你的网站HTML标记语言中的错误。验证器中指出的错误和警告是提示你的XHTML代码还 不够完美的重要信号,虽然在不同的浏览器中会看起来并不太一致。
http://uicss.cn/seo-w3c/ 网站SEO优化,是否需要考虑W3C验证? 写道
关于 W3C验证 对网站SEO的影响,有两种很极端的说法,一种是“别人都错着,我也错着呗” ,另一种是 符合W3C标准的网页=50%的SEO工作
那“别人的网站都不符合W3C标准,我也不符合呗”?
错!
我不知道你的优势在哪里。你象 信息产业部 一样,有141342249个外部链接?
你坚持每天更新发布原创文章?
你有一个历史悠久、质量上乘的好域名?
什么都没有,还跟163比,“它的Errors 492, warnings 674”
拜托,亲爱的客户,你要有163那么庞大的用户群,挂个白纸上去都有千万次点击。
老老实实的去写标准化的语言,老老实实的去给img加alt属性,能做一点优化就做一点优化。不要这里放过一点,那里放过一点,积攒起来,你放过的是整个搜索引擎。
个人对W3C验证的想法
1. 尽可能符合W3C标准。比如写的 xhtml 文档符合一些规定:你至少得保证标签正确的嵌套、正确的关闭等等。不然为什么还要标准呢?
2. 不要为了验证而验证。在具体实现一个网页时,有些地方不一定能通过验证,比如有时候为了方便实现某个功能增加了自定义的属性,就会通不过验证。
3. 对网页,特别是服务端生成动态网页进行W3C验证,可以找出很多编程问题来,比如标签不匹配等。对于网页排错,W3C验证也是一个很好的工具。
4. 网站开发的主要目标还是给使用者带来价值,用户体验应该为使用价值服务,W3C验证只是辅助(通过了也并不能保证好的用户体验)。
5. 至于淘宝的网页为什么也通不过W3C验证:或许是它们太忙吧
分享到:
相关推荐
- **validate**: 设置为`true`表示启用验证功能,默认即为`true`,因此在实际应用中常常省略。 - **input**: 当验证失败时,用户将被重定向回此页面。在这个例子中,如果验证失败,则会返回到`/index.jsp`。 - **...
learning representations by back-propagating errors
### CI 表单验证知识点详解 #### 一、CI框架简介 CodeIgniter(简称CI)是一款使用PHP语言编写的轻量级Web开发框架。它旨在简化PHP开发过程中的复杂性,提供了一系列实用的类库,如数据库访问、模板引擎等,并通过...
libevent是2.1.8版本里面的test文件夹缺少print-winsock-errors.c,使得编译会出错
例如,使用`<c:if>`标签进行条件判断,`<c:out>`显示数据,`<c:catch>`捕获异常,以及使用`<form:errors>`显示验证错误信息。 四、“常用验证总结.txt”中的要点 1. 基本输入类型验证:如文本、密码、电子邮件等,...
然后,在C代码中,你需要加载客户端的证书和私钥,创建SSL上下文,设置验证选项,并连接到服务器。以下是一个简单的示例: ```c #include #include int main() { SSL_library_init(); SSL_CTX *ctx = SSL_CTX_...
cfg_errors.gocfg_errors.gocfg_errors.gocfg_errors.gocfg_errors.gocfg_errors.gocfg_errors.gocfg_errors.gocfg_errors.gocfg_errors.go
CSS验证器 通过验证CSS 创建它是为了验证测试套件内部CSS。 入门 使用以下命令安装模块: npm install css-validator var validateCss = require ( 'css-validator' ) ; var assert = require ( 'assert' ) ; ...
Ajax允许我们在后台与服务器交换数据并局部更新页面,而无需重新加载整个网页。在表单验证中,这意味着用户提交数据时,我们可以在后台检查这些数据的有效性,然后立即向用户显示反馈,无需等待整个页面刷新。 ...
在Spring框架中,验证是确保数据输入正确性和完整性的关键环节。本文将深入探讨Spring的两种主要验证机制:基于注解的验证和基于Validator接口的验证,并结合JSR303 Bean Validation规范来理解这些机制如何协同工作...
标题和描述均提到了“Weblogic9异常解决nested errors”,这指向了在使用WebLogic Server 9版本时可能遇到的特定错误处理问题。WebLogic Server是Oracle公司提供的一款功能强大的应用服务器,它支持多种标准协议,如...
### CakePHP创建验证器 #### 一、简介 在Web应用开发中,数据验证是非常重要的环节之一,它能够确保用户提交的数据符合预期的格式和规则,从而提高应用程序的安全性和用户体验。CakePHP是一款非常流行的PHP框架,...
# all warnings being treated as errors ## 技巧 在ubuntu系统下编译一个程序包,有时会遇到这样的错误: $ make ... cc1: all warnings being treated as errors
1. **简单易用的API**:`modeljs-validator`通过简单的API接口与`modeljs`模型结合,开发者可以快速地为模型属性添加验证规则,如`validate('fieldName', rule)`, 其中`rule`可以是`async-validator`支持的各种验证...
在IT领域,特别是软件开发与部署中,“错误代码”(Errors Code)是常见的技术话题,它们对于诊断系统问题、理解程序运行状态具有至关重要的作用。本文将深入解析一个与Java Web应用开发相关的错误代码示例,该示例...
Ajv验证程序的JSON-Schema中的自定义错误消息 请注意 ajv-errors v3支持 。 如果您使用的是ajv v6,则应使用 内容 支持者,企业支持,安全联系人 执照 安装 npm install ajv-errors 用法 将关键字errorMessages...
Java后端验证框架是开发高效、安全Web应用的重要工具,其主要目的是确保用户提交的数据符合预设的业务规则,防止非法数据的注入,提高系统的稳定性和安全性。在本压缩包中,"SpringJdom"可能是指一个基于Spring的...
oracle8i_errors.chm
例如,如果需要添加一个验证邮箱地址是否有效的规则,只需在类中创建一个名为`is_valid_email`的方法,然后在方法内部实现相应的验证逻辑。 类中的基础实现可能包括了常见的验证规则,如检查字符串长度、验证数字...
"C-99-common-errors.zip" 包含了一个名为 "C 99个常见错误.pdf" 的文件,该文件详细阐述了99个C语言初学者可能会遇到的问题。以下是对这些常见错误的概述: 1. **语法错误**:这是最常见的错误类型,包括拼写错误...