no-invalid-attr-value
属性の値が仕様(あるいはカスタムルール)が要求する型やパターンに一致しない場合に警告します。
このルールはHTML Living Standardに基づいています。設定は@markuplint/html-specにあります。
属性名がそもそも既知で適用可能かどうかはno-unknown-attrとno-disallowed-attrの担当です。このルールは、それらが既に許可している属性の値のみを検査します。
❌ 間違ったコード例
<button tabindex="non-integer">The Button</button> <a href="/" referrerpolicy="invalid-value">The Anchor</a>
✅ 正しいコード例
<button tabindex="0">The Button</button> <a href="/" referrerpolicy="no-referrer">The Anchor</a>
注記
このルールは、特定の条件下でスプレッド属性を持つ要素を評価しません(no-disallowed-attrの同じ注記を参照)。また、動的な(テンプレートで埋め込まれる)値は、Lint実行時に内容が分からないため不正な値として報告されません。
Interface
{
"no-invalid-attr-value": boolean
}
Options
{
"no-invalid-attr-value": {
"options": {
"allowAttrs"?: (string | Attr)[] | Record<string, AttributeType | Pattern>
}
}
}
type Attr = {
name: string;
value: AttributeType | Pattern;
}
type Pattern = { pattern: string; };
AttributeTypeはタイプAPIを参照してください。PatternもタイプAPIの一部です。
| Property | Type | Default Value | Description |
|---|---|---|---|
allowAttrs | (string | | undefined | 仕様に定義されていない属性名に対する値の型またはパターンを指定します。no-unknown-attrが受け取るものと同じオプションです。要素が受け付ける属性を拡張する場合は、両方のルールに同じ値を設定してください。 |
Default Severity
error
詳細
allowAttrsオプションの設定
no-unknown-attrが受け取る同名のオプションと同じ形式です。このルールは、そこで指定されたvalueの型・パターンを使って属性値を検証します。両方のルールに同じallowAttrsを設定してください。
設定例
RDFa (RDFa lite)
vocabの値はURLなので、no-unknown-attrがこの属性を許可した後、このルールによって検査されます:
{
"rules": {
"no-invalid-attr-value": {
"options": {
"allowAttrs": [
{
"name": "vocab",
"value": "URL"
}
]
}
}
}
}