Skip to content

Accessibility: Add accessibility guidelines #866

@GuySartorelli

Description

@GuySartorelli

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=0 element 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")
  • 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions