Although thesitewizard.com and thefreecountry.com have had access keys support for a long time, I have not written about it in my tutorials, nor even drawn attention to their availability. This is because I generally believe that access keys are worthless in terms of increasing the accessibility of a website. Before you rush to retort, let me explain.
Access keys are designed to be a quick keyboard interface that webmasters can implement for their websites to improve accessibility. Basically, it is intended to help people who are disabled in some way. For example, they are meant for either those who are blind and have to navigate using screen readers or those who are physically handicapped in a way that their use of the mouse or keyboard is impaired. The access keys map certain characters on the keyboard to specific parts of the web page or site so that visitors can use the site with minimal keystrokes. Or so the theory goes.
On thesitewizard.com and thefreecountry.com, at the time I wrote this, the following access keys are defined. The numbers on the left are the access keys.
Before you write to tell me that some of the keys don't work, let me clarify that not all the above keys are available on every page. Since an access key is mostly just a convenient method of invoking a link, if the link to a particular page is not present, its corresponding access key is also missing (naturally). For example, at this time, the link to the donation page (and hence its corresponding access key) is missing from every single page on thefreecountry.com, since I haven't actually got around to putting the link there. The same goes for some of the other keys/pages.
If you can't find a rhyme or reason to the numbers used for my access keys, it's because, where possible, I have merely used the same (almost-standard) access keys found on many UK government websites as well as those on the BBC website.
While the basic intention behind access keys (to improve accessibility) is laudable, the concept is, in my opinion, fundamentally flawed. Essentially, there is no good way to implement it so that it's actually usable for the end user.
In order for access keys to actually be useful to the end user, the actual keys should be standardized across all websites. Otherwise, how are the end users supposed to know which keys they can use when browsing a particular website? Are you to encumber those users, and slow them even more, by forcing them to surf to an additional web page just to find out the list of access keys that are defined for that website? The additional step of going to a documentation page listing the access keys for the site is not worth the time. First, you got to search the entire page to discover the link to the access key document. Then you have to click that link to visit that page, read it and memorize the access keys available. What good does that do? You want to use access keys to save time, but you have to use a whole lot more time just to find out what the access key is.
So, in order to be useful, access keys need to be standardized across all websites. That way, users always know which keys is mapped to which page no matter which site they are at. Which brings us to the next (contradictory) point.
In order for access keys to be actually useful to the end user, the actual keys must be different on every website. Every site has a different purpose, structure and different content. Not all websites, for example, want a "Donation" page, a "Buy Now" page, a "Complaints" page or a "Products" listing. If access keys are standardized, websites will end up with many access keys that are irrelevant to them. In fact, the only access key that is relevant to all sites is probably the one that leads to the "Home" page. And I'm sure someone will come along and tell me that there are sites where that isn't meaningful either.
In other words, standardizing access keys brings no benefit to anyone.
Since access keys need to be standardized to be useful (see earlier point), and they cannot be standardized otherwise they will be useless (this point), it seems to me that the entire concept of access keys is not well thought through.
Look at the way websites (including mine) have implemented access keys. Most of the access keys are mapped to standard pages like the main page, search box, feedback form and the like. However, ask yourself: how many times have you needed to access my home page, or site map or feedback form? Okay, maybe thesitewizard.com is a bad example, since it is a tutorial website that has many people consulting the site map for other articles. But for most sites, how many times have you really needed to go to a website's site map?
Keyboard shortcuts are most useful when they are mapped to something that users frequently access. For example, on Windows, in normal use, Ctrl+Z (undo), Ctrl+C (copy), and Ctrl+V (paste) are very useful keyboard shortcuts. But what keyboard shortcut can conceivably be useful across all websites? Or even on a particular website? Especially when your visitors are on your site for such a short time.
In fact, even if you were to standardize access keys across all websites, the number of things in common that are frequently used on every site is very small.
As a result, all the websites I've seen, including mine, simply map access keys to the links and elements that are common to every page of the site. Frankly, I doubt it does anyone any good at all.
In my opinion, it's far more useful, where accessibility is concerned, to improve the browser keyboard interface, so that a user can easily hop from link to link, form field to form field, locate text within the page, jump from section to section, activate a link, etc.
Compounding the problem is the fact that most browsers implement access keys poorly. In fact, when I say "poorly", I'm probably being generous.
Unless they are using the Opera web browser, there's no easy way for users to get a list of access keys available on a particular web page. They have to search for a page on the site that describes the list.
(In versions of Opera up to ver 12.16, use SHIFT+ESC to bring up the list of access keys on any web page that supports them. That is, hold down SHIFT and press the ESC key. I'm not sure about the newer versions of Opera.)
In most browsers, to use the access keys, you need to hold down either the ALT key (Internet Explorer), the CTRL key (Safari) or simultaneously hold down both the SHIFT and ALT (Firefox) keys, while pressing the access key itself. In Internet Explorer ("IE"), you will need to also hit the ENTER key after that. Considering that access keys are meant for people with limited mobility, it seems to me that using the access keys will cause more accessibility problems than avoiding them.
(In fact, even in Opera, historically the most accessible and keyboard-friendly of all browsers, it's only in version 9.50 that the access keys can be used simply by typing the access key letter or number itself. Earlier versions were equally cumbersome.)
Incidentally, if from reading my description, you feel that above keystrokes are no big deal, you are thinking like an able-bodied person. Do this (to simulate a worst-case scenario): tie both your arms behind your back, put a stylus in your mouth, and use that stylus to type things on your keyboard by nodding your head over the correct characters on the keyboard. Even when you enable the "sticky keys" feature in your operating systems, ask yourself if you dare to call such a cumbersome operation (one that requires so many keystrokes) an "accessibility feature".
In other words, for people with mobility problems using the popular browsers, access keys are not only useless, they are a hinderance.
Access keys can be numeric or letters of the alphabet. For example, in earlier versions of my sites, I mapped "h" as the access key for the Home page, "m" for the "Site Map", "s" for the search box, and so on.
In practice however, because of the way web browsers implement the access keys, the only access keys you can use for your website are the numbers. Take Internet Explorer 6 for Windows as an example. If you mapped "h" for your Home page, and "f" for your Feedback form, what happens when someone types Alt+H or Alt+F to invoke the access keys? In the first example, the Help menu will open. In the second example, the "File" menu will pop up. There goes the shortcut to your home page or feedback form. Since menus vary from browser to browser, and plugins, add-ons and extensions used by your visitors may add to the menus available, if you really want to help those who need accessibility aids, you cannot use any of the letters of the alphabet.
In other words, you only have the 9 digits to use. And that is assuming someone doesn't create a browser menu that is activated by an Alt+number.
Although access keys are also meant to help blind users as well, they are for the most part useless to them.
Most commercial screen reader software basically take over the keyboard and redefine most of the useful keys to some other purpose. This redefinition usually conflict with the access keys supported by the browser.
However, in this case, you don't need to get up in arms over the issue. If you have tried any of the commercial screen readers, you will probably have noticed that they have some very useful keyboard shortcuts that make surfing with a screen reader very much easier. Their keyboard shortcuts provide better functionality than any you can create using the brain-dead access key facility, so the fact that they nullify your access keys is not going to be a loss to your users.
In other words, access keys are irrelevant to blind users.
To sum up:
Access keys need to be standardized to be useful but cannot be standardized if they are to be useful.
They are meant for people with mobility problems and blind users, but are a hinderance for people with mobility problems and are useless to blind users.
There isn't much a webmaster can do with access keys that can make it really useful.
Personally, I think that access keys are the wrong solution to the problem of accessibility. For normal non-interactive web documents, the issues of keyboard accessibility should be solved by the browser providing a better keyboard interface rather than the site providing its own additional keyboard interface.
I suspect that the original idea of access keys arose from the experience of computer applications providing a keyboard interface. The trouble with this thinking is that most websites are not applications. They are just documents that can be viewed inside another application, the browser. In addition, the sites that are applications (like Gmail and other interactive sites) will probably need more key definitions than that provided by those few miserable access keys.
When accessibility guidelines suggest access keys as a means to improve usability, you have many webmasters scurrying to implement them, hoping that they will make the browsing experience more pleasant for those with disabilities. But I think the reality is that the access keys add nothing to accessibility.
What do you think? Do you agree that access keys are irrelevant and useless for accessibility or do you think I've completely missed the point? Since this is just an opinion piece, rather than my usual tutorials, if you have any thoughts about it either way, feel free to drop me a note. For what it's worth, the access key to my feedback form is "9".
Do you find this article useful? You can learn of new articles and scripts that are published on thesitewizard.com by subscribing to the RSS feed. Simply point your RSS feed reader or a browser that supports RSS feeds at https://www.thesitewizard.com/thesitewizard.xml. You can read more about how to subscribe to RSS site feeds from my RSS FAQ.
This article is copyrighted. Please do not reproduce or distribute this article in whole or part, in any form.
It will appear on your page as: