From e138fd6a00a8da6c48a74a614adc5dae8f2044e1 Mon Sep 17 00:00:00 2001 From: Steven Lambert <2433219+straker@users.noreply.github.com> Date: Fri, 29 Oct 2021 10:24:09 -0600 Subject: [PATCH] fix(aria-allowed-attr): revert violation for non-global ARIA attrs on element without role (#3243) --- lib/checks/aria/aria-allowed-attr-evaluate.js | 2 +- test/checks/aria/allowed-attr.js | 12 ++++++++++++ .../rules/aria-allowed-attr/failures.html | 4 ++-- .../rules/aria-allowed-attr/failures.json | 1 - 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/lib/checks/aria/aria-allowed-attr-evaluate.js b/lib/checks/aria/aria-allowed-attr-evaluate.js index add21f2b7b..9d309437bf 100644 --- a/lib/checks/aria/aria-allowed-attr-evaluate.js +++ b/lib/checks/aria/aria-allowed-attr-evaluate.js @@ -69,7 +69,7 @@ function ariaAllowedAttrEvaluate(node, options, virtualNode) { ariaAttr.forEach(attr => { preChecks[attr] = validateRowAttrs; }); - if (allowed) { + if (role && allowed) { for (let i = 0; i < attrs.length; i++) { const attrName = attrs[i]; if (validateAttr(attrName) && preChecks[attrName]?.()) { diff --git a/test/checks/aria/allowed-attr.js b/test/checks/aria/allowed-attr.js index cd90e79dcf..a221956733 100644 --- a/test/checks/aria/allowed-attr.js +++ b/test/checks/aria/allowed-attr.js @@ -59,6 +59,18 @@ describe('aria-allowed-attr', function() { assert.isNull(checkContext._data); }); + it('should return true for non-global attributes if there is no role', function() { + var vNode = queryFixture( + '
' + ); + + assert.isTrue( + axe.testUtils + .getCheckEvaluate('aria-allowed-attr') + .call(checkContext, null, null, vNode) + ); + }); + it('should not report on invalid attributes', function() { var vNode = queryFixture( '' diff --git a/test/integration/rules/aria-allowed-attr/failures.html b/test/integration/rules/aria-allowed-attr/failures.html index 66dd65de84..4a5ed02109 100644 --- a/test/integration/rules/aria-allowed-attr/failures.html +++ b/test/integration/rules/aria-allowed-attr/failures.html @@ -28,12 +28,12 @@