diff --git a/lib/standards/aria-roles.js b/lib/standards/aria-roles.js
index de372b3dd5..8dc3c5b661 100644
--- a/lib/standards/aria-roles.js
+++ b/lib/standards/aria-roles.js
@@ -279,7 +279,7 @@ const ariaRoles = {
},
listbox: {
type: 'composite',
- requiredOwned: ['option'],
+ requiredOwned: ['group', 'option'],
allowedAttrs: [
'aria-multiselectable',
'aria-readonly',
@@ -408,7 +408,7 @@ const ariaRoles = {
},
option: {
type: 'widget',
- requiredContext: ['listbox'],
+ requiredContext: ['group', 'listbox'],
// Note: since the option role has an implicit
// aria-selected value it is not required to be added by
// the user
diff --git a/test/checks/aria/required-children.js b/test/checks/aria/required-children.js
index 38e1ccaae9..c5fba9de19 100644
--- a/test/checks/aria/required-children.js
+++ b/test/checks/aria/required-children.js
@@ -323,7 +323,7 @@ describe('aria-required-children', function() {
it('should fail when role does not allow group', function() {
var params = checkSetup(
- '
'
+ ''
);
assert.isFalse(
axe.testUtils
diff --git a/test/integration/rules/aria-required-children/aria-required-children.html b/test/integration/rules/aria-required-children/aria-required-children.html
index aff30c2ae3..0241ec6643 100644
--- a/test/integration/rules/aria-required-children/aria-required-children.html
+++ b/test/integration/rules/aria-required-children/aria-required-children.html
@@ -55,3 +55,16 @@
>Trash
+
+
+ option
+ option
+
+
+
+
+
diff --git a/test/integration/rules/aria-required-children/aria-required-children.json b/test/integration/rules/aria-required-children/aria-required-children.json
index 695071b043..68d33c2584 100644
--- a/test/integration/rules/aria-required-children/aria-required-children.json
+++ b/test/integration/rules/aria-required-children/aria-required-children.json
@@ -17,7 +17,9 @@
["#pass4"],
["#pass5"],
["#pass6"],
- ["#pass7"]
+ ["#pass7"],
+ ["#pass8"],
+ ["#pass9"]
],
"incomplete": [
["#incomplete1"],
diff --git a/test/integration/rules/aria-required-parent/aria-required-parent.html b/test/integration/rules/aria-required-parent/aria-required-parent.html
index 3c0d5588d1..be9ef5a4d9 100644
--- a/test/integration/rules/aria-required-parent/aria-required-parent.html
+++ b/test/integration/rules/aria-required-parent/aria-required-parent.html
@@ -58,3 +58,9 @@
+
+
diff --git a/test/integration/rules/aria-required-parent/aria-required-parent.json b/test/integration/rules/aria-required-parent/aria-required-parent.json
index df291caf49..0092d17059 100644
--- a/test/integration/rules/aria-required-parent/aria-required-parent.json
+++ b/test/integration/rules/aria-required-parent/aria-required-parent.json
@@ -22,6 +22,7 @@
["#pass9"],
["#pass10"],
["#pass11"],
- ["#pass12"]
+ ["#pass12"],
+ ["#pass13"]
]
}