Access keys or accesskeys

Tagged with:

Introduction to access keys

Web browser Access Keys were developed to enable a computer user to go to a particular web page or field immediately when a specified key is pressed alongside the Alt key. It is not recommended that they are used because they cause more issues for users of adaptive technology (AT) than they solve.


In 1999 Access Keys were first introduced and most browsers now support them.

UK Government accesskeys standard

The UK Government published in May 2002 the Building in universal accessibility + checklist (which was archived on 3 July 2010) and defined the UK Government accesskeys standard which recommends the following keys and their use:

UK Government accesskeys
SSkip navigation
1Home page
2What's new
3Site map
5Frequently Asked Questions (FAQ)
7Complaints procedure
8Terms and conditions
9Feedback form
0Access key details

How to use access keys

Navigation with accesskeys
Alt + 0Access key details
Alt + 1Site homepage
Alt + 3Sitemap
Alt + SSkip navigation

How to specify access keys

It can be helpful to the user to do something to show what key is the access key and this can be done in a number of ways. For example one method is to show which key is the access key via the use of an <u>

So for the link below

<a href="index.aspx" accesskey="h">Home</a>

It would be

<a href="index.aspx" accesskey="h"><u>H</u>ome</a>

Or emphasis could be used

<a href="index.aspx" accesskey="h"><em>H</em>ome</a>

Or CSS can be used

*[accesskey]:after {content:' [' attr(accesskey) ']'}

How to specify access keys

It can be helpful to the user to do something to show what key is the access key and this can be done by showing a list of the keys and what they do.

Accessibilty concerns


JavaScript can be used as an alternative to activate shortcut key functionality because it is able to detect key presses, or a combination of key presses, but there may be possible conflicts that are hard to identify.

Windows virtual buffer

Screen readers used in Windows support interaction with browser rendered content by using a virtual model. A virtual buffer of content is generated using the page content, based upon the accessibility tree and information in DOM, and the screen reader presents this to the user.

The screen reader interacts with the virtual buffer by listening for events generated by the keyboard. When a key press is detected that has a corresponding command utilised by the screen reader, that command is executed in the virtual buffer. If there is not a corresponding command, the browser is passed the key where it will be captured by the JavaScript handler.

Unfortunately, most available keys are allocated for Windows screen reader specific commands, and not many keys are able to pass through to the browser, and the JavaScript shortcuts therefor do not get triggered.

You can tell Jaws and NVDA to route the next key to the browser:

Wrapping up

Good usability allows the website design to provide flexibility, and user controls will help make a website accessible, and while there are always going to be trade-offs, this will enable the adjustment of the interface to match users’ requirements, and work with their accessibility settings, assistive technology, and adaptive strategies.

We would recommend due to the noted accessibility concerns of access keys that they are not used, but if you are going to use accesskeys use the GOV.UK standard or if it does not apply:

Remember access keys are a fallback for things that do not have a standard activation behaviour.

Share on: