尽管这些天我一直努力获得完整的验证,但我常常想这是否是浪费时间。如果代码运行并且在所有浏览器中看起来都相同(我使用 browsershots.org 进行验证),那么我是否需要进一步采取措施,或者我只是过于肛门?

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

a)你自己b)你的客户

附:Jeff 和他的公司,为什么堆栈溢出没有验证?:)

编辑:一些很好的见解,我认为,由于我长期以来一直对有效的痴迷,所以我在编程时知道什么会引起问题,什么不会,所以我比那些先创建一个网站然后“去”的人处于更好的位置。返回并修复验证问题”

我想我可以在堆栈溢出上发布另一个问题;“您是在走时验证还是完成,然后回去验证?”因为那似乎是这个问题要去的地方

有帮助吗?

解决方案

a) 看起来必须相同

b) 尽可能符合标准,但不要太严格以至于妨碍完成工作

在您可以永久访问代码的情况下,我认为标准合规性并不那么重要,因为如果出现问题,您始终可以对代码进行更改。如果您没有永久访问权限(即,您签署了代码,它就成为其他人的责任),那么最好尽可能符合标准,以最大程度地减少以后的维护麻烦......即使您再也不需要处理代码,您的声誉仍然存在,并且可以传播给其他潜在客户,并且许多团队喜欢将出现的问题归咎于以前的开发人员。

其他提示

我认为这是一个你应该努力利用的领域 稳健性原则 尽可能实用(这对于任何编码领域都是很好的建议)。仅仅因为某些东西今天有效并不意味着它明天也会有效:如果您依赖于特定的 HTML/CSS hack,或者即使您在发出严格有效的代码方面有点松懈,那么浏览器的下一次迭代很可能会崩溃。以正确的方式执行此操作可以最大限度地减少此问题(尽管并不能完全缓解它)。

不过,这里有一定的实用主义元素。我当然会尽我所能使客户的网站有效,但我愿意在自己的空间中承担更多风险。

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

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

为了理解 为什么 验证很重要,需要理解 浏览器如何工作 从网络浏览器的角度了解网络的不同层次,以及一些关于网络的历史。

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

DOM 支持成为大多数 Web 浏览器供应商的首要任务,并且一直在努力改进每个版本的支持。所以,它起作用了。

DOM 是 Web 浏览器启动的非常基本的步骤。其主要流程为:

  1. 解析 HTML 构建 DOM 树
  2. 渲染树构造
  3. 渲染树的布局
  4. 绘制渲染树

步骤 1 给出 内容树, ,标签变成了 DOM 节点。步骤 2 给出 渲染树, ,包含样式信息。

所以, 为什么 验证事项:因为 内容树渲染树 是网络浏览器开始工作的基础。它们定义得越好,对网络浏览器来说就越好。

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

我知道这并不能回答你的全部问题,但值得考虑的是,通过使用完全有效的 html,你可以确保你的网站应该在 未来 尚未发布的网络浏览器。

我的方法往往是确保我可以在所有页面上完全验证,但是我仍然以 text/html 而不是 application/xhtml+xml 的形式发送页面,这样即使我错过了某些内容,也不会出现丑陋的 XML 错误。

对我来说,如果我的代码通过验证,我觉得我已经做得很好了。看到 w3c 页面上的绿色复选框让我有点头晕。至于 b 组,他们通常只关心它在浏览器中的外观和工作方式是否相同。我唯一发现这不是真的的地方是政府部门。它们不仅需要通过 w3c 进行完整验证,还需要通过 ADA 测试(基本上是屏幕阅读器听起来如何)。

附注当我说政府部门时,我特指加利福尼亚州及其内的几个县。除了他们之外,我没有与其他政府团体打交道的经验。

我认为验证是检验您是否正确完成工作的一个很好的试金石,因此,如果只有一些小问题,为什么不修复它们并确保将来浏览器至少可以正确理解您的网站(即使它们是否因其他原因而使事物呈现不同)?

OTOH,对于大多数项目来说,验证似乎是一个非常令人头疼的问题,如果您可以跨浏览器工作,那么不值得花费额外的一天/一周以上的时间来进行验证。

除了验证器本身是如此积极的肛门,每当a -moz-或-webkit或-o- ie时标记错误或警告时使用浏览器特定的限定术语。他们还希望您指定0PX而不是0或其他单位为零,无论验证器想要对其进行检查的任何单位都为零!

只要尝试验证 WordPress二十一十一样式.css 它会抛出 140 个奇怪的错误,这些错误都是上述性质的,或者验证器正在从解析错误中恢复

如果你不能从谷壳中筛选出小麦,那么验证器就没用了!

我们需要能够识别浏览器特定资格术语的验证器!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top