首先,HTML 5规范不断改变验证器,这个答案的有效性可能会被打破。
话虽如此,我重复the quote定义了一个“含糊不清的&符号”:
不明确的&符号是U + 0026 AMPERSAND字符(&),后跟一个或多个字母数字ASCII字符,后跟U + 003B SEMICOLON字符(;),其中这些字符与任何名称都不匹配在命名的字符引用部分中给出。
换句话说,它看起来像一个命名的字符引用,但规范未知。既然规范定义了它定义何时不能出现这种模糊的&符号的术语:
textarea,title:可转义的原始文本元素可以包含文本和字符引用,但文本不得包含不明确的&符号。
MathML,SVG元素:......但文字不得包含字符U + 003C LESS-THAN SIGN(<)或含糊不清的&符号。
普通非空HTML元素:...但文字不得包含字符U + 003C LESS-THAN SIGN(<)或含糊不清的&符号。
属性值:...带有附加限制,即文本不能包含不明确的&符号。
也从规范中引用了要点。请在规范中搜索“模糊的&符号”,以获取此处省略的完整句子。
HTML 5规范确实允许在原始文本元素(script和style标记)中使用含糊不清的符号。仅仅因为HTML 5它给出了“模糊的&符号”的定义,并且浏览器能够应对“模糊的&符号”,并不意味着它们对一般用途有效。
所以逃避“歧义&符号”使其明确,script和style标记除外。
让我们回到你的案子。你没有“模糊的&符号”,因为你的&符号后面没有字母数字和分号。因为它没有遵循那个序列,所以应该假定你的&符号是字面意思并保持原样。因此,根据HTML 5规范,您的&符应被视为有效。
备注:我建议你逃避你的&符号,因为你依赖于不稳定规范的细节。此外,我不希望每个软件都遵循关闭的规范,而是采用更简单的规则来逃避&符号,因为我无法看到这会引发麻烦。