The accesskey
global attribute provides a hint for generating a keyboard shortcut for the current element. The attribute value must consist of a single printable character (which includes accented and other characters that can be generated by the keyboard).
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Note: In the WHATWG spec, it says you can specify multiple space-separated characters, and the browser will use the first one it supports. However, this does not work in most browsers. IE/Edge uses the first one it supports without problems, provided there are no conflicts with other commands.
The way to activate the accesskey depends on the browser and its platform:
Windows | Linux | Mac | |
Firefox | Alt + Shift + key | On Firefox 57 or newer: Control + Option + key or Control + Alt + key
On Firefox 14 or newer: Control + Alt + key On Firefox 13 or older: Control + key | |
Internet Explorer | Alt + key
Alt + Shift + key |
N/A | |
Edge | N/A | Control + Option + key
Control + Option + Shift + key | |
Google Chrome | Alt + Shift + key | ||
Safari | N/A | ||
Opera 15+ | Alt + key | Control + Alt + key | |
Opera 12 | Shift + Esc opens a contents list which are accessible by accesskey, then, can choose an item by pressing key |
Accessibility concerns
In addition to poor browser support, there are numerous concerns with the accesskey
attribute:
- An
accesskey
value can conflict with a system or browser keyboard shortcut, or assistive technology functionality. What may work for one combination of operating system, assistive technology, and browser may not work with other combinations. - Certain
accesskey
values may not be present on certain keyboards, especially when internationalization is a concern. So adapting to specific languages could cause further problems. accesskey
values that rely on numbers may be confusing to individuals experiencing cognitive concerns, where the number doesn't have a logical association with the functionality it triggers.- Informing the user that
accesskey
s are present, so that they are aware of the functionality. If the system lacks a method of notifying the user about this feature, the user might accidentally activateaccesskey
s.
Because of these issues, it is generally advised not to use accesskey
s for most general-purpose websites and web apps.
Specifications
Specification | Status | Comment |
---|---|---|
HTML 5.2The definition of 'accesskey' in that specification. | Recommendation | More realistic behavior described for what is implemented in reality. |
HTML Living StandardThe definition of 'accesskey' in that specification. | Living Standard | No change from latest W3C HTML 5.1 spec. |
HTML 5.1The definition of 'accesskey' in that specification. | Recommendation | No change from HTML5. |
HTML5The definition of 'accesskey' in that specification. | Recommendation | From HTML 4.01 Specification, several characters can now be set as the accesskey . Also, it can be set on any element.
|
HTML 4.01 SpecificationThe definition of 'accesskey' in that specification. | Recommendation | Only supported on <a> , <area> , <button> , <input> , <label> , <legend> and <textarea>
|
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
accesskey
|
Chrome
Full support Yes |
Edge
Full support 12 |
Firefox
Full support Yes |
IE
Full support Yes |
Opera
Full support Yes |
Safari
Full support Yes |
WebView Android
Full support Yes |
Chrome Android
Full support Yes |
Firefox Android
Full support Yes |
Opera Android
Full support Yes |
Safari iOS
Full support Yes |
Samsung Internet Android
Full support Yes |
Legend
- Full support
- Full support
See also
Element.accessKey
HTMLElement.accessKeyLabel
- All global attributes.
aria-keyshortcuts
accesskey by Mozilla Contributors is licensed under CC-BY-SA 2.5.