Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#5767 closed bug (fixed)

On open, the first tabbable element inside the dialog was never being focused in favor of the dialog container.

Reported by: ajcrews Owned by:
Priority: major Milestone: 1.8.3
Component: ui.dialog Version: 1.8.2
Keywords: focus tabbable Cc:
Blocked by: Blocking:

Description

Within the "open" method in ui.dialog, there is an attempt to "set focus to the first tabbable element in the content area or the first button. if there are no tabbable elements, set focus on the dialog itself".

This was being accomplished using the jQuery "add" method, and was working up until jQuery 1.4.x, since: "As of jQuery 1.4 the results from .add() will always be returned in document order" (http://api.jquery.com/add).

Also, in Firefox 3.6.x, the dialog will not show if a tabbable element is focused in the "open" method.

Change History (8)

comment:1 Changed 13 years ago by ajcrews

Related tickets: #4421, #4675

comment:3 in reply to:  2 Changed 13 years ago by ajcrews

Replying to ajcrews:

Fixed: http://github.com/ajcrews/jquery-ui/commit/74157f83906a23814cdf6d13c20d83253c8b41bc

I had code in place to handle a race condition I was unaware of - the race condition is caused by setting the "show" option to an animation like "fade". I have addressed that issue as well.

Related tickets, bundled together: #4421, #4675, #4731

Fixed: http://github.com/ajcrews/jquery-ui/commit/1d1de7fc70501c25c6ff3de204c04078602baa04

comment:6 Changed 13 years ago by Scott González

Milestone: TBD1.9
Priority: minormajor
Resolution: fixed
Status: newclosed

Fixed in 64d90b4.

comment:7 Changed 13 years ago by Scott González

Milestone: 1.91.8.3

comment:8 Changed 13 years ago by Scott González

Dialog: Adjusted logic for finding the first tabbable element. Fixes #5767 - On open, the first tabbable element inside the dialog was never being focused in favor of the dialog container.

Changeset: 64d90b4a710d520a44408ccfa8df1100b0b95b4d

Note: See TracTickets for help on using tickets.