Opened 7 years ago

Closed 7 years ago

#8611 closed feature (wontfix)

Tab navigation slow in dialogs with large DOM

Reported by: olejorgenb Owned by:
Priority: minor Milestone: 1.10.0
Component: ui.dialog Version: 1.8.23
Keywords: Cc:
Blocked by: Blocking:

Description

http://jsfiddle.net/L8HT3/4/ (try navigation with the tab key. There's a noticable slowdown)

The "offender" is

uiDialog.bind( "keydown.ui-dialog", function( event ) {

that ends up checking :visible on a TON of elements. (via :focusable)

Change History (5)

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

Summary: Tabnavigation slow in dialogs with large DOMTab navigation slow in dialogs with large DOM

The only solution is to cache the list of tabbable elements and then add a refresh method which will update the cache so that we can support dynamic content inside dialogs.

comment:2 Changed 7 years ago by olejorgenb

It wouldn't be possible to bind on keyup and check if the element gaining focus is inside the dialog, otherwise reversing the tab? Might cause visual glitches though :(

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

That would let focus move out and then back in which would cause issues.

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

Milestone: 1.9.01.10.0

comment:5 Changed 7 years ago by drewkimrey

Resolution: wontfix
Status: newclosed

This seems to be an edge case. I would suggest either not using modal, or perhaps try using a custom solution outside of dialog. IE: show hidden div, or something simliar.

Note: See TracTickets for help on using tickets.