no-unescaped-char
テキストノードや属性値でリテラルの<が未エスケープのまま出現する場合に警告します。HTML Living Standard §13.1.2.3–4が作者にエスケープを要求しているのはリテラルの<と「あいまいなアンパサンド」のみで、それ以外(>、"、参照の形をしていない素の&)はそのままでも仕様に準拠しています。
&name;の形をしていて名前が未知(不正)なものはno-malformed-character-referenceの担当であり、このルールの対象ではありません — parse5自身の検出をミラーしています。
❌ 間違ったコード例
<div id="a"> < </div>
✅ 正しいコード例
<div id="a"> < </div>
<div id="a"> > & " </div>
<img src="path/to?a=b&c=d">
Interface
{
"no-unescaped-char": boolean
}
Options
{
"no-unescaped-char": {
"options": {
"strict"?: boolean
}
}
}
| Property | Type | Default Value | Description |
|---|---|---|---|
strict | boolean | "false" | >、"、および素の&(&のような実体参照の形をしたものは除く)もすべて検出対象にします。デフォルトでは無効です。HTML Living Standardが未エスケープを禁止しているのはリテラルの<とあいまいなアンパサンドのみで、>と"はそのままでも仕様に準拠しているためです。 |
Default Severity
error
詳細
strictオプションの設定
trueを指定すると、>、"、および素の&(&のような実体参照の形をしたものはどちらのモードでも除外)もすべて検出対象にします。デフォルトは無効です。
{
"no-unescaped-char": {
"options": {
"strict": true
}
}
}
❌ strict: trueでの間違ったコード例
<div id="a"> > < & " </div>
<img src="path/to?a=b&c=d">