有比W3C验证器更好的HTML标准验证方法吗?

4
“虽然这是一个非常通用的问题,但我想知道w3c验证是否被认为是HTML验证的最佳实践,或者是否有更好的方法来确保符合当代标准的标记。”
“当我注意到 MDN页面上存在重复的ID时(我本以为这个网站非常严格遵循编码规范),我提出了这个问题。看起来这是它们生成页面部分的副产品。”
“出于好奇,我在w3c验证器上验证了页面代码,发现有各种“错误”,表明MDN只是忽略某些属性或值无效的事实。一般来说,这些问题与似乎适当使用rel属性有关。”
“我不禁想知道有效的语义化标记的标准是否变得不那么重要了,或者是否有一种新的理想方法来验证代码和标准化,而不是依赖于w3c验证。”
2个回答

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/ 没有特定功能的信息,您可以浏览此仪表板并浏览到具有该功能测试的目录,然后找出浏览器是否通过了该功能的测试

但是,就我们实际上用于检查其他事情的良好自动化工具而言,这里有两个:


1
这非常有帮助。谢谢你。我唯一的后续问题是,您认为哪些检查工具对于提醒开发人员特定设备或浏览器标准实现问题是有帮助的?我知道这是一个非常灵活的上下文,但我只是好奇,还没有找到我喜欢的东西。 - Judd Franklin
一个并不完全符合你所描述的类别,但我认为非常有用的工具是W3C国际化检查器https://validator.w3.org/i18n-checker/。另一个可能比你描述的还要进一步,但我认为也非常有用的是https://observatory.mozilla.org/(与安全相关的站点检查)。但是,就警报开发人员特定设备问题或浏览器实现问题而言,没有好的自动化工具。不过,对于这个问题很好的是https://caniuse.com/。另一个好东西是https://wptdashboard.appspot.com/。我会将它们添加到答案中。 - sideshowbarker
谢谢您提供这些资源。我非常熟悉caniuse.com,但我不熟悉wptdashboard、observatory或国际化检查器。我想最好的做法是组建一个符合性、配置和测试套件,作为我的内部QA流程的一部分运行。祝您一切顺利,再次感谢。 - Judd Franklin

0

我最近遇到了一个与W3C HTML Checker相关的问题。我非常尊重这个验证器作者所做的大量工作,但它不允许我以任何方式使用<script type="text/vbscript" src="file.vbs">标签。它建议将type值更改为空字符串、JavaScript MIME类型或模块,这使得我的页面无用。

我知道VBScript语言现在很少使用,这只是一个测试页面,但让我与您分享一个不那么棘手的替代方案,同样适用于HTML错误检查。

当前JsonFormatter(验证器)的维护者在这里


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接