Skip to content
← Back to rules

jsx-a11y/iframe-has-title 正しさ

何をするか

iframe 要素に title 属性が存在することを強制します。

なぜ問題か

スクリーンリーダーを利用するユーザーは、iframe 内容の説明として iframetitle 属性に依存しています。マークアップに 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

参照