From 09aa4b0a9fdbc0f3b0b45662d5f219a15e543bcd Mon Sep 17 00:00:00 2001 From: Rajath M R Date: Mon, 29 Jun 2026 12:10:46 +0530 Subject: [PATCH 1/8] AXE-3625: Bulk-review priority rules (axe-core subset) Wire metadata.defaultCategory for the prioritized rules (aria-valid-attr-value, video-caption, bypass, css-orientation-lock) and emit reviewPayload.visualHelperData for aria-valid-attr-value. Excludes aria-hidden-focus / identical-links-same-purpose / duplicate-id-aria (deferred). Co-Authored-By: Claude Opus 4.8 (1M context) --- .../aria/aria-valid-attr-value-evaluate.js | 6 ++- lib/rules/aria-valid-attr-value.json | 1 + lib/rules/bypass.json | 1 + lib/rules/css-orientation-lock.json | 1 + lib/rules/video-caption.json | 1 + test/checks/aria/aria-valid-attr-value.js | 46 +++++++++++++++++++ 6 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 test/checks/aria/aria-valid-attr-value.js diff --git a/lib/checks/aria/aria-valid-attr-value-evaluate.js b/lib/checks/aria/aria-valid-attr-value-evaluate.js index ad43d1393..b88b8627a 100644 --- a/lib/checks/aria/aria-valid-attr-value-evaluate.js +++ b/lib/checks/aria/aria-valid-attr-value-evaluate.js @@ -140,7 +140,11 @@ export default function ariaValidAttrValueEvaluate(node, options, virtualNode) { } if (needsReview) { - this.data({ messageKey, needsReview }); + this.data({ + messageKey, + needsReview, + reviewPayload: { visualHelperData: { ariaAttribute: needsReview } } + }); return undefined; } diff --git a/lib/rules/aria-valid-attr-value.json b/lib/rules/aria-valid-attr-value.json index ac92598e2..dc39253c3 100644 --- a/lib/rules/aria-valid-attr-value.json +++ b/lib/rules/aria-valid-attr-value.json @@ -13,6 +13,7 @@ ], "actIds": ["6a7281"], "metadata": { + "defaultCategory": "aria-attributes", "description": "Ensure all ARIA attributes have valid values", "help": "ARIA attributes must conform to valid values", "needsReviewConfidence": 49.99 diff --git a/lib/rules/bypass.json b/lib/rules/bypass.json index 02666d9da..b05b74210 100644 --- a/lib/rules/bypass.json +++ b/lib/rules/bypass.json @@ -20,6 +20,7 @@ ], "actIds": ["cf77f2", "047fe0", "b40fd1", "3e12e1", "ye5d6e"], "metadata": { + "defaultCategory": "bypass-blocks", "description": "Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content", "help": "Page must have means to bypass repeated blocks", "needsReviewConfidence": 49.99 diff --git a/lib/rules/css-orientation-lock.json b/lib/rules/css-orientation-lock.json index 06bc7d426..ed134b978 100644 --- a/lib/rules/css-orientation-lock.json +++ b/lib/rules/css-orientation-lock.json @@ -16,6 +16,7 @@ ], "actIds": ["b33eff"], "metadata": { + "defaultCategory": "orientation", "description": "Ensure content is not locked to any specific display orientation, and the content is operable in all display orientations", "help": "CSS Media queries must not lock display orientation", "violationConfidence": 90, diff --git a/lib/rules/video-caption.json b/lib/rules/video-caption.json index b0297ddb0..98f23d092 100644 --- a/lib/rules/video-caption.json +++ b/lib/rules/video-caption.json @@ -17,6 +17,7 @@ ], "actIds": ["eac66b"], "metadata": { + "defaultCategory": "media-captions", "description": "Ensure