Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow role=combobox on more input types #1777

Closed
WilcoFiers opened this issue Aug 20, 2019 · 5 comments
Closed

Allow role=combobox on more input types #1777

WilcoFiers opened this issue Aug 20, 2019 · 5 comments
Assignees
Labels
docs Documentation changes fix Bug fixes hacktoberfest Help contribute during the month of October to participate https://hacktoberfest.digitalocean.com/ rules Issue or false result from an axe-core rule
Milestone

Comments

@WilcoFiers
Copy link
Contributor

WilcoFiers commented Aug 20, 2019

The following should pass aria-allowed-role:

<input type="search" 
  role="combobox"
  aria-expanded="false"
  aria-label="search" />

This is allowed according to the ARIA 1.0 spec, but it isn't allowed by HTML-ARIA. Given their status, I think the ARIA spec should get priority. Since the following are combobox by default if you put a list attribute on them, I think axe-core should allow the following types to be a combobox:

  • text
  • search
  • tel
  • url
  • email
@WilcoFiers WilcoFiers added fix Bug fixes rules Issue or false result from an axe-core rule labels Aug 20, 2019
@WilcoFiers
Copy link
Contributor Author

That's actually the same as what we have here, making that consistent as well:
https://github.com/dequelabs/axe-core/blob/develop/lib/checks/aria/required-children.js#L67

@straker
Copy link
Contributor

straker commented Oct 11, 2019

Just need to update the combobox allowedElements object in our master aria file to allow an array of types instead of a single type.

nodeName: 'input',
properties: {
  type: ['text', 'search', 'tel', 'url', 'email']
}

Then update the integration test for aria-allowed-role to include inputs of these types using role="combobox". The integration file is a bit odd in that you create an element that should pass the rule and give it a unique id. Then you'll need to update the associated integration json passes array to include each of the newly added ids in their own array.

@straker straker added the hacktoberfest Help contribute during the month of October to participate https://hacktoberfest.digitalocean.com/ label Oct 11, 2019
@jeankaplansky
Copy link
Contributor

@straker: This list is final? No other type values than these?:

  • text
  • search
  • tel
  • url
  • email

Please confirm. Thanks!

@straker
Copy link
Contributor

straker commented Nov 19, 2019

@jeankaplansky Should be

@padmavemulapati
Copy link

Verified with latest axe-coconut and axe, looks everything working fine

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs Documentation changes fix Bug fixes hacktoberfest Help contribute during the month of October to participate https://hacktoberfest.digitalocean.com/ rules Issue or false result from an axe-core rule
Projects
None yet
Development

No branches or pull requests

5 participants