The definition of what the accesskey modifier is the result of
EventHandler::accessKeyModifiers(). On Windows it's
alt<http://trac.webkit.org/browser/trunk/WebCore/page/win/EventHandlerWin.cpp>,
and on Chromium it's also
alt<http://trac.webkit.org/browser/trunk/WebCore/page/chromium/EventHandlerChromium.cpp>
.

The question is: What to make it on the Mac? And how to do it right?

Mozilla apparently switched recently to use the command key. They used to
use the control key. What does Safari use? Much more difficult question. The
code<http://trac.webkit.org/browser/trunk/WebCore/page/mac/EventHandlerMac.mm>says:

unsigned EventHandler::accessKeyModifiers()
> {
>     // Control+Option key combinations are usually unused on Mac OS X, but
> not when VoiceOver is enabled.
>     // So, we use Control in this case, even though it conflicts with
> Emacs-style key bindings.
>     // See <https://bugs.webkit.org/show_bug.cgi?id=21107> for more
> detail.
>     if (AXObjectCache::accessibilityEnhancedUserInterfaceEnabled())
>         return PlatformKeyboardEvent::CtrlKey;
>
>     return PlatformKeyboardEvent::CtrlKey | PlatformKeyboardEvent::AltKey;
> }
>

And if you go to the layout test, you'll see that on the Mac it uses the
modifiers ctrl+alt. This solution is problematic for two reasons.

The first is that using a dual modifier sucks. It makes it extremely
difficult to use accesskeys.

The second is that triggering them with a single modifier (just the ctrl
key) on my machine works fine in Safari. Which puts me in a quandary,
because I'm not sure how Safari's doing that (I'm digging now). If we alter
our accessKeyModifiers() to return the dual modifier, layout tests start
passing, but it's hard to use. If we use just ctrl, then it's easy to use
but we fail tests. And somehow Safari does both...

Avi

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to