是否有比 w3c 验证器更好的 html 标准验证方法?

Jud*_*lin 3 html semantic-markup w3c-validation

当然,这是一个非常通用的问题,但我想知道 w3c 验证是否被认为是 html 验证的最佳实践,或者是否有更好的方法来确保符合当代标准的标记。

当我注意到MDN 页面重复 ID 时出现了这个问题(我认为该网站对其编码实践非常严格)。这似乎是他们如何生成页面部分的人工制品。

奇怪的是,我在 w3c 验证器上验证了页面的代码,并且有各种“错误”表明 MDN 只是忽略了某个属性或值无效。通常,这些与rel属性的看似适当的使用有关。

我想知道有效的语义标记标准是否更重要,或者是否有一种新的理想方法来进行代码验证和标准化,而不是依赖 w3c 验证。

sid*_*ker 5

当前W3C HTML Checker(验证器)的维护者在这里。我认为了解当前 HTML 检查器的预期目的很重要,这与传统 W3C 标记验证器的目的不同。

检查器的用途记录在https://validator.w3.org/nu/about.html#why-validate

通过一致性检查器运行 HTML 文档的核心原因很简单:捕捉意外错误(否则您可能会错过的错误),以便您可以修复它们。

除此之外,HTML 规范中的一些文档一致性要求(有效性规则)可以帮助您和文档的用户避免某些类型的潜在问题。

有一些标记情况被定义为错误,因为它们是可访问性、可用性、互操作性、安全性或可维护性方面的潜在问题,或者因为它们可能导致性能不佳,或者可能导致您的脚本以难以解决的方式失败。除此之外,一些标记情况被定义为错误,因为它们可能导致您在 HTML 解析和错误处理行为中遇到潜在的问题——也就是说,您最终会在 DOM 中得到一些不直观的、意外的结果

验证您的文档会提醒您注意这些潜在问题。

因此,就您关于“是确保符合当代标准的标记的更好方法”的问题而言,答案是这不是一个非此即彼的事情;有多种方法,W3C HTML Checker 只是其中之一,它的目标不是成为确定任何事情的唯一方法,而是帮助您发现可能会错过的错误,否则可能会导致意外问题你的用户。


至于就特定设备问题或浏览器实现问题发出警报的方法,我们没有很好的自动检查工具,但有几件事有很大帮助:

  • https://caniuse.com/ — 有关不同浏览器、这些浏览器的不同版本以及移动设备与桌面浏览器版本对特定 Web 运行时功能的支持级别的详细信息

  • https://wptdashboard.appspot.com/——当前在所有主要浏览器引擎上针对数十个 Web 运行时功能/规范的测试结果;如果https://caniuse.com/没有有关特定功能的信息,您可以查看此仪表板并浏览到具有该功能测试的目录,并查看浏览器是否通过了该功能的测试

但就我们确实有用于检查其他事情的优秀自动化工具而言,这里有两个: