diff --git a/lib/commons/standards/implicit-html-roles.js b/lib/commons/standards/implicit-html-roles.js
index cc3c8edb74..64455b1cb2 100644
--- a/lib/commons/standards/implicit-html-roles.js
+++ b/lib/commons/standards/implicit-html-roles.js
@@ -157,6 +157,7 @@ const implicitHtmlRoles = {
option: 'option',
output: 'status',
progress: 'progressbar',
+ search: 'search',
section: vNode => {
return hasAccessibleName(vNode) ? 'region' : null;
},
diff --git a/lib/standards/html-elms.js b/lib/standards/html-elms.js
index 4bfa346506..ce773e111c 100644
--- a/lib/standards/html-elms.js
+++ b/lib/standards/html-elms.js
@@ -749,6 +749,10 @@ const htmlElms = {
allowedRoles: false,
noAriaAttrs: true
},
+ search: {
+ contentTypes: ['flow'],
+ allowedRoles: ['form', 'group', 'none', 'presentation', 'region', 'search']
+ },
section: {
contentTypes: ['sectioning', 'flow'],
allowedRoles: [
diff --git a/test/integration/rules/aria-allowed-attr/passes.html b/test/integration/rules/aria-allowed-attr/passes.html
index 3d0b949dae..1812f63cdc 100644
--- a/test/integration/rules/aria-allowed-attr/passes.html
+++ b/test/integration/rules/aria-allowed-attr/passes.html
@@ -2156,3 +2156,5 @@
+
+