Skip to content

Commit

Permalink
Merge pull request #629 from HugoGiraudel/fix/radio-aria-required
Browse files Browse the repository at this point in the history
fix(commons/aria): allow aria-required on radio and checkbox roles
  • Loading branch information
WilcoFiers authored Dec 11, 2017
2 parents a3d24de + 92b3fba commit 28fe4d6
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 4 deletions.
4 changes: 2 additions & 2 deletions lib/commons/aria/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ lookupTables.role = {
'checkbox': {
type: 'widget',
attributes: {
allowed: ['aria-checked']
allowed: ['aria-checked', 'aria-required']
},
owned: null,
nameFrom: ['author', 'contents'],
Expand Down Expand Up @@ -617,7 +617,7 @@ lookupTables.role = {
'radio': {
type: 'widget',
attributes: {
allowed: ['aria-checked', 'aria-selected', 'aria-posinset', 'aria-setsize'],
allowed: ['aria-checked', 'aria-selected', 'aria-posinset', 'aria-setsize', 'aria-required'],
},
owned: null,
nameFrom: ['author', 'contents'],
Expand Down
14 changes: 13 additions & 1 deletion test/checks/aria/allowed-attr.js
Original file line number Diff line number Diff line change
Expand Up @@ -107,4 +107,16 @@ describe('aria-allowed-attr', function () {

});

});
it('should not report on allowed attributes', function () {
var node = document.createElement('div');
node.id = 'test';
node.tabIndex = 1;
node.setAttribute('role', 'radio');
node.setAttribute('aria-required', 'true');
fixture.appendChild(node);

assert.isTrue(checks['aria-allowed-attr'].evaluate.call(checkContext, node));
assert.isNull(checkContext._data);
});

});
6 changes: 6 additions & 0 deletions test/integration/rules/aria-allowed-attr/passes.html
Original file line number Diff line number Diff line change
Expand Up @@ -136,3 +136,9 @@
<div role="table" id="pass67" aria-colcount="value" aria-rowcount="value" aria-atomic="value" aria-busy="value" aria-controls="value" aria-describedby="value" aria-disabled="value" aria-dropeffect="value" aria-flowto="value" aria-grabbed="value" aria-haspopup="value" aria-hidden="value" aria-invalid="value" aria-keyshortcuts="value" aria-label="value" aria-labelledby="value" aria-live="value" aria-owns="value" aria-relevant="value">ok</div>

<input type="reset" id="pass68" value="Reset" aria-pressed="true"/>

<input type="radio" aria-required="true" id="pass69" />
<div role="radio" aria-required="true" id="pass70">ok</div>

<input type="checkbox" aria-required="true" id="pass71" />
<div role="checkbox" aria-required="true" id="pass72">ok</div>
3 changes: 2 additions & 1 deletion test/integration/rules/aria-allowed-attr/passes.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
["#pass43"], ["#pass44"], ["#pass45"], ["#pass46"], ["#pass47"], ["#pass48"], ["#pass49"],
["#pass50"], ["#pass51"], ["#pass52"], ["#pass53"], ["#pass54"], ["#pass55"], ["#pass56"],
["#pass57"], ["#pass58"], ["#pass59"], ["#pass60"], ["#pass61"], ["#pass62"], ["#pass63"],
["#pass64"], ["#pass65"], ["#pass66"], ["#pass67"], ["#pass68"]
["#pass64"], ["#pass65"], ["#pass66"], ["#pass67"], ["#pass68"], ["#pass69"], ["#pass70"],
["#pass71"], ["#pass72"]
]
}

0 comments on commit 28fe4d6

Please sign in to comment.