required-attr
設定された属性もしくは仕様上必須となっている属性が要素上に存在しない場合、警告をします。
HTML Living Standardを基準としてMDN Web docsから最新情報を確認しています。 @markuplint/html-spec
に設定値を持っています。
<img>
要素の src
属性はHTML Living Standardでは必須となります。
❌ 間違ったコード例
<img />
<!-- "required-attr": "alt" -->
<img src="/path/to/image.png" />
✅ 正しいコード例
<img src="/path/to/image.png" />
<!-- "required-attr": "alt" -->
<img src="/path/to/image.png" alt="alternative text" />
注記
このルールはスプレッド属性をもつ要素は評価しません。次のコードはimg
要素がsrc
を持つか評価しません。スプレッド属性にsrc
が含まれているかMarkuplintは知ることができないからです。
const Component = (props) => {
return <img {...props}>;
}
Interface
{
"required-attr": string | (string | Attr)[]
}
type Attr = {
name: string;
value?: string | string[];
};
Default Severity
error
設定例
{
"rules": {
"required-attr": "alt"
}
}
{
"rules": {
"required-attr": ["alt", "width", "height"]
}
}
{
"rules": {
"required-attr": [
"alt",
{
"name": "src",
"value": "/^\\/|^https:\\/\\//i"
}
]
}
}