diff --git a/lib/checks/forms/autocomplete-appropriate-evaluate.js b/lib/checks/forms/autocomplete-appropriate-evaluate.js
index bd7523d4f7..07a8594c5e 100644
--- a/lib/checks/forms/autocomplete-appropriate-evaluate.js
+++ b/lib/checks/forms/autocomplete-appropriate-evaluate.js
@@ -12,6 +12,7 @@ function autocompleteAppropriateEvaluate(node, options, virtualNode) {
const allowedTypesMap = {
bday: ['text', 'search', 'date'],
email: ['text', 'search', 'email'],
+ username: ['text', 'search', 'email'],
'street-address': ['text'], // Issue: https://github.com/dequelabs/axe-core/issues/1161
tel: ['text', 'search', 'tel'],
'tel-country-code': ['text', 'search', 'tel'],
diff --git a/test/checks/forms/autocomplete-appropriate.js b/test/checks/forms/autocomplete-appropriate.js
index 5444461314..39ab73ffa5 100644
--- a/test/checks/forms/autocomplete-appropriate.js
+++ b/test/checks/forms/autocomplete-appropriate.js
@@ -72,6 +72,12 @@ describe('autocomplete-appropriate', function() {
assert.isTrue(evaluate.apply(checkContext, params));
});
+ it('returns true if the input type is email and the term is username', function() {
+ var options = {};
+ var params = autocompleteCheckParams('username', 'email', options);
+ assert.isTrue(evaluate.apply(checkContext, params));
+ });
+
it('returns false if the input type is text and the term maps to an empty array', function() {
var options = { foo: [] };
var params = autocompleteCheckParams('foo', 'text', options);
diff --git a/test/commons/text/is-valid-autocomplete.js b/test/commons/text/is-valid-autocomplete.js
index b41504c790..edf9e9b868 100644
--- a/test/commons/text/is-valid-autocomplete.js
+++ b/test/commons/text/is-valid-autocomplete.js
@@ -48,7 +48,7 @@ describe('text.isValidAutocomplete', function() {
);
});
- it('returns true if "home", "work", "mobile", "fax" or "pager" is used before aqualifier', function() {
+ it('returns true if "home", "work", "mobile", "fax" or "pager" is used before a qualifier', function() {
['home', 'work', 'mobile', 'fax', 'pager'].forEach(function(qualifier) {
assert.isTrue(
isValidAutocomplete(qualifier + ' qualified-term', options),
diff --git a/test/integration/rules/autocomplete-valid/autocomplete-valid.html b/test/integration/rules/autocomplete-valid/autocomplete-valid.html
index 3d2f59643e..c14f419aa7 100644
--- a/test/integration/rules/autocomplete-valid/autocomplete-valid.html
+++ b/test/integration/rules/autocomplete-valid/autocomplete-valid.html
@@ -124,6 +124,7 @@
+