Skip to main content

Search and Top Navigation

#6647 closed bug (duplicate)

Opened November 11, 2010 01:32AM UTC

Closed November 11, 2010 02:00PM UTC

Last modified February 10, 2012 02:50PM UTC

Focus loop override in modal dialogs not working in non-Gecko browsers

Reported by: CloudStrife Owned by:
Priority: undecided Milestone: 1.5
Component: ui.dialog Version: 1.8.5
Keywords: Cc:
Blocked by: Blocking:
Description

The dialog module has this code to override the browser focus loop:

// prevent tabbing out of modal dialogs

if (options.modal) {

uiDialog.bind('keypress.ui-dialog', function(event) {

if (event.keyCode !== $.ui.keyCode.TAB) {

return;

}

var tabbables = $(':tabbable', this),

first = tabbables.filter(':first'),

last = tabbables.filter(':last');

if (event.target === last[0] && !event.shiftKey) {

first.focus(1);

return false;

} else if (event.target === first[0] && event.shiftKey) {

last.focus(1);

return false;

}

However, I have found that Safari 5 and IE 8 do not run this handler when TAB is pressed. It is, however, run when normal printable characters are entered in input fields, etc.

Perhaps the devs can investigate a workaround using keydown for the affected browsers...?

Attachments (0)
Change History (4)

Changed November 11, 2010 02:00PM UTC by scottgonzalez comment:1

resolution: → duplicate
status: newclosed

Changed November 11, 2010 02:00PM UTC by scottgonzalez comment:2

Duplicate of #3768.

Changed November 22, 2010 07:03PM UTC by CloudStrife comment:3

_comment0: Hi Scott, are you sure this is a duplicate? #3768 specifically mentions non-modal dialogs, but I have found this issue applies to modal dialogs on affected browsers.1290452800549885

Hi Scott, are you sure this is a duplicate? #3768 specifically mentions non-modal dialogs, but I have found this issue applies to modal dialogs on affected browsers.

P.S. After skimming the other tickets marked duplicate, I see that the same issue has indeed been filed.

Changed February 10, 2012 02:50PM UTC by scottgonzalez comment:4

component: unfiledui.dialog