仅 2.6% 热门网站 HTML 完全合规

Only 2.6% of the most visited websites have fully valid HTML

仅 2.6% 热门网站 HTML 完全合规

我们验证了 Tranco 榜单前 5000 个热门网站的主页,结果令人深思:90.5% 的网站存在至少一个 HTML 规范违规,仅有 69 个网站(2.6%)实现了零错误且零最佳实践警告。浏览器强大的容错机制掩盖了这些问题,导致错误不断累积。最常见的错误并非拼写失误,而是由框架组件嵌套不当引发的结构性问题,以及普遍存在的无障碍访问缺陷。这项研究揭示,在顶级网站中,符合规范的 HTML 是例外而非常态。

有效的 HTML 是例外,而非规则。
  1. jerf

    粗略来说,这已经不再重要了。"有效的 HTML"曾经是个大事儿,因为一旦你偏离了 HTML 规范,就是在邀请各个浏览器以不同的方式解释你的非标准 HTML,有时这对样式或 JavaScript 与页面的交互方式来说简直是灾难性的。

    这已不再像过去那样重要了,因为 HTML5 定义了一种方法,可以将几乎任何字节序列转换为相同的 DOM 树:https://dev.w3.org/html5/spec-LC/parsing.html 而这仅仅是过程的开始。我似乎找不到 HTML5 规范第 8.2 节的完整链接,但整个过程非常庞大。不过现在它已经被定义了。

    我对"几乎"这个词有所保留,因为我确信各个解析器中仍然存在 bug,也许还有一些病态的序列无法被此过程处理,但这样的序列与 HTML 本身已经相去甚远。但 HTML5 的一个区别在于,解析器会被视为有 bug;而在以前的版本中,解析器该做什么可能是可辩论的。HTML5 应该对此进行充分规定。如果没有,那现在就是规范本身的 bug。我希望到目前为止,这个问题已经被讨论得足够充分,任何可能剩下的边缘情况现在应该都很小了。

    在我看来,将"HTML"定义为"HTML5 解析过程的输出"是完全合理的,不必太担心这个标签是否……

  2. alt227

    这正是 HTML 如此普及的原因,因为它对格式、语法以及几乎所有其他方面的错误都极其宽容。

    大多数浏览器甚至能够读取并处理此页面上列出的大多数内容,因为即使规范没有说明,这样做本身也是合乎逻辑的。

  3. INTPenis

    作为一个曾经很看重网站上"经 W3C 验证"按钮的人,如果今天的某个网站拥有完全有效的 HTML,我敢保证该网站的管理员绝对是个超级极客。

  4. account42

    标题中的说法与链接网站的内容不符。2.6% 这个数字仅包含那些除了拥有有效 HTML 外,还遵循某些任意"最佳实践"的网站,其中一些实践实际上与过去的最佳实践相矛盾。

  5. teo_zero

    > 未闭合标签是指像 <div>、<p> 或 <span> 这样的 HTML 开始标签缺少对应的结束标签。

    <p> 标签什么时候需要闭合标签了?请注意,原文(TFA)将此列为"规范违规",而不仅仅是"最佳实践"。

同日更多故事

2026-08-12