-
Notifications
You must be signed in to change notification settings - Fork 268
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
WCAG support #216
Comments
Thanks for opening this. Having WCAG support would be great. I believe there are no clear guidelines for a mixed or combo control like this. This component essentially is a mix of:
To fully implement WCAG in a meaningful way, we'd need the following: To add ARIA attributes
To add Keyboard navigation
As you can see, the scope can be quite broad for getting it right a 100%, but I think we can probably add stuff incrementally in multiple PRs. I'll start looking into it, and I'm open to ideas, suggestions, and PRs for this. |
Did some first tries to include a11y-testing through axe: It only detects missing labeling for search input though. Not sure it will detect our scenario/needs. Since some dom-nodes are not rendered by React, it propably cannot detect that we expand and collapse child nodes. Not sure of it's capabilties. But it probably will be able to validate the attributes we apply I guess. They also state
Here is the rule list: |
I meant scroll should work with arrow/pg up/dn keys... |
Alright, then that's in place in #225 also. A virtual window would be nice though and solve another open issue I think. Lots of potential nodes to render on page down 🐢 Most of them are based on fixed heights though so unsure how that would be solved good with custom css and long labels etc... The audit for Chrome/axe doesn't solve more than validation of added aria-attributes for us, custom controls are open to interpretation. But Code climate seems to be aware of them already so perhaps they are redundant and should be removed. |
Do you mean something like react-window or similar? I've considered many in the past and most of them require a fixed height which is kind of a downer for me. It's an additional burden for the caller which I would like to avoid. The current solution seems like a good one though, is there something bothering you?
Page down should render the next page, similar to what happens when you reach the last item via mouse scroll (it renders the next set of 100 items, which is our page size).
I was wondering the same. Between code climate and our RFC assertions, we should be ok so yeah, remove axe if you prefer so. |
It currently goes to the actual last item. Guess End should only that that then (or arrow up on an unfocused control)
Realized since we set them dynamically, code climate won't detect them. |
# Conflicts: # .codeclimate.yml # .prettierrc # src/index.js # src/input/index.js # src/tag/index.js # src/tree-node/index.js # src/tree-node/index.test.js # src/tree/index.js # yarn.lock
# Conflicts: # __snapshots__/src/index.test.js.snap
🎉 This issue has been resolved in version 1.20.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This issue has been resolved in version 3.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
There's currently no support for keyboard navigation and no ARIA-attributes present.
Here are some guidelines one should consider complying with WCAG:
https://www.w3.org/TR/wai-aria-practices/examples/listbox/listbox-collapsible.html
Here are some of the highlights on attributes one should consider implementing:
The text was updated successfully, but these errors were encountered: