diff --git a/js/src/modal.js b/js/src/modal.js index d408850201..202c5fe94c 100644 --- a/js/src/modal.js +++ b/js/src/modal.js @@ -259,8 +259,9 @@ const Modal = (($) => { $(document) .off(Event.FOCUSIN) // guard against infinite focus loop .on(Event.FOCUSIN, (event) => { - if (this._element !== event.target && - (!$(this._element).has(event.target).length)) { + if (document !== event.target && + this._element !== event.target && + (!$(this._element).has(event.target).length)) { this._element.focus() } }) diff --git a/js/tests/visual/modal.html b/js/tests/visual/modal.html index 2e2f6eb637..7e54f7aa2d 100644 --- a/js/tests/visual/modal.html +++ b/js/tests/visual/modal.html @@ -119,12 +119,37 @@ + +

+ + (See Issue #18365) +

@@ -147,12 +172,30 @@