阅读更多

5顶
0踩

Web前端

转载新闻 W3C 验证的是是非非

2010-06-11 10:18 by 副主编 just_cool 评论(4) 有3619人浏览

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 网站内容管理系统 官方网站

来自: comsharp
5
0
评论 共 4 条 请登录后发表评论
4 楼 snail5 2010-06-12 23:22
验证是你给学习用的,而不是让你给网站挂个图标的。如果你遵循W3C去写HTML或是CSS,你会少碰到很多莫名其妙的兼容性问题
3 楼 caiceclb 2010-06-12 09:02
很无奈,火狐、谷歌浏览器能够用私有属性实现标准属性的样式,但是他们却不愿意把私有属性就改为标准属性支持。。。
2 楼 caiceclb 2010-06-12 09:00
LSQ6063 写道
W3C很折腾!什么都标准,却什么都无法标准!
,W3C有能力制定标准却无能力让各个浏览器生产商履行标准。

W3C的HTML验证可以帮助你去寻找一些标签的bug
1 楼 LSQ6063 2010-06-11 11:09
W3C很折腾!什么都标准,却什么都无法标准!

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 使用popupwindow的坑(不显示)

    很多时候你可能会遇到popupwindow不显示或是一部分手机能显示一些不能显示的情况,那恭喜你看到了这篇文章。 最开始我创建popupwindow的方式 代码如下 //肉眼看上去没什么问题,果然拿出我的小米note跑起来也是正常的,但是偏偏来个三星和魅族的一些手机就显示不了 View view = LayoutInflater.from(this).inflate(R.

  • 日历的使用

     calendar.js日历的JS原码function GetDateWin(ctrlobj){ var winPopupWindow = new Object();  N = (document.all) ? 0 : 1; if(N) {     showx = 220 ; // + deltaX;     showy = 220; // + deltaY; }else {     show

  • windows.opener

    window.opener.location.reload();这个方法在强迫父窗口的时候,在有些IE浏览器(比如安全设置高)的情况下,会弹出一个确认对话框,提示是不是要重新再刷新一次页面,这可是比较郁闷的事情哦,我后来把这个方法替换成了window.opener.location.href=window.opener.location.href; 就不会出现那样的问题了。 ...

  • 弹出窗 的几种 PopupWindow

    转载 首先我们先达成一个共识:Dialog、PopUpWindow、Toast等都属于子窗口,子窗口必须依附在父窗口上。 1.toast 没有任何交互的 提示窗  它永远不会获得焦点,无法被点击, 2.dialog    https://blog.csdn.net/eclothy/article/details/39340657 dialog没法设置宽为整个屏幕宽, 总是有点边界, ...

  • Mozilla的架构(收集)

    o XBL 这种称为扩展绑定语言(Extensible Binding Language)的东东也是mozilla的一大特色,现在已经被W3C作为标准了。作为程序员,我们都知道公共函数库的重要性,公共函数库可以反复重用,从而提高开发效率。在开发...

  • QCon北京2011大会精彩回顾和总结

    从W3C成员的角度介绍了HTML 5的过去、现在和未来;淘宝前端工程师 李晶 分享了淘宝实际应用HTML 5技术的宝贵经验;MagnetJoy Games的CTO 杜欢 从网游的角度分析了HTML 5的优势;来自盛大创新院的 贺师俊 讲述了...

  • 基于 Mozilla 的扩展开发

    虽然以上的许多技术都是由 W3C 这样的互联网组织提出的,但 Mozilla 却用它们来做桌面开发。因为,这些扩展确切来说全都是程序,是一种面向桌面应用的程序,而不是网页一类的东西。 有了以上的这个观点,就不难...

  • 基于 Mozilla 的扩展开发(转)

    都 是由 W3C 这样的互联网组织提出的,但 Mozilla 却用它们来做桌面开发。因为,这些扩展确切来说全都是程序,是一种面向桌面应用的程序,而不是网页一类的东西。 有了以上的这个观点,就不 难解释它们所负责...

  • 网站数据统计分析之二:前端日志采集是与非

    在上一篇《网站数据统计分析之一:日志收集原理及其实现》中,咱们详细的介绍了整个日志采集的原理与流程。但是不是这样在真实的业务环境中就万事大吉了...带着这些疑问今天咱们就来聊聊前端日志采集中的这些是是非非。

  • 基于springboot大学生就业信息管理系统源码数据库文档.zip

    基于springboot大学生就业信息管理系统源码数据库文档.zip

  • 基于java的驾校收支管理可视化平台的开题报告.docx

    基于java的驾校收支管理可视化平台的开题报告

  • 原木5秒数据20241120.7z

    时间序列 原木 间隔5秒钟 20241120

  • 毕业设计&课设_基于 Vue 的电影在线预订与管理系统:后台 Java(SSM)代码,为毕业设计项目.zip

    毕业设计&课设_基于 Vue 的电影在线预订与管理系统:后台 Java(SSM)代码,为毕业设计项目.zip

  • 基于springboot课件通中小学教学课件共享平台源码数据库文档.zip

    基于springboot课件通中小学教学课件共享平台源码数据库文档.zip

  • 基于java的网上购物商城的开题报告.docx

    基于java的网上购物商城的开题报告

  • delphi 12 控件之Delphi人脸检测与识别Demo1fdef-main.zip

    Delphi人脸检测与识别Demo1fdef-main.zip

  • 基于java的咖啡在线销售系统的开题报告.docx

    基于java的咖啡在线销售系统的开题报告

  • 基于java的自助医疗服务系统的开题报告.docx

    基于java的自助医疗服务系统的开题报告.docx

  • Visual Basic编程入门与高级应用详解

    内容概要:本文档全面介绍了Visual Basic(VB)编程语言的基础知识和高级应用。首先概述了VB的基本特性和开发环境,随后详细讲述了VB的数据类型、变量、运算符、控制结构、数组、过程与函数、变量作用域等内容。接着介绍了窗体设计、控件使用、菜单与工具栏的设计,文件操作、数据库访问等关键知识点。最后讨论了VB的学习方法、发展历史及其在桌面应用、Web应用、数据库应用、游戏开发和自动化脚本编写等领域的广泛应用前景。 适合人群:初学者和中级程序员,尤其是希望快速掌握Windows桌面应用开发的人群。 使用场景及目标:①掌握VB的基础语法和开发环境;②学会使用VB创建复杂的用户界面和功能完整的应用程序;③理解数据库操作、文件管理和网络编程等高级主题。 其他说明:Visual Basic是一种简单易学且功能强大的编程语言,尤其适合用于开发Windows桌面应用。文中不仅覆盖了基础知识,还包括了大量的实用案例和技术细节,帮助读者快速提升编程技能。

Global site tag (gtag.js) - Google Analytics