diff options
author | Sam Potts <sam@potts.es> | 2020-02-09 21:42:12 +0000 |
---|---|---|
committer | Sam Potts <sam@potts.es> | 2020-02-09 21:42:12 +0000 |
commit | 2d13ad3d397423e527caa6f3eba9df242505dfff (patch) | |
tree | 12de1aa02dbe2d14c93ba9ad6070cb4611f6715d /src/js/utils/elements.js | |
parent | 74ba6a96fc5df9654766ac21593d5c8274d98fb2 (diff) | |
download | plyr-2d13ad3d397423e527caa6f3eba9df242505dfff.tar.lz plyr-2d13ad3d397423e527caa6f3eba9df242505dfff.tar.xz plyr-2d13ad3d397423e527caa6f3eba9df242505dfff.zip |
Focus trap improvements
Diffstat (limited to 'src/js/utils/elements.js')
-rw-r--r-- | src/js/utils/elements.js | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/src/js/utils/elements.js b/src/js/utils/elements.js index 921d533a..b88aad0c 100644 --- a/src/js/utils/elements.js +++ b/src/js/utils/elements.js @@ -2,7 +2,6 @@ // Element utils // ========================================================================== -import { toggleListener } from './events'; import is from './is'; import { extend } from './objects'; @@ -248,40 +247,6 @@ export function getElement(selector) { return this.elements.container.querySelector(selector); } -// Trap focus inside container -export function trapFocus(element = null, toggle = false) { - if (!is.element(element)) { - return; - } - - const focusable = getElements.call(this, 'button:not(:disabled), input:not(:disabled), [tabindex]'); - const first = focusable[0]; - const last = focusable[focusable.length - 1]; - const player = this; - - const trap = event => { - // Bail if not tab key or not fullscreen - if (event.key !== 'Tab' || event.keyCode !== 9 || !player.fullscreen.active) { - return; - } - - // Get the current focused element - const focused = document.activeElement; - - if (focused === last && !event.shiftKey) { - // Move focus to first element that can be tabbed if Shift isn't used - first.focus(); - event.preventDefault(); - } else if (focused === first && event.shiftKey) { - // Move focus to last element that can be tabbed if Shift is used - last.focus(); - event.preventDefault(); - } - }; - - toggleListener.call(this, this.elements.container, 'keydown', trap, toggle, false); -} - // Set focus and tab focus class export function setFocus(element = null, tabFocus = false) { if (!is.element(element)) { |