Opened 11 years ago
Closed 9 years ago
#10410 closed defect (wontfix)
Problem with keyboard shortcuts that involve "tab" on safari
Reported by: | rakeshpai | Owned by: | sjmiles |
---|---|---|---|
Priority: | low | Milestone: | future |
Component: | Events | Version: | 1.4.0b |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
Steps to reproduce:
- Go over to http://archive.dojotoolkit.org/dojo-2009-11-25/dojotoolkit/dijit/tests/layout/test_TabContainer.html in Safari.
- Open another tab in Safari, so that you can see what ctrl+tab does.
- Set focus on any of the tab buttons.
- Hit Ctrl+Tab or Ctrl+Shift+Tab.
This works as expected on FF, where ctrl+tab switches tabs and then swallows the event so that the browser's tab doesn't itself switch.
In webkit based browsers, ctrl+tab is not swallowed, and instead propagates to the browser chrome, and hence browser tabs switch. In windows, the tabcontrol tabs actually switch, even though browser tabs switch as well. However, on the mac, the tabcontrol tabs don't switch either. In either case, the event is bubbled to the browser.
I seem to have sort-of fixed this by modifying line 571 in dojo/_base/event.js Original: handle._stealthKeyDownHandle = del._add(node, "keydown", function(evt){ Modified: handle._stealthKeyDownHandle = del._add(node, "keyup", function(evt){
However, I'm not entirely sure if this fixes all corner-cases of keyboard handling across the dojo suit of widgets.
I'm giving this a severity of "critical", since we're claiming that we are supporting keyboard shortcuts in Safari with 1.4. Feel free to reduce severity if you see fit, but then I'd suggest that we reword the release notes to reflect this fact.
Change History (2)
comment:1 Changed 11 years ago by
Milestone: | 1.4 → future |
---|---|
Priority: | high → low |
severity: | critical → minor |
comment:2 Changed 9 years ago by
Resolution: | → wontfix |
---|---|
Status: | new → closed |
This is from http://thread.gmane.org/gmane.comp.web.dojo.user/40417.
On all browsers you can do navigation between tabs (of TabContainer) with the left and right arrow keys. Dijit is fully keyboard accessible.
It's just the additional method of ctrl+tab that isn't working on safari. Actually, as written in the documentation for TabContainer ctrl-tab doesn't work on IE7+ either.
Also, I'm not sure it's a good idea to override ctrl-tab to do something dojo specific, since users of IE7+ and Safari2+ are presumably expecting those keystrokes to switch between browser tabs. So, maybe we should close this as wontfix.
I'll update the TabContainer documentation page though.