-
Notifications
You must be signed in to change notification settings - Fork 53
docs(Accessibility): add accessibility spec #2237
base: master
Are you sure you want to change the base?
Conversation
Perf comparison
Generated by 🚫 dangerJS |
specs/Accessibility.md
Outdated
- macOS/Chrome - VoiceOver | ||
|
||
## Contrast | ||
- There has to be sufficient contrast between background and foreground of the component (text, icon...) in all component states and themes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could use more info, links to specs etc
Co-Authored-By: Makoto Morimoto <humbertomakotomorimoto@gmail.com>
|
||
## Zoom | ||
- Elements need to be rendered correctly when zoomed up to 400% | ||
- Content need to be able to [reflow](https://www.w3.org/WAI/WCAG21/Understanding/reflow.html) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Content need to be able to [reflow](https://www.w3.org/WAI/WCAG21/Understanding/reflow.html) | |
- Content needs to be able to [reflow](https://www.w3.org/WAI/WCAG21/Understanding/reflow.html) |
<Checkbox aria-checked={false} ... /> | ||
``` | ||
|
||
Components also respect onKeyDown prop for event listeners. If used, the listener is called after the keys from the behavior have been processed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Components also respect onKeyDown prop for event listeners. If used, the listener is called after the keys from the behavior have been processed. | |
Components also respect the `onKeyDown` prop for event listeners. If used, the listener is called after the keys from the behavior have been processed. |
## Focus | ||
- Whenever possible, focus should land only on elements that have concrete implicit or explicit ARIA role (`<button />`, `role='button'`, `role='menuitem'`, ....) | ||
- onClick event handlers need to be handled on focusable elements with implicit or explicit ARIA role and not on their parent/child elements | ||
- When reacting to on focus or on hover events, screen reader interaction needs to be specified. Some screen readers do not have the concept of hovering and not always focus elements, so the screen reader needs another way to interact with the elements. For example showing popups on focus or on hover needs to have an alternatve interaction compatible with the screen readers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- When reacting to on focus or on hover events, screen reader interaction needs to be specified. Some screen readers do not have the concept of hovering and not always focus elements, so the screen reader needs another way to interact with the elements. For example showing popups on focus or on hover needs to have an alternatve interaction compatible with the screen readers. | |
- When reacting to on focus or on hover events, screen reader interaction needs to be specified. Some screen readers do not have the concept of hovering and don't always focus elements, so the screen reader needs another way to interact with them. For example showing popups on focus or on hover needs to have an alternative interaction compatible with the screen readers. |
- onClick event handlers need to be handled on focusable elements with implicit or explicit ARIA role and not on their parent/child elements | ||
- When reacting to on focus or on hover events, screen reader interaction needs to be specified. Some screen readers do not have the concept of hovering and not always focus elements, so the screen reader needs another way to interact with the elements. For example showing popups on focus or on hover needs to have an alternatve interaction compatible with the screen readers. | ||
|
||
## Screen reader support |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be helpful to add guidance for scan mode or at least warnings of lack of scan mode support because a lot of issues coming in currently are regarding this special feature of Narrator (which since it is a Microsoft AT users expect our controls to work with it fully).
This reflects current state of the framework, code and process used for Fluent components