Summary
Update: Numeric access keys now work in Firefox 2.0.0.1, which is available through auto-update.
Firefox 2.0 uses Shift+Alt as the keystroke combination to invoke access keys. On the surface, this appears to be a great idea, as it avoids clashing with the shortcut keys used for the browser. Unfortunately, the new behaviour has been poorly implemented and breaks all websites that have implemented access keys using numeric values, as access keys specified with numeric values cannot be accessed in Firefox 2.0.
Author: Gez Lemon
Contents
Access Keys
Access keys offer a convenient mechanism for people with motor skill disabilities, such as Cerebral palsy, Parkinson's disease, Alzheimer's disease, etc., to access links or interface elements without having to cycle through all of the other links and interface elements in the content. The access key is specified in the markup using the accesskey
attribute:
<a href="faq.html" accesskey="F">frequently asked questions</a>
Shortcut Key Clashes
The way the access key is triggered depends on the browser and operating system, but access keys are generally considered to be problematic, as some browser manufacturers have implemented them in a way that clashes with the shortcut keys for the browser itself. For example, on a Windows platform, Internet Explorer 6.0 and Firefox 1.5 both use the alt key to trigger the access key. In the example above, that would mean that pressing Alt+F would not open the File menu as expected with those browsers, but instead activate the link; Internet Explorer just gives focus to the link, rather than activating it. There is also the issue of discoverability, as most browsers don't provide a convenient mechanism of revealing which access keys have been provided by the author.
To help get around this problem, the UK government suggest a set of access key assignments, so that at least people visiting UK public sector websites have some consistency in activating them. The following is the list of access key assignments as part of the e-Government Interoperability Framework (e-GIF) recommendations:
- S — Skip navigation
- 1 — Home page
- 2 — What's new
- 3 — Site map
- 4 — Search
- 5 — Frequently Asked Questions (FAQ)
- 6 — Help
- 7 — Complaints procedure
- 8 — Terms and conditions
- 9 — Feedback form
- 0 — Access key details
A Broken Solution
In an effort to avoid access keys colliding with their own browser shortcut keys, Firefox 2.0 introduced a second modifier key. To activate an access key in Firefox 2.0 on a Windows operating system is now Shift+Alt+key. For example, activating an access key with an accesskey
attribute value of F
would be Shift+Alt+F. This is good in that it no longer clashes with the browser's shortcut key — pressing Alt+F will activate the File menu item even if there is an accesskey
attribute value of F
present on the page.
There is a huge problem, though, as numeric access keys do not work at all in Firefox 2.0. That means that the functionality of all websites that have been using numeric values for access keys will no longer work in Firefox 2.0, including all UK public sector websites following e-GIF recommendations. Numeric access keys were always an issue with Firefox, as they didn't distinguish between the number originating from the keyboard or the numeric keypad. The numeric keypad can be used by people wishing to use characters not available on some keyboards. For example, if the keyboard doesn't have an e with acute (é), the user could hold down the Alt key, and type 1 3 0 on the numeric keypad. This meant that when a user was in an edit field, they could suddenly find themselves on another page if they inadvertently typed an extended character on the keypad in Firefox if a digit they typed whilst holding down the Alt key happened to be assigned as an access key. Internet Explorer never suffered from this problem, as they distinguished between the keyboard and the number pad; the keyboard was required to trigger the access key, which makes sense as it's only possible to type extended characters on the numeric keypad.
The problem with numeric access keys and Firefox 2.0 is that the Shift modifier uses the alternate upper characters on the keyboard. For example, pressing Shift+1 on a UK keyboard would yield an exclamation mark (!). An exclamation mark may be used as an access key in Firefox 2, but not the digit 1
. The issue was filed as a bug before Firefox 2 was officially released.
The keystroke combination to activate an access key is also cumbersome. It would take someone with considerable dexterity to be able to hold down Shift+Alt+P with one hand, which is particularly problematic when you consider the groups that primarily benefit from access keys, although sticky keys offered by the operating system will help. Another issue to be aware of is that Shift+Alt is used to change the keyboard layout. My fingers have slipped when trying to execute the access key combination, and I later realised that I have toggled the keyboard to a US keyboard, and have had to revert back to the UK layout using Shift+Alt.
A Real Solution
The solution to this problem isn't to revert back to the old model used by Firefox, as that model was also broken. Firefox would be well-advised to follow Opera Software's lead on this issue, as Opera is, without a shadow of doubt, way ahead of their competitors where access keys are concerned. In Opera, pressing shift+Esc lists all access keys used on the page, and can be activated from that point using the single key alone. Opera also allows the keystroke combination to be configured by the user, making it possible to provide a single modifier key to invoke access keys, rather than the default shift+Esc.
Considering Firefox are making a significant contribution to the Roadmap for Accessible Rich Internet Applications, it's disappointing that they will make many websites a lot more difficult to use for people with mobility problems. The problems with access keys are very well-known in the accessibility community, and it's a shame that Firefox didn't come up with something a little better than an implementation that fixed an issue developers have been working around, and broke the web for some of their users.
Category: Accessibility.
[firefox2-accesskeys.php#comment1]
Doh. I guess access keys were always problematic anyway. Taking up some of the user's keyboard combinations = dodgy. Opera's method does sound best.
Posted by pauldwaite on
[firefox2-accesskeys.php#comment2]
Has this been submitted to bugzilla yet? It would be pretty trivial to write an extension to implement opera style shortcuts, I might have a go!
Posted by Thom Shannon on
[firefox2-accesskeys.php#comment3]
Great article. The Queensland Government (in Australia) also mandates numeric accesskeys, however this always caused a problem with screen reader users. In IBM Homepage Reader ALT+1 activates heading mode and in WindowEyes numeric accesskeys are for user-defined actions.
Posted by Gian Sampson-Wild on
[firefox2-accesskeys.php#comment4]
Yes. It was a crazy solution to disable the numeric access keys.
Posted by Robert Wellock on
[firefox2-accesskeys.php#comment5]
Wow... thanks for mentioning the progress Opera has made. Although a every-day Opera user, I didn't knew they had improved it.
It looks so easy now, that perhaps I'm even going to finally start using those access keys.
Posted by Rene Saarsoo on
[firefox2-accesskeys.php#comment6]
What a huge fuss about nothing! If you want the old behavior type the following in the address bar...
about:config
Locate the property name ui.key.contentAccess and set the value to 4. Numeric access keys now work
Posted by Spud on
[firefox2-accesskeys.php#comment7]
Wow, Spud, it's as simple and as intuitive as that, eh?
Those disabled people: moaning all the time and too lazy to adjust their browser configuration!
Posted by bruce on
[firefox2-accesskeys.php#comment8]
Thanks for the article. Of course, my Accesskey-Pad will suffer a lot.
I was always the opinion Firefox did the shortcut business correct. Hope for the future.
Posted by Jan Eric Hellbusch on
[firefox2-accesskeys.php#comment9]
Interesting. Although, I'm just some vile scumbag that has left this tediously humdrum comment in the hope that my utterly worthless website will be discovered by search engines.
Posted by Dasu on
[firefox2-accesskeys.php#comment10]
Hey Spud,
It's not a "nothing" issue. Changing a default behavior is a big deal for some, especially when they don't know it has changed, don't know where to find out what broke, and don't know the simple fix you told us about.
Sorta like removing all the braille markings from the elevators.
Posted by Bob Easton on
[firefox2-accesskeys.php#comment11]
Fortunately for me, my clients thus far have all been from the US. That means I don't have any laws that directly govern their sites' accessibility requirements. I have, however, used numeric accesskeys on several sites to avoid colliding with browser shortcut keys.
So what are we to do about this until Mozilla un-breaks its browser? With legal ramifications looming over their heads, I'm sure developers from some other countries must be looking for solutions. Any solid ones found at this point?
@Thom Shannon: The problem with relying on an extension for accessibility is the same as the problem with relying on a plugin for site navigation. If your site's visitors don't happen to have the extension, you're back to square one.
Posted by Adam Messinger on
[firefox2-accesskeys.php#comment12]
The Swedish authority, Verva also recommends using accesskeys for sites in the public sector. They use about the same recomendation as e-GIF. I noted this right away when updating Firefox, now a bunch of Swedish sites are broken because of this, not very good.
Posted by Jens Wedin on
[firefox2-accesskeys.php#comment13]
I would be surprised if there were any legal ramifications from not using access keys. The access key assignments suggested by e-GIF are only recommendations to help avoid clashes with the user agent's own shortcut keys, and because of the lack of discoverability; making the keys consistent across websites means visitors don't have to learn new keys for each website they visit.
At this point, I still believe the only sensible option is to allow users to define their own access keys. This approach means there is no longer the issue of discoverability, as the user defined the keys, and the user can choose keys that works with their user agent. I generally set it up so that no access keys are defined in the first instance, so that users that just don't want access keys don't have to have them.
Posted by Gez on
[firefox2-accesskeys.php#comment14]
Great reading with many good and valid points. Unfortunately, it does not really throw a good light on the involved developers considering that they just blocked the only "almost standard" when it comes to access keys.
It remindes me of other "accidents" like the infamous print bug #154892 [1] anyway.
[1] https://bugzilla.mozilla.org/show_bug.cgi?id=154892
Posted by Jens Meiert (WHWS) on
[firefox2-accesskeys.php#comment15]
Documentation on possible values for the ui.key.contentAccess key and their effects may be found at:
http://kb.mozillazine.org/Ui.key.contentAccess
Posted by converter on
[firefox2-accesskeys.php#comment16]
Is the following up to date, then? I plan to allow users to set accesskeys (which seems like a losing battle) and would like to let them know how to activate them.
Alt + accesskey followed by Enter
- Internet Explorer for Windows
Alt + accesskey
- Firefox for Windows <=1.5
- Mozilla for Windows
- Netscape 6+ for Windows
Alt + Shift + accesskey
- Firefox for Windows 2
Shift + Esc + accesskey
- Opera for Windows or Mac
Ctrl + accesskey
- Internet Explorer 5.2 for Mac
- Safari 1.2 (Mac only)
- Firefox for Mac (including 2!)
- Mozilla for Mac
- Netscape 6+ for Mac
Not supported
- Camino (Mac only)
- IE<4, Netscape<6
Posted by Tom Hughes on
[firefox2-accesskeys.php#comment17]
Also, does anyone know if there are any differences for browsers on Linux?
Posted by Tom Hughes on
[firefox2-accesskeys.php#comment18]
@Tom, Linux generally doesn't have the same problems as windows browsers as its window menu's don't work quite the same. I've found alt+f access keys to work fine in Linux Firefox 1.5 while breaking and opening the File menu in windows.
Oh, and Konqueror supposedly works much like opera, but uses a tap of Control instead of Shift + Escape.
Posted by Jenna Fox on