
How important is W3C XHTML/CSS validation when finalizing work?尽管这些天我一直在努力争取完全验证,但我经常想知道这是否是在浪费时间。如果代码运行并且在所有浏览器中看起来都一样(我使用 browsershots.org 进行验证),那么我是否需要更进一步,或者我只是过于肛门? 当您创建代码时,您将代码保存到什么级别: a) 你自己 附言杰夫和公司,为什么堆栈溢出不验证? :) 编辑:一些很好的见解,我认为由于我一直如此痴迷于有效,所以我编程知道什么会导致问题,什么不会,所以我比那些人处于更好的位置首先创建一个站点,然后"返回并修复验证问题" 我想我可能会发布另一个关于堆栈溢出的问题; "您是在进行时验证还是完成然后返回并验证?"因为这似乎是这个问题的去向 a) 必须看起来一样 b) 尽可能符合标准,但又不至于妨碍完成工作 在您可以永久访问代码的情况下,我认为标准合规性并不那么重要,因为如果出现问题,您可以随时更改代码。如果您没有永久访问权限(即,您在代码上签字并且它变成了其他人的责任),那么最好尽可能符合标准,以尽量减少以后的维护麻烦。 . 即使您再也不必处理代码,您的声誉仍然存在,并且可以传播给其他潜在客户,并且许多团队喜欢将出现的问题归咎于以前的开发人员。 我认为在这个领域,您应该尽可能地使用稳健性原则(这对于任何编码领域都是很好的建议)。仅仅因为今天有效并不意味着明天就会有效:如果您依赖于特定的 HTML/CSS hack,或者即使您只是在发出严格有效的代码方面有点松懈,那么下一次迭代浏览器很可能会崩溃。一旦以正确的方式进行操作可以最大限度地减少这个问题(尽管不能完全缓解它)。 不过,这里有一定的实用主义元素。我当然会尽我所能让客户的网站有效,但我愿意在自己的空间中承担更多风险。 我认为只有"技术"人才真正关心"100% 标准合规性"。我通常的页面消费者(= 用户)不关心"菜单边框图片元素"是否没有 alt 属性。 我通常只是确保我没有看到任何明显的错误(所有标签都关闭,所有小写,引号中的属性,...),但如果它在 IE 和 FF 上看起来不错,那就是我所关心的。我真的不在乎我是否在任何 HTML 标记中使用了非标准属性,这样页面就不会针对 DTD 进行验证 - 只要我获得了我想要获得的视觉结果。 要了解验证为何重要,需要了解浏览器在不同层的工作方式,以及从 Web 浏览器的angular了解 Web 的历史。 您提供给浏览器的 HTML 由浏览器按照 DOM 进行解释,DOM 是一个将整个页面映射为节点层次结构的应用程序编程接口。该树的每个部分都是一种包含不同类型数据的节点。 DOM(文档对象模型)是必要的,因为早期 Web 浏览器(Netscape、IE...)实现的 HTML 页面的多样性允许在不重新加载网页的情况下更改网页的外观和内容。为了保持 Web 的跨平台特性,W3C 想要修复这些浏览器的不同实现,提出了 DOM。 DOM 支持成为大多数 Web 浏览器 vendor的重中之重,并且一直在努力改进对每个版本的支持。所以,它奏效了。 DOM 是 Web 浏览器启动的最基本步骤。它的主要流程是: 第 1 步给出了内容树,标签转换为 DOM 节点。第 2 步给出了包含样式信息的渲染树。 那么,为什么验证很重要:因为内容树和渲染树是 Web 浏览器开始工作的基础。它们定义得越明确,对网络浏览器越好。 最终,DOM 也是 JavaScript 事件的基础。因此,它的验证也有助于交互层。 对我来说,如果我的代码通过验证,我觉得我做得很好。看到 w3c 页面上的绿色复选框让我有点头晕。至于 b 组,他们通常只关心它在浏览器中的外观和工作方式是否相同。他们唯一的地方我发现这不是真的是政府部门。它们不仅需要通过 w3c 进行完整验证,还需要通过 ADA 测试(基本上使用屏幕阅读器听起来如何)。 附言当我说政府部门时,我特指加利福尼亚state和其中的几个县。除了他们之外,我没有与其他政府团体打交道的经验。 我的方法往往是确保我可以在所有页面上完全验证,但是我仍然将页面作为 text/html 而不是 application/xhtml xml 发送,因此在我错过某些内容时不会出现丑陋的 XML 错误。 我知道这并不能回答您的全部问题,但值得考虑的是,通过使用完全有效的 html,您可以确保您的网站在未来尚未发布的网络浏览器中正常工作。 除了验证者本身如此积极的肛门外, 只需尝试验证 WordPress 的 211 style.css,它会抛出 140 个奇怪的错误,这些错误都是上述性质,或者验证器正在从解析错误中恢复 如果你不能把小麦从谷壳中分拣出来,验证器就没用了!!! 我们需要能够识别浏览器特定限定条件的验证器! 我认为验证是一个很好的试金石,可以测试您是否正确地做事,所以如果只有一些小问题,为什么不修复它们并确保您的网站至少能被浏览器正确理解(即使他们出于其他原因确实以不同的方式呈现事物)? OTOH,对于大多数项目来说,验证似乎是一件令人头疼的事情,如果你可以让事情跨浏览器工作,那么仅仅花费一天/一周的时间来进行验证是不值得的。 |