diff --git a/ui/widgets/dialog.js b/ui/widgets/dialog.js index 4dcb93a8d..0ff816ec6 100644 --- a/ui/widgets/dialog.js +++ b/ui/widgets/dialog.js @@ -881,12 +881,15 @@ $.widget( "ui.dialog", { event.preventDefault(); instance._focusTabbable(); - // Support: jQuery >=3.4 <3.6 only - // Focus re-triggering in jQuery 3.4/3.5 makes the original element - // have its focus event propagated last, breaking the re-targeting. - // Trigger focus in a delay in addition if needed to avoid the issue + // Support: jQuery >=3.4 <3.7 only + // In jQuery 3.4-3.6, there are multiple issues with focus/blur + // trigger chains or when triggering is done on a hidden element + // at least once. + // Trigger focus in a delay in addition if needed to avoid the issues. // See https://github.com/jquery/jquery/issues/4382 - if ( jqMinor === "3.4." || jqMinor === "3.5." ) { + // See https://github.com/jquery/jquery/issues/4856 + // See https://github.com/jquery/jquery/issues/4950 + if ( jqMinor === "3.4." || jqMinor === "3.5." || jqMinor === "3.6." ) { instance._delay( instance._restoreTabbableFocus ); } }