diff --git a/Changelog.md b/Changelog.md index 35020249..fdf698b9 100644 --- a/Changelog.md +++ b/Changelog.md @@ -8,6 +8,7 @@ * Escape special characters to be used in a query selector string (PR #267) * Fix exception thrown by RoleTooltipRequiresDescribedBy.js (#269) +* Fixed `unsupportedAriaAttribute` which did not accept `tablist` with `aria-multiselectable` ## 2.10.0 - 2015-11-13 diff --git a/src/js/Constants.js b/src/js/Constants.js index 271a498f..7eddd40c 100644 --- a/src/js/Constants.js +++ b/src/js/Constants.js @@ -414,7 +414,7 @@ axs.constants.ARIA_ROLES = { "mustcontain": [ "tab" ], "namefrom": [ "author" ], "parent": [ "composite", "directory" ], - "properties": [ "aria-level" ] + "properties": [ "aria-level", "aria-multiselectable" ] }, "tabpanel": { "namefrom": [ "author" ], diff --git a/test/audits/unsupported-aria-attribute-test.js b/test/audits/unsupported-aria-attribute-test.js index 5eaec6ba..1d593223 100644 --- a/test/audits/unsupported-aria-attribute-test.js +++ b/test/audits/unsupported-aria-attribute-test.js @@ -33,6 +33,20 @@ assert.runRule(config); }); + test('Element with role and supported attributes', function(assert) { + var fixture = document.getElementById('qunit-fixture'); + var widget = fixture.appendChild(document.createElement('div')); + widget.setAttribute('role', 'tablist'); + widget.setAttribute('aria-multiselectable', 'true'); // supported + + var config = { + ruleName: RULE_NAME, + expected: axs.constants.AuditResult.PASS, + elements: [] + }; + assert.runRule(config); + }); + test('Element with no role and global attributes only', function(assert) { var fixture = document.getElementById('qunit-fixture'); var div = fixture.appendChild(document.createElement('div'));