-
Notifications
You must be signed in to change notification settings - Fork 73
Open
Labels
Milestone
Description
We don't currently have any guidelines for accessibly development, which may result in inconsistencies.
We should document accessibility best practices as they apply to development of Silverstripe CMS.
Some things to include are:
- What web accessibility standards we strive to achieve (Jenn to decide - e.g. WCAG AA)
- Information about roving tabindex with a link to that page
- The roving tabindex container can (maybe always should, but at least can) have an outline around it when an item inside it is
:focus-visible. The outline should be the same width and colour as the focus outline, but should be dashed. - If the roving tabindex container has pagination (e.g. gridfield, asset gallery, etc), the roving tabindex container should announce the pagination information (e.g "Page 3 of 12, 13 items on this page"). The number of items on the page does not need to be visually written, because it is presented visually by literally rendering the items.
- If you have focused on an item inside the roving tabindex container, that item should retain the roving tabindex (i.e. tabindex=0). This is true even if you have an edit form open for another item in the container.
- Mouse events that would normally set focus on a
tabindex=0element should update the roving tabindex to the interacted element. - If an action happens irregularly and especially if it uses the same key that would normally perform another action (e.g. removing a failed upload in the asset gallery), focusing on that item should announce the action (e.g. "press enter to remove")
- The roving tabindex container can (maybe always should, but at least can) have an outline around it when an item inside it is
- Other keyboard navigation/operation information (e.g. how to deal with drag/drop)
- A link to the W3C patterns as a guide
There are probably other things we should note, as well.