This Wiki page is edited by participants of the HTML Accessibility Task Force. It does not necessarily represent consensus and it may have incorrect information or information that is not supported by other Task Force participants, WAI, or W3C. It may also have some very useful information.
Accesskey/Usecases
Use cases and derived requirements for "accesskey" (or whatever replaces it).
Contents
Use cases
Generally, the idea of "accesskey.next" is to provide a simple, robust way for an application to identify that it is important for some object (navigation landmark, or application control) to have "immediate" "random access", as opposed to only being able to navigate to or activate the control through sequential selection like tabbing links and form controls.
For well-defined objects (form submission buttons, nav or main elements) this is unnecessary.
Normally today the mechanism for doing this is to use javascript, and listen for various events including mouse, pointer, key and touch events. This is neither simple nor robust. The most common problems are
- relying on events that a particular user cannot generate
- for example assuming a mouse cursor breaks down for many touch interfaces and keyboard interfaces,
- conflicting with the user environment
- listening for key events in particular can cause this, as the key event may normally have a function in the interface of the user agent - especially assistive technologies which commonly extend the interface using keyboard shortcuts.
- Key events that are expected may also fail to match the user's keyboard - there is an enormous variety of them
Webmail interface
Webmail interfaces have a number of controls typically implemented as buttons, such as Compose a new message, Mark as Spam, Label as Read, Forward Message, Reply, …
They have a number of navigation points - a set of folders or filters, some of which are common and some of which are specific to a user.
They allow navigating messages individually, but they may have a dynamic thread navigator, allow navigation of archives by time, e.g. weeks or months.
Dynamic Game
Many interactive games require continuous input, most typically managed from a keyboard or mouse although touch interfaces are common and gesture-based interfaces are becoming more common.
Corporate Intranet Application
Like webmail, there are a number of applications that people can be expected to use very regularly, for functions like recording time worked, planning applications and the like.
Educational website
Educational websites can have a variety of interactive components meant to demonstrate different concepts.
These components can have a widely variable range of functionality - for example the controls for analytic chemistry simulators are likely to be very different depending on the particular analytic techniques being demonstrated.
Media player interfaces
Media players have a number of controls, typically buttons and sliders, for standard actions like Play, Pause, Volume up/down, Captions and so forth. Often a media player is the primary artefact within an interface that contains other content, YouTube or Vimeo for example.
Composite widget
Composite widgets that represent complex structures may use aria-activedescendant to manage focus. In such cases there may be situations where it is helpful to move directly to the active descendant, for example to a menuitem within a menubar or the current date within a datepicker.
Requirements
Author hints
The author is the only party with a priori knowledge of the specific function of the control. The author should be able to propose useful mnemonics for the control.
User Control of behaviour mapping
The user (or their user agent) must be able to determine which particular behaviours will be mapped to "accesskey" triggers.
Discoverability - on/off
The user must be able to discover that a page has assigned "accesskey" triggers.
Discoverability - controls
The user must be able to discover what controls are mapped to which objects in the page.
In some cases the most appropriate behaviour is to navigate to a control, in others to activate it directly. While authors are likely to have a sense of the most useful default, different users have different requirements. Determining this choice should allow for an author hint and must allow for user control