法国独立开发者 Théo Ducreux 干了件让人坐不住的事:他爬了 Tranco 排名前 5000 的网站,拿 html-validate 和 csstree-validator 逐个跑了一遍。结果比想象中更难看。
在成功抓取到可读内容的 2656 个网站中,87.2% 存在至少一处 HTML 规范违规。完全干净的 HTML 只有 12.8%,如果连 best-practice 警告也算上,那只有 2.6% 的网站能全身而退。所有网站合计产生了 100,305 个 HTML 错误和 18,863 个 CSS 错误。中位数是 11 个错误,平均数 37.8 个,最差的那个页面有 1392 个。

这些错误的大头不是开发者手写代码时的笔误。Ducreux 指出,排第一的违规是「<style> 标签不能放在 <div> 里」,出现在 59.5% 的网站上。这不是编辑器的锅,是组件嵌套问题——框架在构建时组合出来的。Tailwind 的 class='w-full' 被重复声明、React 的 <button> 被塞进 <a> 标签里,这些错误不是人写的,是组件树生成的。
CSS 那边更讽刺。64.5% 的网站有 CSS 错误,但中位数只有 1 个。浏览器对待 CSS 错误的态度很明确:删掉违规声明,继续渲染。background-color 的值写错了?丢一行。@if 不是标准 CSS?丢一行。页面不会白屏,用户不会投诉,所以没人修。
但有个数字不能忽视:超过三分之一的网站通不过无障碍检查。跳过标题层级(46.5%)、表单缺少 label(42.7%)、空链接文本(38.0%)、iframe 缺少 title(27.2%)——每一项都出现在超过四分之一的网站上。欧洲无障碍法案(EAA)从 2025 年 6 月已经开始执行,这不是什么「最佳实践」了,这是合规问题。
Ducreux 的母亲是盲人,他从小就知道可访问性不是附加题。他在博客里写道:「我写这个工具,是希望开发者能意识到,他们做出的选择会影响真实的人。」
这个项目本身也证明了另一件事:标准检查工具的市场需求被严重低估了。html-validate 和 csstree-validator 是开源工具,但前 5000 网站的统计数据在此之前根本不存在。没人做,不是因为不需要,而是因为没人觉得这值得做。
现在值得做了。数字摆在这里。
参考来源: