jsx-a11y/iframe-has-title 正しさ
何をするか
iframe 要素に title 属性が存在することを強制します。
なぜ問題か
スクリーンリーダーを利用するユーザーは、iframe 内容の説明として iframe の title 属性に依存しています。マークアップに title 属性が含まれていない場合、この技術を利用しているユーザーにとって iframe をナビゲートしたり、iframe 要素を素早く処理したりすることが困難かつ混乱しやすくなります。
例
このルールに対して不正なコードの例:
jsx
<iframe />
<iframe {...props} />
<iframe title="" />
<iframe title={''} />
<iframe title={``} />
<iframe title={undefined} />
<iframe title={false} />
<iframe title={true} />
<iframe title={42} />このルールに対して正しいコードの例:
jsx
<iframe title="これは一意のタイトルです" />
<iframe title={uniqueTitle} />使用方法
設定ファイルまたは CLI でこのルールを有効化するには、以下のように使用できます:
json
{
"plugins": ["jsx-a11y"],
"rules": {
"jsx-a11y/iframe-has-title": "error"
}
}bash
oxlint --deny jsx-a11y/iframe-has-title --jsx-a11y-plugin