diff --git a/specs/Accessibility.md b/specs/Accessibility.md new file mode 100644 index 0000000000..6fd8a2f199 --- /dev/null +++ b/specs/Accessibility.md @@ -0,0 +1,107 @@ +# Requirements + +## ARIA conformance +In general, components need to conform to the [WAI-ARIA Authoring Practices 1.2](https://www.w3.org/TR/wai-aria-practices-1.2/). These practices are evaluated to achieve best possible user experience with supported browser/screen reader combinations. + +## Keyboard navigation +- All elements that are interactive need to be focusable using keyboard keys (TAB/Shift+Tab or arrow keys) +- Elements that have click or right-click (contextmenu) handlers need to respond to Enter/Space or secondary action shortcuts. Users need to be able to initiate the click or right click when using screen readers. +- Focused element needs to be highlighted if it was focused by keyboard +- Focus should never go to the ```` element +- User needs to be able to move focus at any time, focus should not be be 'stuck' on one element +- In RTL mode, left arrow key moves the focus to the next focusable element, right arrow key moves the focus to the previous focusable element within the focus zone. + +## Focus +- Whenever possible, focus should land only on elements that have concrete implicit or explicit ARIA role (`