当然,这是一个非常通用的问题,但我想知道w3c验证是否被认为是html验证的最佳实践,或者是否有更好的方法来确保符合当前标准的标记。
当我注意到an MDN page上的重复ID时出现了这个问题(一个我认为对其编码实践非常严格的网站)。它似乎是他们如何生成页面部分的工件。
好奇,我在w3c验证器上验证了页面的代码,并且有各种“错误”表明MDN只是忽略某个属性或值无效。通常,这些与rel
属性看似合适的用途有关。
我想知道有效的语义标记的标准是否更少,或者是否有一种新的理想方法来进行代码验证和标准化,而不是依赖于w3c验证。
答案 0 :(得分:3)
此处的当前W3C HTML Checker(验证程序)的维护者。我认为理解当前HTML检查器的预期目的很重要,这与传统W3C标记验证器的目的不同。
检查程序的目的记录在https://validator.w3.org/nu/about.html#why-validate:
通过一致性检查程序运行HTML文档的核心原因很简单:捕获意外错误 - 错误,否则您可能会错过 - 以便您可以修复它们。
除此之外,HTML规范中的一些文档一致性要求(有效性规则)可以帮助您和您的文档用户避免某些潜在的问题。
有些标记案例被定义为错误,因为它们是可访问性,可用性,互操作性,安全性或可维护性的潜在问题,或者因为它们可能导致性能不佳,或者可能导致脚本以难以解决的方式失败排除故障。 除此之外,一些标记案例被定义为错误,因为它们可能会导致您在HTML解析和错误处理行为中遇到潜在问题 - 因此,例如,您最终会在DOM中出现一些不直观,意外的结果< / p>
验证您的文档会提醒您注意这些潜在问题。
因此,关于“是确保符合当前标准的标记的更好方法”的问题,答案是,这不是一个或两件事;有各种各样的方法,W3C HTML Checker只是其中之一,它的目标不是确定任何东西的唯一方法,而是帮助你捕捉错过的错误,否则可能会导致意外问题。你的用户。
至于如何获得特定设备问题或浏览器实施问题的警报,我们没有很好的自动检查工具,但有一些很大的帮助:
https://caniuse.com/ - 有关不同浏览器,不同版本的浏览器以及移动设备与桌面浏览器版本的特定Web运行时功能支持级别的详细信息
https://wptdashboard.appspot.com/ - 所有主要浏览器引擎的当前测试结果,包含数十个Web运行时功能/规范;如果https://caniuse.com/没有关于特定功能的信息,您可以浏览此仪表板并浏览到具有该功能测试的目录,并查找浏览器是否通过了该功能的测试
< / LI>但是,就我们确实用于检查其他内容的优秀自动化工具而言,这里有两个:
答案 1 :(得分:0)
我最近遇到上述W3C HTML Checker的问题。我尊重该验证程序作者所做的大量工作,但不允许我以任何方式使用标签<script type="text/vbscript" src="file.vbs">
。据说将type
的值更改为空字符串,JavaScript MIME类型或模块,这使我的页面无用。
我知道现在很少使用VBScript语言,它只是一个测试页,但是让我与您分享一些不太麻烦的替代方法,就像第一个进行HTML错误检查的方法一样。
当前 JsonFormatter (验证器)的维护者是here