最终确定工作时W3C XHTML / CSS验证有多重要?

时间:2008-08-11 16:46:29

标签: css validation xhtml cross-browser w3c

即使我这些天总是努力进行全面验证,但我常常想知道这是否浪费时间。如果代码运行并且它在所有浏览器中看起来都一样(我使用browsershots.org来验证)那么我是否需要进一步采取它或者我只是过度肛门?

创建代码时,您将代码保持在什么级别:

a)你自己 b)您的客户

P.S。杰夫和公司,为什么不堆栈溢出验证? :)

编辑:一些很好的见解,我认为,因为我已经如此有效地痴迷了这么长时间,我知道什么会导致问题,哪些不会这样,所以我比那些人更好。首先创建一个站点,然后“返回并修复验证问题”

我想我可能会发布关于堆栈溢出的另一个问题; “你去的时候验证还是你完成然后回去验证?”因为这似乎是这个问题的发展方向

9 个答案:

答案 0 :(得分:10)

a)必须看起来一样

b)尽可能符合标准,但不要太肛门以至于阻碍了整理工作

在您可以永久访问代码的情况下,我认为标准兼容性并不重要,因为如果出现问题,您可以随时更改代码。如果您没有永久访问权限(即,您签署代码并且它成为其他人的责任),那么最好尽可能符合标准,以便以后最大限度地减少维护难题......即使您没有必要再次处理代码,您的声誉仍然存在,并且可以传递给其他潜在客户,许多团队喜欢责怪以前的开发人员出现的问题。

答案 1 :(得分:4)

我认为这是一个你应该尽可能努力使用Robustness principle的领域(这对任何编码领域都是好建议)。仅仅因为今天有用的东西并不意味着它明天会起作用:如果你依赖于特定的HTML / CSS黑客,或者即使你在发布严格有效的代码方面只是有点松懈,下一代浏览器也可能很好打破。一旦正确的方式做到这一点可以最大限度地减少这个问题(虽然不能完全减轻它)。

但是,这里有一些实用主义的元素。我当然会竭尽全力让客户的网站有效,但我愿意在自己的空间里冒更大的风险。

答案 2 :(得分:3)

我认为只有“技术”人才真正关心“100%标准合规”。我的常用页面使用者(=用户)并不关心“菜单边框图片元素”是否没有alt属性。

我通常只是确保我没有看到任何明显的错误(所有标签都关闭,所有小写,引号中的属性,......),但如果它在IE和FF上看起来很好,那就是我所关心的。我真的不在乎我是否在任何HTML标记中使用非标准属性,因此页面不会针对DTD进行验证 - 只要我获得了我想要获得的视觉结果。

答案 3 :(得分:2)

为了理解为什么验证很重要,需要从不同层面了解how a browser works,并从网络浏览器的角度了解网络历史。

您提供给浏览器的HTML由浏览器在DOM之后解释,DOM是一个应用程序编程接口,将整个页面映射为节点层次结构。 的每个部分都是包含不同类型数据的节点类型。 DOM(文档对象模型)是必要的,因为早期Web浏览器(Netscape,IE ...)实现的HTML页面的多样性允许改变网页的外观和内容而不重新加载它。为了保留Web的跨平台性质,W3C希望修复这些浏览器的不同实现,提出DOM。

DOM支持成为大多数Web浏览器供应商的一个重要优先事项,并且一直在努力改进对每个版本的支持。所以,它奏效了。

DOM是Web浏览器启动的最基本步骤。它的主要流程是:

  1. 解析HTML以构建DOM树
  2. 渲染树构造
  3. 渲染树的布局
  4. 绘制渲染树
  5. 步骤1提供内容树,标签转为DOM节点。第2步提供渲染树,其中包含样式信息。

    因此,为什么验证很重要:因为内容树渲染树是网络浏览器开始工作的基础。它们定义最多,对Web浏览器来说效果更好。

    最终,DOM也是JavaScript事件的基础。因此,它的验证也有助于交互层。

答案 4 :(得分:1)

我知道这不是回答你的整个问题,但值得考虑的是,通过使用完全有效的HTML,你可以确定你的网站应该在未来的网络浏览器中正常运行已经发布了。

答案 5 :(得分:1)

我的方法往往是确保我可以在所有页面上完全验证,但是我仍然将页面发送为text / html而不是application / xhtml + xml,因此在我遗漏某些内容时没有丑陋的XML错误。

答案 6 :(得分:1)

对我而言,如果我的代码验证,我觉得我做得很好。看到w3c页面上的绿色复选框让我有点头晕。对于组b,他们通常只关心它在浏览器中的外观和工作原理。他们只发现我发现政府部门不是这样。它们不仅需要对w3c进行完整验证,还需要通过ADA测试(基本上它是如何用屏幕阅读器发出的)。

P.S。当我说政府部门时,我的意思是加利福尼亚州和其中的一些县。除了他们之外,我对其他政府团体没有经验。

答案 7 :(得分:0)

我认为验证是对你是否做得好的一个很好的试金石,所以如果只有一些小问题,为什么不修复它们并确保你的网站至少在未来被浏览器正确理解(即使他们出于其他原因做出不同的渲染方式)?

OTOH,对于大多数项目来说,验证似乎是一件非常令人头疼的问题,如果你可以在浏览器中运行,那么就不值得花费额外的一天/周+来验证。

答案 8 :(得分:0)

除了验证者本身是如此积极的肛门,  当他们使用-moz-或-webkit或-o-标记错误或警告时,即使用浏览器特定的限定条款。 他们也希望你指定0px而不是0或其他单位 无论验证者想要检查哪个单位,零都为零!

只是尝试验证WordPress Twentyeleven style.css它会抛出140个奇怪的错误,这些错误都是上面的性质或验证器正在从解析错误中恢复

如果你不能从谷壳中分拣小麦,验证器就没用了。

我们需要识别浏览器特定资格条款的验证器!