メインコンテンツまでスキップ

設定

追加の多くはオプトインです。extends 下のマージは破壊的です。

変更影響
ruleCommonSettings共有 ARIA バージョン
名前付き nodeRulesプリセット利用者・作者
specConformanceプリセット作者、違反の表示
名前付き nodeRules / childNodeRulesname で重複排除extends
ルールの配列値は連結せず上書き配列値の extends
options は shallow mergeネストした options の extends
pretender の data は追記pretender の extends
標準 HTML/SVG タグへの pretender は無視組み込みタグを偽装していた設定
--config は指定ファイルのみCLI。CLI
:closest() 非推奨nodeRules のセレクタ

ruleCommonSettings

現状は ariaVersion のみです。優先順位(高い順):

  1. require-accessible-name / no-refer-to-non-existent-idoptions.ariaVersion
  2. ruleCommonSettings.ariaVersion
  3. 組み込み推奨(v5 では 1.3

v4 の wai-aria options.version は 21 後継には渡りません。

カスタムルールは document.ruleCommonSettingsverify() で読めます。

名前付き nodeRules

例: a11y/html-lang。ベースルールを落とさずにその検査だけ false にできます。a11y/* で名前空間一括もできます。違反は ruleId(ベース)と name(グループ)。specConformance はメタデータのみで severity は変わりません。

マージ

名前付き nodeRules: 同じ name は子が置き換え。名前なしは従来どおり連結。

配列のルール値: 子が 置き換え(v4 は連結)。例: no-restricted-element(旧 disallowed-element)。

options: トップレベルだけマージ。ネストしたオブジェクトは丸ごと置き換え。

pretender data: 連結(v4 は置き換え)。files / imports は上書きのまま。

nodeRules セレクタが HTML 属性名を大文字小文字非依存でマッチするように

HTML LS / Selectors L4 では、要素が HTML 名前空間に属する場合、属性名は ASCII 大文字小文字非依存です。v4 のセレクタエンジンは大文字小文字を区別して比較していましたが、v5 は HTML 要素についてケースを畳み込むため、[charset]<meta CHARSET="utf-8"> にもマッチするようになりました。これにより、自分の nodeRules セレクタが対象とする要素の範囲が広がる(あるいは、旧来の不一致を除外のために利用していた場合は狭まる)可能性があります。SVG / MathML 要素には影響しません — そちらは引き続き大文字小文字を区別します([viewBox]viewbox にマッチしません)。

標準タグへの pretender

認識された HTML/SVG 要素への pretender は無視されます(issue #3740)。黙らせるならルールの disable / severity を使ってください。

:closest() 非推奨

v6 で削除。:is(… *) に置き換えてください(例: :closest(nav):is(nav *))。