設定
追加の多くはオプトインです。extends 下のマージは破壊的です。
| 変更 | 影響 |
|---|---|
ruleCommonSettings | 共有 ARIA バージョン |
| 名前付き nodeRules | プリセット利用者・作者 |
specConformance | プリセット作者、違反の表示 |
名前付き nodeRules / childNodeRules の name で重複排除 | extends |
| ルールの配列値は連結せず上書き | 配列値の extends |
options は shallow merge | ネストした options の extends |
pretender の data は追記 | pretender の extends |
| 標準 HTML/SVG タグへの pretender は無視 | 組み込みタグを偽装していた設定 |
--config は指定ファイルのみ | CLI。CLI |
:closest() 非推奨 | nodeRules のセレクタ |
ruleCommonSettings
現状は ariaVersion のみです。優先順位(高い順):
require-accessible-name/no-refer-to-non-existent-idのoptions.ariaVersionruleCommonSettings.ariaVersion- 組み込み推奨(v5 では
1.3)
v4 の wai-aria options.version は 21 後継には渡りません。
カスタムルールは document.ruleCommonSettings を verify() で読めます。
名前付き 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 *))。