Skip to content

Toolbar - About accessibility #42

@zwiastunsw

Description

@zwiastunsw

The toolbar is a key element of the Joomla Backend user interface. It contains a set of tools that allow you to perform various operations on content items. Therefore, the administrator should:

  • get quick and direct access to the toolbar from anywhere in the workspace
  • after performing the action, return to the place from which the action available in the toolbar was called
  • move between the options of the toolbar with the arrow keys
  • run actions optionally with mouse or default keyboard key (Space - actions, Enter - links).

The accessibility requirements that a good toolbar should meet are precisely defined in WAI-ARIA Authoring Practices 1.1.

Results of current tests

I tested in Windows 10, with NVDA 2018.2.1 and ChromeVox.

  1. The toolbar is fully accessible to mouse users (and sighted users), but not to keyboard and blind users.
  2. There is no way to access the toolbar quickly and directly. To access the toolbar, the keyboard user must use the Tab key to visit all the controls that are located before the current cursor position or after the current cursor position, one by one. To fix this problem, we can
    -- (1) create a new special navigation element on the Backend pages,
    -- (2) use the accesskey attributes.
  3. Moving between buttons requires the use of Tab or Shift+Tab instead of the default arrow keys. The Tab or Shift+Tab keys should move to the next/prev control item. To correct this problem, we must implement correct keyboard support, as described in the WAI-ARIA Authoring Practices 1.1.
  4. After executing the selected action, the user does not return to the place from which the action was called. The reason is the unimplemented keyboard support.

In addition, the screen reader announces the role and label of the toolbar, which sounds the same (toolbar). This is not a good practice. It's best to use a label that describes the purpose of the toolbar, e.g. "Action menu".

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions