Page tree
Skip to end of metadata
Go to start of metadata

One key aspect of accessibility is the ability for the user to utilise their keyboard in order to access as much as possible of the content and user interface of the extensions.

Generally speaking, using tab key users should be able to move between logical UI groups, selecting the first element within the logical group. Once that first element has been selected, users should be able to use arrow keys to move the selection focus within that group. Hitting tab will focus to the next logical group. Of course, shift+tab moves in the opposite direction.

Enter and space keys confirm the selection.

Interaction paradigms of more complex interface elements should be in concordance with how that interface element functions in the rest of the operating system. For example, a drop down should behave like this:

  • Users need to be able to use keyboard arrows ↑↓ to move across the options.
  • Users need to be able to use enter ↵ to confirm the selection. In case of simple drop downs, this also closes the dropdown.
  • Users need to be able to use space or enter to toggle options, especially in the multi select drop downs, and this doesn’t close the dropdown, enabling users to use keyboard to go, for example, Down-Space-Down-Space-Down-Space to toggle three checkboxes.
  • Users need to be able to hit Esc to close the dropdown. In case of multi selects, they remain in the state they were when escape was pressed (so they don’t revert back) as Escape isn't Cancel, it merely just closes the drop down.
  • Users need to be able to press keyboard letter/number key which would focus them to the row starting with that letter/number. Of course, typing onward would focus on the ever-closer line item. Pressing A, goes to the first line at A, but typing A, P, P would focus to something like “Apple” or similar.

It is advisable to try to do some tasks just using keyboard. For example, we should be able to use Guided Development just through keyboard, no mouse input necessary. 

  • No labels