`
saybody
  • 浏览: 903265 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

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 的 HTMLCSS 验证。很多网站会放置一个 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 代码验证,一个事实就是,验证本身并不能保证你的站点在语义,可访问性,易用性,乃至用户体验上的的完美,通过这些验证工具,发现你代码中的错误和问题是 应该的,但过分追求验证的结果,为验证而验证时不可取的。

本文国际来源:Six Revisions Problems with Using Website Validation Services (原文作者:Alexander Dawson )

中文编译来源:锐商企业CMS 网站内容管理系统 官方网站

分享到:
评论

相关推荐

    python之w3c滑块验证.zip

    代码仅供参考学习~代码仅供参考学习~代码仅供参考学习~代码仅供参考学习~代码仅供参考学习~w3c滑块验证W3C滑块验证是一种常见的网页安全机制,旨在防止自动化爬虫和恶意机器人。该验证要求用户通过拖动滑块来证明其...

    W3C中文文档.zip

    **W3C中文文档概述** W3C,全称为World Wide Web Consortium,是万维网联盟,一个负责制定互联网标准的国际组织。W3C制定的标准涵盖了网页制作、网络通信、数据交换等多个方面,旨在推动互联网的互操作性和可访问性...

    W3C代码标准规范

    ### W3C代码标准规范详解 ...利用W3C提供的在线验证工具定期检查网页的合规性,有助于及时发现并解决问题,确保网页始终处于最佳状态。对于开发者而言,熟悉并掌握W3C标准是提高自身技能的重要途径之一。

    w3c标准 html标准验证 xhtml标准验证 css标准验证

    在Web开发领域,遵循W3C标准对于创建高质量、可维护和跨浏览器兼容的网页至关重要。...可以使用W3C提供的验证工具,如W3C Markup Validation Service和CSS Validation Service,来检查和修复任何潜在问题。

    W3C标准 W3C代码标准规范

    ### W3C标准详解 #### 一、W3C标准的目的与重要性 W3C(World Wide Web Consortium,万维网联盟)是一国际性的组织,致力于制定互联网标准,确保Web技术的兼容性和互操作性。W3C标准的目的在于为Web开发提供一套...

    w3c常见的10个问题

    但是,W3C 验证程序不能识别非标准的独有字体,因此 embed 标签可能会导致验证失败。如果您想要使用嵌入式媒体,可以尝试使用 Flash Satay 方法。 3.不当的 DOCTYPE 声明 DOCTYPE 声明是 HTML 文档的头部标签,...

    w3c中文文档

    《W3C中文文档》是前端开发者不可或缺的资源库,它包含了丰富的Web标准规范和指南,帮助开发者理解和遵循W3C(World Wide Web Consortium)的标准,以创建兼容性好、可访问性强、性能优秀的网页应用。这个压缩包提供...

    w3school c语言教程 20141228

    《W3School C语言教程 20141228》是一份关于C语言学习的教程资料,由W3CSchool整理并在2014年12月28日发布。C语言是一种广泛应用的高级编程语言,起源于1972年,由丹尼斯·里奇在贝尔实验室为开发UNIX操作系统而设计...

    w3c文档中文版

    **W3C文档中文版详解** W3C(World Wide Web Consortium)是互联网标准化组织,致力于制定和维护网络技术的标准,以确保全球信息的互操作性和兼容性。这个压缩包包含的是W3C规范的中文版,对于前端开发者来说,是...

    w3c整站电子书

    W3C整站下载后保存为chm格式电子文档

    w3c-dom.jar 包

    w3c-dom.jar 包 dom解析xml使用 包 免积分下载

    JS 无法通过W3C验证的处理方法

    总之,解决JS无法通过W3C验证的问题,关键在于理解和遵循Web标准,合理组织代码结构,以及选择合适的代码引入方式。随着技术的发展,保持与时俱进,使用现代的前端开发工具和最佳实践,将有助于我们编写更高效、更...

    W3C 术语表和词典

    W3C 词汇与字典 - "W3C Glossary and Dictionary" 的中文译文。 原始版本:http://www.w3.org/2003/glossary/ 翻译:W3School 项目组 尊敬的读者朋友们请注意,这是关于 W3C 文章的网页翻译。 原文版权受法律...

    vscode-w3cvalidation:将W3C验证支持添加到Visual Studio Code

    VS Code W3C验证范围 通过库启用W3C验证支持的扩展。入门此扩展使用Java应用程序起作用。 您的本地环境中必须装有Java 8或更高版本。 如果您没有安装它们,请下载并安装最新的Java Development Kit(最低Java 8是...

    w3c参考手册

    **W3C参考手册概述** W3C,全称为World Wide Web Consortium,是全球互联网标准的主要制定者。这个组织致力于创建开放的Web标准,确保网络的互操作性和可访问性。W3C参考手册是前端开发者的重要参考资料,它涵盖了...

    w3c源码w3c源码

    《深入理解W3C与C++在Web开发中的应用》 W3C,全称World Wide Web Consortium(万维网联盟),是国际上制定互联网标准的重要组织。它为Web技术制定了许多规范,包括HTML、CSS、XML等,这些规范极大地推动了互联网的...

    W3C标准代码简介

    **W3C标准代码简介** **一、W3C标准的定义与意义** W3C,全称为万维网联盟(World Wide Web Consortium),是一个全球性的标准化组织,致力于制定和推广Web技术的标准,以确保不同平台、技术和开发者之间的兼容性...

    w3c school完全学习手册

    W3C School是一家专门提供Web技术在线教程的网站。网站中提供了大量全面的Web开发相关手册、实例。这里要提供给大家的就是由该网站内容整理的CHM手册——离线版的W3C School网站,方便大家在Web开发时使用。 该手册...

    c++网络传输的函数api(w3c的cpp和h头文件)

    W3C提供的cpp和h头文件为C++开发者提供了一种简单易用的接口,用于实现与网络服务器的上传和下载功能。在这个描述中,我们将深入探讨如何利用这些API以及它们在实际应用中的工作原理。 首先,`w3c.cpp`和`w3c.h`...

Global site tag (gtag.js) - Google Analytics