One of the worst culprits for creating what I call “too much accessibility” is the ACCESSKEY attribute. Of course, it has its place in the accessible web author’s toolkit, but when implemented by someone who doesn’t know how other keyboard shortcuts work, it can be a positive menace.
I’m a constant user of the keyboard for navigation. This may make me more conscious of the problems that result from over-helpful use of this attribute, but knowing my HTML, at least I’ve a good idea of what’s happening. Other keyboard users will have the same problems, though they may not know “what’s gone wrong”.
Using ACCESSKEYS is the technique that web authors can employ to bind certain keys to particular active regions of a page, creating keyboard shortcuts.
Users can jump to any link or form control which is the target of an ACCESSKEY shortcut, from anywhere else on the page, by simply holding down the ALT key and pressing the key chosen as its ACCESSKEY.
This works like a dream if a numeric key is chosen as the ACCESSKEY, for instance accesskey”5″, as recommended in the Uk Government checklist (section 2.4.4).
Unfortunately, some web authors, perhaps thinking that alphabetic characters would be easier to remember, choose letters. This is where it can get messy.
The ALT key and an alpha character also trigger browser toolbar controls. Anyone who can’t use a mouse relies on these shortcuts, to change text size, get browser help, add a page to their favourites and a whole range of other browser functions; all very important.
But in the battle for top billing, the browser controls lose out. If the selected ACCESSKEY uses the same letter as any of the browser shortcuts, users are either taken to the link using that ACCESSKEY, in Internet Explorer, or worse, taken straight to the page that the link leads to, in Mozilla Firefox or Netscape.
Excuse me for being picky, but in my view, making someone who is blind, has cognitive difficulties or impaired mobility, play hide and seek among unwanted links or pages, is a long way from being accessible.
So this is a plea to the web authors who believe that they’re being thoughtful by making their ACCESSKEY choices alphabetic, so that they’ll be easy to remember. Please think again. Using numeric characters is quite accessible enough.
Karl | 04/10/2006 at 12:38 | Permalink
I’d like to point out that even numeric accesskeys are problematic (annoyingly I can’t find the research but it has to do with a user wanting to input an accented character for example).
It is better to provide functionality to allow users to assign their own accesskeys if they would like to use them. Gez Lemon at Juicy Studio has PHP and ASP versions of this at http://juicystudio.com/article/user-defined-accesskeys.php.
Regards, Karl
Bim | 05/10/2006 at 11:49 | Permalink
Thanks for that Karl, a perfectly valid comment and a very useful resource.
MicroAngelo | 20/10/2006 at 12:26 | Permalink
Thanks for the insight, I will certainly avoid alphabetic characters from now on!
However, I’m still unclear as to your opinion on the value of accesskeys per se… you’ve stated that you think TABINDEX is better left alone unless you are really willing to go the whole hog (often hard on dynamic sites): do you feel that the general use of accesskeys also creates “more problems than it solves”?
For example, the UK Government recommend:
Generally on a site, it is unlikely that the navigation will have exactly these categories! So, I see three options:
1) Don’t have any accesskeys at all
2) Only use accesskeys on functional matches between this list and your site’s navigation, e.g. use 1 for “Homepage”, 9 for “Contact Us”, no other accesskeys defined
3) Use the ones that match as above, but over-ride unused numbers, e.g. use 1 for “Homepage”, 9 for “Contact Us”, 2 for “How To Get Here”, 3 for “Check Availability”, etc.
(In 2 and 3 above I would also have the recommended page connected to Accesskey 0 to inform the user of the accesskeys available.)
Obviously, 3 could lead to confusion… but are accesskeys useful enough in your view to outweigh this possibility?
I look forward to your response!
Chris
Bim | 20/10/2006 at 15:18 | Permalink
Hi Chris,
Any of those three options may be correct, depending on your target audience. Though if you choose 3: and re-use numeric values for features that aren’t covered in the UK Gov guidelines, only use them for site features, not page features.
WCAG 2.0 appears to downgrade accesskeys from a must-have to an optional facility for sites who want to comply to the highest levels of accessibility. This is due to a perceived value to people with learning difficulties.
However, it may be that people with learning difficulties will be those least able to retain numeric associations. In addition, as many sites that use accesskeys only explain how they work in I.E This may cause confusion for users with learning difficulties who use other browsers.
On balance, our reluctant view is that, unless you have a sound reason for using them, they are probably best avoided.
Wild Ted | 19/11/2006 at 14:16 | Permalink
A note of caution on numeric access keys. I was recently completing an online job application form and wanted to include an em dash in the copy. The shortcut combination for an em dash is Alt + 0151. I only got as far as the Alt + 0 before being taken off to the site’s accessibility page. On returning to the form, all the data I had entered had been lost. This is a serious usability and accessibility hassle.
Also, I have recently been undertaking usability testing of a website with a couple of blind people, both of whom knew about access keys but neither of whom used them.
I have now replaced all access keys on my site with skip links which I think work much better.
Bim | 20/11/2006 at 12:07 | Permalink
Thanks for that great example Ted.
There will be plenty of others I’m sure, it certainly isn’t a good idea to use numeric ACCESSKEY attributes on any page containing forms then.
It probably wouldn’t affect a lot of screen reader users, as the reader will have gone into a forms mode and temporarily ignore other page content but there are plenty of other people who need to use keyboard shortcuts.
Roger | 23/09/2007 at 15:59 | Permalink
If using skip links is a good idea then how are they best incorporated into a website. I have a skip link for content at the top of each page. But if I wanted several where would they go?
Bim | 01/10/2007 at 9:09 | Permalink
The position on the page depends on the purpose of the skip link, for instance, if you have a full list of alphabetic character links (26 links), that’s a fair weight of tab depressions for a keyboard navigating user, and would be worth a skip link. In this case the skip link should be immediately before the first of the alpha links. So local skip links should be ahead of the content they will bypass.
General skip links, (those that lead to page sections), should be at the top of the page though, If you don’t have sufficient page width, then you may be giving users more choices than is helpful, or the design may be too fragmented. Two or three will usually be enough.
However if you do need more skip links than will fit across the page width, you could use CSS to make the extra links become visible on focus, each one with the same “live” position, so that they appear in the same place on the page, replacing one another as each receives focus.
Another thing to be very aware of is what you really need to be skipping. You’ll notice that, on RNIB PAGES, we don’t have a “skip to main content” link. This is because the pages are coded so that content appears in the code before navigation. So users will reach the main content first. In this case it’s more logical to have “skip to navigation” links, as those are the furthest away in the natural tab order of the page.
Sheena | 15/11/2007 at 2:16 | Permalink
Just wanted to weigh-in in favour of Access Keys. Bim says higher up about ‘a perceived value to people with learning difficulties’. I’m dyslexic, ie have a specific learning difficulty, and they are invaluable to me, especially on large web sites, such as the organisation I work for:
1 No matter where I am in the web site, I can jump straight back to the section I work in.
2 To navigate from one section to another, I don’t have to go back via the home page (it is a very large web site) and I also don’t have to go ‘back to top’ to find the home page link in the first place.
3 For some obscure reason the pages, when opened via the access keys, open much faster than when using in page links, even from the Home page.
4 They save me having to locate the links within the page text, remember I am dyslexic.
Yes I love ‘em. Unfortunately I love ‘em so much, I went over the top on the archery site I’ve written as I didn’t understand the problems I was creating for other (tabbing) users. With Bim’s guidance I’m going to sort that, but need a while to do so as I want a complete chunk of time in order to do it all in one, so that I don’t end up in the position of having inconstant navigation across the site.
tony robins | 06/01/2008 at 3:38 | Permalink
Numeric access keys are highly valuable in a cell phone context.
1. handheld devices rarely have assitive technology like Jaws installed to cause conflicts
2. 0-9 are just one keystroke.
UK Government dropped the ball on that one with S which is 4 keystrokes on most phones. Bearing in mind hardly any handheld device user will be in need of assistive codes, I just took the 0 key.
Tim | 12/03/2008 at 12:05 | Permalink
I think a distinction should be drawn here between websites that are primarily about displaying content - with a minimal amount of user input required and systems which use HTML and a browser as the screen delivery mechanism.
In the first case I can fully agree that too many access keys could prove to be problematic, for all the reasons stated.
However for a data input system, access keys are a pretty important shortcut to relieve users from having to tab incessantly to get to the link or button that they wish to activate. The system I work on uses ALT+v to activate the Save button, and various other keys as standard accesskeys for other functions. These keys can save a keyboard user a lot of frustration in having to tab everywhere.
So what about ALT+v conflicting with the IE View command - well a keyboard user can always type ALT and then v separately to get to the view command. Interestingly we use ALT+D to get to a ‘detail’ record having selected from a list of records (it was the way the old system worked (pre IE / HTML). What about the allowing the user to get to the Address Bar. Well the simple fact is that in a more traditional IT system using the internet as its delivery mechanism - keeping the user away from the address bar is actually quite a good idea - users get quite annoyed by moving off to a different web address - coming back to their data entry page and finding that all their data has been lost.
However, using hotkeys just for the sake of using them, is very pointless.
My two-penny’s worth