W3C 验证的是是非非

简介:

 

W3C 验证让很多 Web 设计与开发者感到纠结,在自己的网页上放置一个验证按钮,点击以后,当看到 W3C 为你给出的全部是绿色对勾的时候,满足感油然而生,然而对这种机器验证的过度依赖往往带来另外的问题,本文讲述的是 W3C 验证中的一些是与非。

W3C Web 验证的现状

必须明白,所有有生命的东西必须在机械与常识之间取得平衡,虽然 Web 标准如今被奉为圭皋,然而那些用来对你的代码进行验证的工具并不代表最好的判断。下面的代码或许通不过验证,但在没有更好的替代方法之前是可以接受的。

Current Practices

 

那些不遵守代码验证的站点

我们可以对 Alexa 排名前 100 的站点进行 W3C 验证测试,会发现,大量的站点根本通不过验证,Amazon 的首页包含了大量的验证错误和警告,当然并不能说明 Amazon 存在什么严重的问题,不过,压根不关心验证和过于依赖验证都不可取。

Amazon's front page doesn't validate, but it doesn't mean they  don't care.

盲从验证规则

那些过分依赖验证的情形也值得我们担忧,很多人对验证形成了药物般的依赖,常常是为验证而验证,为了通过验证,他们不惜使用各种奇巧淫技。如果你对验证非常纠结,会很熟悉下面这些自动验证工具。

There are a lot of tools out there, but you should be wary about  which you rely upon.

语境为王

对验证而言,很多人经常忽视的一个问题是语境,验证工具是机器,而非人,机器永远无法取代人的判断。下面这个站点的设计,机器的评价会怎么样?它完全判断不了,机器看到的只是代码。

What does this design say to a machine? Nothing! It only sees the  code and that's it.

人能做出决断而机器不能

目前的技术,机器智能离真正的智能还有很远的距离,机器并不能理解语境和语义,将来也许能,但现在不能。

There may be a time where machines are as smart as humans, but  that's not today.

代码验证的问题

当前,最著名的代码验证包括 W3C 的 HTML 及 CSS 验证。很多网站会放置一个 HTML 和 CSS 验证按钮,表示自己的站点通过了验证,然而,通过了验证并不意味着你设计的东西是完美的。

Proclaiming the validity of your code doesn't mean what you've  produced is perfect.

无法顾及未来标准

如果你在设计中使用了未来的 Web 标准,如 CSS3,将无法通过验证,而现在非常有效的一种设计方式是,针对未来的标准使用渐进式设计,这种设计模式将很难通过验证。

为验证而验证

Nothing says:

为了取悦验证工具,一些设计师不得不对那些非 W3C 标准,然而却被普遍认可的对象或属性下手,最终,人们的设计是为机器,而不是用户设计。事实上,在你的网站上放一个或几个验证按钮,对用户来说,有什么意义?很多用户并不知道什么事 HTML,什么是 CSS,他们对你是否通过了什么验证毫无兴趣。

可访问性验证

Cynthia 一类的 Web 可访问性验证工具只能验证它们所能认识的东西,也就是代码,而这对真正的可访问性验证远远不够。

Cynthia

可访问性与易用性测试只能通过人来进行

可访问性与易用性是非常主观的东西,那些基于代码验证的测试工具往往并不能发现真正的问题,需要真正的用户告诉你他们是否可以无障碍的,轻松地访问你的站点。下面的站点可以通过可访问性验证,但...

Do you speak Latin? No? This content would pass as accessible,  readable and valid!

验证工具就像机器翻译

现在最常用的机器翻译工具,如 Google Translate 以及 Babel fish 可以证明,没有什么东西比人更聪明,人类的语言不仅仅是一堆单词的堆砌,更要靠语境,而机器是无法理解语境的。验证工具和机器翻译是一个道理。

Google Translate is popular amongst websites for giving

用翻译实验看看机器翻译的能力

你可以找一段话,复制到 Google Translate, 先翻成别的语言,再从别的语言翻译回来,如此三番几次,就会知道机器翻译的局限。

See how the same sentence has been wrongly translated? It's not  uncommon!

结语

关于 W3C 代码验证,一个事实就是,验证本身并不能保证你的站点在语义,可访问性,易用性,乃至用户体验上的的完美,通过这些验证工具,发现你代码中的错误和问题是应该的,但过分追求验证的结果,为验证而验证时不可取的。

 

 

出自:W3C 验证的是是非非

目录
相关文章
|
2月前
|
数据采集 存储 安全
数据功能验证
数据功能验证
39 4
|
3月前
|
SQL 测试技术 数据安全/隐私保护
密码组件校验规则该如何测试?
密码组件校验规则该如何测试?
|
6月前
|
分布式计算 安全 Java
有哪些方法可以验证kerberos keytab文件的有效性?
有哪些方法可以验证kerberos keytab文件的有效性?
|
6月前
|
网络协议 算法 前端开发
记一次测试中对请求验证的处理
记一次测试中对请求验证的处理
|
10月前
|
安全 网络安全 数据库
居民身份证查询验证
居民在日常生活中可能会面临各种各样的查询和验证问题。例如,查询自己的信用记录、验证某个网站的安全性、查询车辆是否被盗抢、验证医院的牌照等等。这些问题如果处理不当,可能会给居民带来很多麻烦和损失。本文将介绍一些常见的查询和验证方式以及注意事项,以帮助居民更好地应对这些问题。
083.验证歌德巴赫猜想
083.验证歌德巴赫猜想
62 0
|
Java 数据安全/隐私保护 开发者
手动验证 | 学习笔记
快速学习手动验证,介绍了手动验证系统机制, 以及在实际应用过程中如何使用。
92 0
手动验证 | 学习笔记
|
数据安全/隐私保护 Windows 安全
如何验证公钥正确性测试步骤
说明:     我们使用支付宝生成签名工具或opensll生成一对密钥。首先可以确认这一对密钥是肯定匹配的。     以RSA2公钥验证为例,RSA和正式环境验证方式相同 操作步骤:    1.登录沙箱管理中心:[url]https://openhome.
1381 0

热门文章

最新文章