実際、これはあいまいなアンパサンドではないため、提案された HTML を使用することは完全に有効です。現在受け入れられている回答は正しくありません (混乱を避けるために常にアンパサンドをエンコードすることをお勧めしますが)。
HTML 仕様では、あいまいなアンパサンドを次のように定義しています。
あいまいなアンパサンドとは、U+0026 AMPERSAND 文字 (&) の後に、U+0030 DIGIT ZERO (0) から U+0039 DIGIT NINE (9)、U+0061 LATIN SMALL LETTER A からU+007A LATIN SMALL LETTER Z、および U+0041 LATIN CAPITAL LETTER A から U+005A LATIN CAPITAL LETTER Z の後に、U+003B セミコロン文字 (;) が続きます。これらの文字は、名前付き文字参照セクション。
ただし、セミコロンで終わらないエンティティ ( など&
) は、属性値で異なる方法で処理されます。
文字参照が属性の一部として使用され、一致した最後の文字が U+003B セミコロン文字 (;) ではなく、次の文字が U+003D 等号文字 (=) または範囲内にある場合U+0030 DIGIT ZERO (0) から U+0039 DIGIT NINE (9)、U+0041 LATIN CAPITAL LETTER A から U+005A LATIN CAPITAL LETTER Z、または U+0061 LATIN SMALL LETTER A から U+007A LATIN SMALL LETTER Zの場合、歴史的な理由から、U+0026 AMPERSAND 文字 (&) の後に一致したすべての文字は消費されない必要があり、何も返されません。
しかし、次の文字は であるため、これはここでは当てはまりません@
。
FWIW、私はこれを徹底的に調査し、私の発見についてここに書きました:http://mathiasbynens.be/notes/ambiguous-ampersands
また、あいまいなアンパサンドやセミコロンで終わらない文字参照 (どちらも無効) についてマークアップをチェックするために使用できるオンライン ツールも作成しました。(現在、これを正しく行う HTML バリデータはありません。)
