如何检查解析器是否符合 HTML5 标准?

How can I check if a parser is HTML5 compliant?

我正在根据官方 HTML5 语法规范编写 HTML 解析器。我如何才能确保我已设法准确遵循并准确实施规范?

事实上的标准 HTML5 解析测试在这里:

https://github.com/w3c/web-platform-tests/tree/master/html/syntax/parsing

因此您可以通过以下方式获取它们:

git clone https://github.com/w3c/web-platform-tests.git \
    && cd web-platform-tests/html/syntax/parsing

这些测试会随着 HTML 规范中 HTML 解析算法的任何更改而保持最新,因此在克隆它们之后,您可以 运行 针对这些测试实施并检查任何失败。

如果您对测试有疑问并想实时讨论,您可以加入 #whatwg channel on irc.freenode.net 并提问,知识渊博的人会帮助您。


更多详情

来源 生成这些测试的实际位置在这里:

https://github.com/html5lib/html5lib-tests

如果您想自己从这些来源(重新)生成测试,这里有一个脚本:

https://github.com/w3c/web-platform-tests/blob/master/html/tools/update_html5lib_tests.py