Access key
In a web browser, an access key or accesskey allows a computer user to immediately jump to a specific part of a web page via the keyboard. They were introduced in 1999 and quickly achieved near-universal browser support.
In the summer of 2002, a Canadian Web Accessibility[1] consultancy did an informal survey to see if implementing accesskeys caused issues for users of adaptive technology, especially screen reading technology used by blind and low vision users. These users require numerous keyboard shortcuts to access web pages, as “pointing and clicking” a mouse is not an option for them. Their research showed that most key stroke combinations did in fact present a conflict for one or more of these technologies, and their final recommendation was to avoid using accesskeys altogether.
In XHTML 2, a revised web authoring language, the HTML Working Group of the World Wide Web Consortium deprecated the accesskey attribute in favor of the XHTML Role Access Module. However, XHTML 2 has been retired in favor of HTML5, which (as of August 2009) continues to permit accesskeys.[2]
Access in different browsers
For a more complete list of which browsers support the HTML Access keys, please see how they are compared in the comparison of web browsers.
Web Browser | Modifier | Effect | Notes |
---|---|---|---|
Amaya | Ctrl or Alt | Adjustable in preferences | |
Blazer | None | Element is activated immediately upon key press. | No modifier is needed for this web browser used on mobile devices. |
Camino | Ctrl | ||
Chrome | Alt on Windows, FreeBSD, and Linux (Note: Alt+⇧ Shift is required in some circumstances)
Ctrl + ⌥ Opt on Mac |
Supported in versions of Chrome >2.x | |
Firefox | Alt+⇧ Shift on Windows, FreeBSD and Linux[3][4]
Ctrl on Mac (up to v14.0)[3] |
Prior to version 2, Firefox used just Alt; configurable via about:config[3] | |
Internet Explorer | Alt | Prior to IE8, Alt + Access Key focused on the element, but required ↵ Enter to be pressed in order to activate the element. This is still the case for hyperlinks in version 9. | Alt+D cannot be used as an access key in IE 7 or above.[5] |
Konqueror | Ctrl | The modifier key must be released before the regular key is pressed. | |
Microsoft Edge | Alt | ||
Opera 15 and higher | Alt on Windows, FreeBSD, and Linux (Note: Alt+⇧ Shift is required in some circumstances)
Ctrl + ⌥ Opt on Mac |
||
Opera 12 | ⇧ Shift+esc | The modifier keys are released before the regular key is pressed. Once the modifier key is released, the browser displays the full list of access keys and their actions, and the user can hit the desired key. | |
Safari 3 | Ctrl on Mac
Alt on Windows |
||
Safari 4 and higher | Ctrl+⌥ Opt on Mac
Alt on Windows |
Conflicting access keys
If multiple identical accesskeys are assigned within the same document, IE will tab through them on each keypress (IE will tab backwards if ⇧ Shift is pressed as well). This way, elements can be logically grouped in various accesskey rings for easier navigation. IE 4.0 only supported letters of the English alphabet as accesskeys. Firefox 2.0 will activate the last of a group of elements assigned the same accesskey.
Specifying access keys
Access keys are specified in HTML using the accesskey attribute. The value of an element’s accesskey attribute is the key the user will press (typically in combination with one or more other keys, as defined by the browser) in order to activate or focus that element. Though the accesskey attribute sets the key that can be pressed, it does not automatically notify the user of the bound access key. One convention is for the page author to show the access key value by using the <u> tag to underline the letter in the link’s text corresponding to the accesskey assigned. For the link below, a user would press Alt+H on Internet Explorer, Ctrl+H on a Mac (the command key can give undesired results) and ⇧ Shift+Esc+H on Opera to be directed to index.html.
<a href="index.html" accesskey="h">Home</a>
or to emphasize ‹H›:
<a href="index.html" accesskey="h"><em>H</em>ome</a>
alternatively, the following CSS can be used to indicate the character:
*[accesskey]:after {content:' [' attr(accesskey) ']'}
Emphasize <em> isn’t necessary, but can be useful to the user. It helps them identify which key to press to navigate to where they want to. Another possible way of displaying which accesskeys do what is to create a page with all the accesskeys displayed. Or the webmaster could do both. Another option for the end user is to install a user script such as FireFox Access Bar for GreaseMonkey.
Use of standard access key mappings
In 2004, a standard emerged using numbers, which promotes consistency for users, and enables the increased predictability of keyboard shortcuts on different sites. These include, for example, 1 to go to the homepage, 0 for search, / for contact, and others..
Ten years later, in 2014, an updated and more comprehensive standard using both letters and numbers was released [6] in order to breathe new life into browser access key standardization efforts.
See also
References
- "Using Accesskeys: is it worth it?". Archived from the original on February 4, 2012.
- "The accesskey attribute". World Wide Web Consortium. Retrieved 2012-02-06.
- Ui.key.contentAccess - MozillaZine Knowledge Base (retrieved 2011-01-07)
- http://support.mozilla.com/en-US/kb/Accessibility?s=access+key&as=s#w_html-access-keys
- "You cannot press ALT+D to set the focus to an object in Internet Explorer 7". Microsoft. October 31, 2007. Retrieved 10 January 2014.
- http://www.standardaccesskeys.com/
External links
- A bug report for the MediaWiki software regarding conflicts with Accesskeys – includes lengthy discussion of various problems on different platforms
- A CSS stylesheet to make access keys on a website visible
- ACCESS + KEY = Accesskey (XHTML Role Access Module still flawed)
- Accesskeys and Reserved Keystroke Combinations
- Changes to Accesskeys in Firefox 2.0
- Ui.key.contentAccess – instructions on configuring access key behavior in Mozilla Firefox
- UK Government suggested numerical key standard
- User-defined Accesskeys using PHP
- Using Accesskeys is Easy
- SAK2014: Standard Access Keys 2014