Bug 7466

Summary: Use of Ctrl as access key modifier conflicts with Mac OS X emacs-style keybindings
Product: WebKit Reporter: rahul abrol <solushex>
Component: AccessibilityAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Enhancement CC: ap, ian, jruderman, mrowe
Priority: P2 Keywords: InRadar
Version: 420+   
Hardware: Mac   
OS: OS X 10.4   
Attachments:
Description Flags
change access key modifiers to Ctrl+Option on Mac darin: review+

Description rahul abrol 2006-02-25 15:59:42 PST
i'm sure a lot of people have noticed the conflict arising from the duplicate use of CTRL as the accessKey modifier and for emacs-keybindings.

mozilla has the 'ui.key.generalAccessKey' setting to change the default accessKey modifier (though it's partially broken for macs).  i'd really like this feature in safari, or anything similar that removes the conflict.

maybe something to be implemented with bug 4952?
Comment 1 Mark Rowe (bdash) 2006-06-27 16:18:23 PDT
This drives me nuts.  It's most annoying when working with Bugzilla.  Ctrl-e takes me to the Severity dropdown list rather than the end of line like in other applications, and Ctrl-a takes me to Add CC rather than to the beginning of the line.
Comment 2 Jacob Rus 2006-08-31 20:45:39 PDT
I would at least like a way to disable access keys altogether, if it's not possible to use something other than ctrl for them.

Access keys are completely inconsistent across sites, completely non-discoverable (having no visual cue) to the user, and are mapped to bindings that many people use already for other purposes.  This seems broken to me.  I want the ctrl+letter shortcuts all to myself. ;)
Comment 3 David McCabe 2006-08-31 22:15:16 PDT
I second that this is The Most Annoying Bug in the Observable Universe.
Comment 4 Mark Rowe (bdash) 2007-05-07 02:14:12 PDT
<rdar://problem/4657563>
Comment 5 rahul abrol 2007-08-17 01:48:16 PDT
i noticed this was fixed in safari 3 by disabling accesskeys inside text fields, but now it's returned in TOT.  i've tracked the change to between r24285 and r24399 but can't find the code.

was this intentional, or a regression?  what's the plan?
Comment 6 Alexey Proskuryakov 2007-12-07 08:48:03 PST
See also: bug 14057.
Comment 7 Ian 'Hixie' Hickson 2008-04-03 00:39:05 PDT
This bug has caused me dataloss (I was in a form field, I pressed ctrl+e to go
to the end of the line, and it navigated away from the page). I had to look at
the page source to work out what Ctrl+E was supposed to do, since it didn't
highlight a menu like Mac apps normally do when I hit an accelerator.
Comment 8 Alexey Proskuryakov 2008-04-03 01:56:57 PDT
Created attachment 20310 [details]
change access key modifiers to Ctrl+Option on Mac

One approach to fixing this is to have different modifiers for access keys. The only semi-available combination I see is Ctrl+Option (Option alone, as well as Option+Shift, are used for typing special characters; Ctrl+Shift conflicts with Kotoeri shortcuts).

Opinions?
Comment 9 Adele Peterson 2008-04-15 22:32:48 PDT
what do other mac browsers do? do they allow access keys to work in text controls?
Comment 10 Alexey Proskuryakov 2008-04-16 03:14:04 PDT
Firefox doesn't support Emacs key bindings, so it doesn't have this problem (but as mentioned above, it has a preference for changing the modifiers).

I've been told that Firefox 3 on Windows changes the default from Ctrl to Ctrl+Shift.

Opera doesn't seem to support accesskey the way other browsers do - instead, a list of keys appears when one presses Shift+Esc.
Comment 11 rahul abrol 2008-04-18 00:13:40 PDT
(In reply to comment #10)
> Firefox doesn't support Emacs key bindings, so it doesn't have this problem

it does.  so does opera, actually.  how about a preference, webkitaccesskey:
0: none
1: ctrl (default)
2: ctrl+alt
?
Comment 12 Alexey Proskuryakov 2008-04-18 00:42:11 PDT
(In reply to comment #11)
> (In reply to comment #10)
> > Firefox doesn't support Emacs key bindings, so it doesn't have this problem
> 
> it does. 

Indeed, I was wrong. So, it's just the priority of Emacs key bindings and access keys that is different, apparently.

> so does opera, actually. 

Yes, I never said it didn't. But the support is broken anyway, as some of the bindings are taken by the application. E.g., Ctrl+E takes one to Help screen (as of a 9.50 beta that I have installed).
Comment 13 Darin Adler 2008-05-25 13:17:24 PDT
Comment on attachment 20310 [details]
change access key modifiers to Ctrl+Option on Mac

I'm worried that people who make use of accesskey will think it's just broken. But this looks like it was executed just fine.

r=me
Comment 14 Alexey Proskuryakov 2008-05-30 03:15:42 PDT
Landed in <http://trac.webkit.org/projects/webkit/changeset/34259>.

So, it's Ctrl+Option for access keys on the Mac now, let's see if we get many complaints.
Comment 15 Alexey Proskuryakov 2008-11-06 01:09:42 PST
See bug 21107: Control+Option conflicts with VoiceOver.