diff --git a/src/site/html/static/js/post_overlay.js b/src/site/html/static/js/post_overlay.js index 380336f..8a9aa63 100644 --- a/src/site/html/static/js/post_overlay.js +++ b/src/site/html/static/js/post_overlay.js @@ -5,6 +5,7 @@ import {quota} from "./quota.js" /** @type {PostOverlay[]} */ const postOverlays = [] const titleHistory = [] +const focusHistory = [] titleHistory.push(document.title) const shortcodeDataMap = new Map() @@ -28,6 +29,10 @@ window.addEventListener("popstate", event => { titleHistory.pop() document.title = titleHistory.slice(-1)[0] } + if (focusHistory.length) { + const item = focusHistory.pop() + item.focus() + } if (postOverlays.length) { popOverlay() } else { @@ -38,6 +43,7 @@ window.addEventListener("popstate", event => { function pushOverlay(overlay) { postOverlays.push(overlay) + focusHistory.push(document.activeElement) document.body.style.overflowY = "hidden" } @@ -82,6 +88,9 @@ class PostOverlay extends ElemJS { this.html(html) this.loaded = true this.removeClass("loading") + setTimeout(() => { + this.element.focus() + }) } showError() {