- From: Charles McCathieNevile <chaals@opera.com>
- Date: Wed, 01 Dec 2010 10:28:35 +0100
- To: "UAWG list" <w3c-wai-ua@w3.org>
Hi folks,
about a decade ago when I was actively involved here I used to waffle on a
lot about accesskey... In UAAG 1 there ended up some requirement about how
current interface bindings should be available to the author, and
configurable, which was a generalisation (probably to the point of
incomprehensibility) about how accesskeys *should* be handled.
Recently I put this in to practice as an extension to Opera. In order to
see it working you need the Opera 11 beta, and then you can get it from
https://addons.labs.opera.com/addons/extensions/details/excesskey/?display=en
- sorry screenreader folks, the documentation at
http://my.opera.com/chaals/excesskey is pretty accessible but the Beta
version of Opera is more or less unusable, especially the extension stuff,
with a screenreader ;(.
It is a work in progress. But it clarified a bunch of things for me (apart
from the fact that I am not a brilliant developer and need to do a whole
lot more work ;) ).
- accesskeys are really handy, if you know when they are there and
discover the sites that use them well (*to do: allow users to mark a site
as 'don't bother' so a different icon shows.)
- It really matters whether you can choose the keys. I made a test page
that uses ł,आ,س,ф,± as accesskeys - all of which are things I know how to
generate and are from time to time reasonable keys to use. (I also used ☆
and ✐ to see what happens ;) ). The common english-language convention of
using numbers is terrible for french people who use the traditional
'azerty' layout, but it would make perfect sense for them to use
&é"'(§è!çà which are the natural defaults for the same physical keys. Yet
many french people use english sites, and to some extent vice versa.
- it makes perfect sense to allow accesskey='say this please', if you
shift the responsibility for assigning keys to the User Agent (which you
need to do in order to allow the user to decide what keys they will use).
Because I have already begun sketching out an architecture that lets you
assign non-keyboard interactions, and one obvious one is voice where whole
words or phrases are *better* than single letters.
- if you can discover what accesskeys are there before you activate them,
it makes much more sense to have them directly activate a link or control
than just focus it, where that's a logical thing to do. Of course it's not
applicable to text input boxes :)
- shift-esc is not a great activation shortcut for the accesskey menu. I
remap mine to '.' which is more convenient for me (sits between
search-in-page and search-for-links). YMMV.
The basic idea is this:
1. There is a status indicator to tell you if there are accesskeys defined
in the page. This is an improvement on Opera's accesskey menu (normally
activated by shift-esc) which will list the accesskeys defined, or tell
you there are none. Which in turn is an improvement on guessing what they
might be or where they might be described.
2. The extension actually cleans up the accesskeys so they can be fired -
i.e. make sure that each is a single unique character (Opera has a bug
where accesskey="oops" will break the accesskey menu, and while you can
navigate the menu with the mouse it doesn't deal nicely with two uses of
the same key).
3. In the preferences (open extension manager, right click on the funny
cog wheel next to the 'uninstall button') you can select the keys that you
want to be used to assign accesskeys. For example, numbers are not very
helpful for users of french azerty keyboards, since you need to use shift
to produce them. And cyrillic is more useful for many russian users since
those are the letters they produce by default. It has been tested with
cyrillic, arabic, and various other wierd characters.
As the documentation explains, right now it uses Opera's native accesskey
menu, but for various reasons I am tempted to try and replace that. But
first I want to make some improvements in the underlying code and
capabilities - so it won't get any prettiness enhancements for a while.
cheers
Chaals
--
Charles McCathieNevile Opera Software, Standards Group
je parle français -- hablo español -- jeg lærer norsk
http://my.opera.com/chaals Try Opera: http://www.opera.com
Received on Wednesday, 1 December 2010 09:29:13 UTC