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 @@ +