GNOME Bugzilla – Bug 87159
Suggested keynav revision for moving between multiple menus/toolbars
Last modified: 2004-12-22 21:47:04 UTC
As Bill has just pointed out, the current keynav implementation for moving between multiple menubars and toolbars (F10 to focus the first one, then Ctrl-Tab to cycle between the others) is seriously inconsistent in its use of Ctrl-Tab. I think I have to hold my hands up on this one, as I'm sure I probably agreed to the implementation at the time (although it's not actually what's specified in the gtk keynav proposal). The problem is that Ctrl-Tab is our universal 'get me out of here' key when Tab doesn't work (e.g. when a multi-line textfield has focus), so we really shouldn't be using it the way we do here as it could seriously confuse people relying on screenreaders etc. In retrospect, it would probably make much more sense if F10 just cycled through all available menus and toolbars. When a menu or menu item has focus, Ctrl-Tab should probably just do the same as Esc, if indeed it needs to do anything at all. Since toolbars aren't yet focusable from the keyboard anyway, and no application has more than one menubar in the same window, the only place the user will ever have encountered this behaviour to date is on the menu panel-- where you have to press F10 to open the Applications menu, then Ctrl-Tab to switch focus to the dropdown window list at the opposite end of the panel. And I bet nobody's ever discovered you can do that anyway. Since this would barely a functional regression, if at all, is there any chance at all that a patch for this would be accepted in the near future?
Created attachment 9899 [details] [review] Proposed patch
(Note: this stuff is also related to bug #54047)
The current patch has the effect that when there is only one menu bar, F10 has no effect when the menus are popped up. Shouldn't F10 cycle through all menu bars and the no menu state? Are these changes making there way into the keynav document? I really would like to have as much as possible one place to go for what keynav "should be" in GTK+.
Created attachment 10049 [details] [review] Possible alternate patch making F10 cancel at the end instead of wrap
Created attachment 10050 [details] [review] Better patch for cancellation at the end instead of wrapping
Actually, the last patch wasn't very good .. there is no reason to make gtkmenushell.c do the cancellation. Second patch should be cleaner.
You're right about the keynav docs, they're in serious need of updating and simplification. I'll get onto this in the next few days, hopefully.
Applied to both stable and HEAD Thu Jul 25 14:14:46 2002 Owen Taylor <otaylor@redhat.com> * gtk/gtkmenushell.c: When a menubar is up, use F10 to cycle menubars, not Control-Tab (#87159, Calum Benson. Patch from Padraig O'Briain.) * gtk/gtkmenubar.c: When cycling menu bars, cancel after the last instead of wrapping around.