Skip to content

Commit 6d20ac3

Browse files
committed
Provide exceptions for li to row and ul to radiogroup in the recommended config for no-noninteractive-element-to-interactive-role
1 parent 6e4682f commit 6d20ac3

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

__tests__/src/rules/no-noninteractive-element-to-interactive-role-test.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -433,16 +433,19 @@ ruleTester.run(`${ruleName}:recommended`, rule, {
433433
...alwaysValid,
434434
{ code: '<ul role="menu" />;' },
435435
{ code: '<ul role="menubar" />;' },
436+
{ code: '<ul role="radiogroup" />;' },
436437
{ code: '<ul role="tablist" />;' },
437438
{ code: '<ul role="tree" />;' },
438439
{ code: '<ul role="treegrid" />;' },
439440
{ code: '<ol role="menu" />;' },
440441
{ code: '<ol role="menubar" />;' },
442+
{ code: '<ol role="radiogroup" />;' },
441443
{ code: '<ol role="tablist" />;' },
442444
{ code: '<ol role="tree" />;' },
443445
{ code: '<ol role="treegrid" />;' },
444446
{ code: '<li role="tab" />;' },
445447
{ code: '<li role="menuitem" />;' },
448+
{ code: '<li role="row" />;' },
446449
{ code: '<li role="treeitem" />;' },
447450
]
448451
.map(ruleOptionsMapperFactory(recommendedOptions))
@@ -462,16 +465,19 @@ ruleTester.run(`${ruleName}:strict`, rule, {
462465
...neverValid,
463466
{ code: '<ul role="menu" />;', errors: [expectedError] },
464467
{ code: '<ul role="menubar" />;', errors: [expectedError] },
468+
{ code: '<ul role="radiogroup" />;', errors: [expectedError] },
465469
{ code: '<ul role="tablist" />;', errors: [expectedError] },
466470
{ code: '<ul role="tree" />;', errors: [expectedError] },
467471
{ code: '<ul role="treegrid" />;', errors: [expectedError] },
468472
{ code: '<ol role="menu" />;', errors: [expectedError] },
469473
{ code: '<ol role="menubar" />;', errors: [expectedError] },
474+
{ code: '<ol role="radiogroup" />;', errors: [expectedError] },
470475
{ code: '<ol role="tablist" />;', errors: [expectedError] },
471476
{ code: '<ol role="tree" />;', errors: [expectedError] },
472477
{ code: '<ol role="treegrid" />;', errors: [expectedError] },
473478
{ code: '<li role="tab" />;', errors: [expectedError] },
474479
{ code: '<li role="menuitem" />;', errors: [expectedError] },
480+
{ code: '<li role="row" />;', errors: [expectedError] },
475481
{ code: '<li role="treeitem" />;', errors: [expectedError] },
476482
].map(parserOptionsMapper),
477483
});

src/index.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ module.exports = {
7272
'jsx-a11y/no-noninteractive-element-to-interactive-role': [
7373
'error',
7474
{
75-
ul: ['menu', 'menubar', 'tablist', 'tree', 'treegrid'],
76-
ol: ['menu', 'menubar', 'tablist', 'tree', 'treegrid'],
77-
li: ['menuitem', 'tab', 'treeitem'],
75+
ul: ['listbox', 'menu', 'menubar', 'radiogroup', 'tablist', 'tree', 'treegrid'],
76+
ol: ['listbox', 'menu', 'menubar', 'radiogroup', 'tablist', 'tree', 'treegrid'],
77+
li: ['menuitem', 'option', 'row', 'tab', 'treeitem'],
7878
table: ['grid'],
7979
td: ['gridcell'],
8080
},

0 commit comments

Comments
 (0)