15

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

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

a) 你自己 b) 你的客户

PS Jeff 和公司,为什么堆栈溢出不验证?:)

编辑:一些很好的见解,我认为,因为我一直如此痴迷于有效,所以我编程知道什么会导致问题,什么不会,所以我比那些先创建网站然后再创建网站的人处于更好的位置“回去解决验证问题”

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

4

9 回答 9

12

a) 必须看起来一样

b) 尽可能符合标准,但又不至于妨碍完成工作

在您可以永久访问代码的情况下,我认为标准合规性并不那么重要,因为如果出现问题,您始终可以更改代码。如果您没有永久访问权限(即,您在代码上签字并成为其他人的责任),最好尽可能符合标准,以尽量减少以后的维护麻烦......即使您永远不必再次处理代码,您的声誉会持续存在并且可以传递给其他潜在客户,并且许多团队喜欢将出现的问题归咎于以前的开发人员。

于 2008-08-11T16:50:32.867 回答
4

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

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

于 2008-08-11T16:52:57.743 回答
3

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

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

于 2008-08-11T16:55:02.483 回答
2

为了理解为什么验证很重要,需要了解浏览器在其不同层的工作方式,以及从 Web 浏览器的角度了解 Web 的历史。

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

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

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

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

第 1 步给出了内容树,其中标签转换为 DOM 节点。第 2 步给出了包含样式信息的渲染树

那么,为什么验证很重要:因为内容树渲染树是 Web 浏览器开始工作的基础。它们定义得越明确,对 Web 浏览器就越好。

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

于 2013-02-05T11:28:13.633 回答
1

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

于 2008-08-11T16:55:52.793 回答
1

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

于 2008-08-12T20:08:39.843 回答
1

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

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

于 2008-08-12T20:49:23.367 回答
0

我认为验证是一个很好的试金石,可以测试你是否正确地做事,所以如果只有一些小问题,为什么不修复它们并确保你的网站至少能被浏览器正确理解(即使他们是否因其他原因以不同的方式呈现事物)?

OTOH,对于大多数项目来说,验证似乎是一件令人头疼的事情,如果你可以让事情跨浏览器工作,那么仅仅在验证上花费额外的一天/一周+是不值得的。

于 2008-08-11T16:52:01.193 回答
0

除了验证器本身非常积极之外,当他们在使用 -moz- 或 -webkit 或 -o- 时标记错误或警告时,即使用浏览器特定的限定词。他们还希望您指定 0px 而不是 0 或其他单位 零是零,无论验证器要检查的单位是什么!

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

如果您无法从谷壳中分拣出小麦,验证器将毫无用处!!!

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

于 2012-03-11T07:37:22.987 回答