Skip to content

Commit ec9f507

Browse files
authored
fix(aria-required-children): allow separator in menu(bar) (#3868)
1 parent 90dca3d commit ec9f507

3 files changed

Lines changed: 18 additions & 6 deletions

File tree

lib/standards/aria-roles.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -329,12 +329,14 @@ const ariaRoles = {
329329
},
330330
menu: {
331331
type: 'composite',
332+
// Note: spec difference (menu & separator as required owned)
332333
requiredOwned: [
333334
'group',
334335
'menuitemradio',
335336
'menuitem',
336337
'menuitemcheckbox',
337-
'menu'
338+
'menu',
339+
'separator'
338340
],
339341
allowedAttrs: [
340342
'aria-activedescendant',
@@ -345,13 +347,14 @@ const ariaRoles = {
345347
},
346348
menubar: {
347349
type: 'composite',
348-
// Note: spec difference (menu as required owned)
350+
// Note: spec difference (menu & separator as required owned)
349351
requiredOwned: [
350352
'group',
351353
'menuitemradio',
352354
'menuitem',
353355
'menuitemcheckbox',
354-
'menu'
356+
'menu',
357+
'separator'
355358
],
356359
allowedAttrs: [
357360
'aria-activedescendant',

test/integration/rules/aria-required-children/aria-required-children.html

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@
4949
<div role="menu" id="pass7">
5050
<ul role="group" id="ignore11">
5151
<li role="menuitem" id="ignore12">>Inbox</li>
52-
<li role="menuitem" id="ignore13">>Archive</li>
53-
<li role="menuitem" id="ignore14">>Trash</li>
52+
<li role="separator" id="ignored13"></li>
53+
<li role="menuitem" id="ignore14">>Archive</li>
54+
<li role="menuitem" id="ignore15">>Trash</li>
5455
</ul>
5556
</div>
5657

@@ -127,3 +128,10 @@
127128
</ul>
128129
</li>
129130
</ul>
131+
132+
<nav role="menubar" id="pass17">
133+
<a role="menuitem" href="">Item 1</a>
134+
<a role="menuitem" href="">Item 2</a>
135+
<span role="separator"></span>
136+
<a role="menuitem" href="">Item 3</a>
137+
</nav>

test/integration/rules/aria-required-children/aria-required-children.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@
3131
["#pass13"],
3232
["#pass14"],
3333
["#pass15"],
34-
["#pass16"]
34+
["#pass16"],
35+
["#pass17"]
3536
],
3637
"incomplete": [
3738
["#incomplete1"],

0 commit comments

Comments
 (0)