diff --git a/main/accessibility.js b/accessibility/keyboardui.js similarity index 96% rename from main/accessibility.js rename to accessibility/keyboardui.js index d4f18fe3..aecda02f 100644 --- a/main/accessibility.js +++ b/accessibility/keyboardui.js @@ -1,6 +1,6 @@ -import { InputManager } from "./inputmanager.js"; -import { ContextManager } from "./context.js"; -import { translate } from "./translation.js"; +import { InputManager } from "../main/inputmanager.js"; +import { ContextManager } from "../main/context.js"; +import { translate } from "../main/translation.js"; import { SHORTCUTS_HELP_URL } from "../config.js"; // Area menu accessed with Ctrl + B to quickly skip to @@ -27,7 +27,6 @@ const AreaManager = { // Create the element dynamically so you don't have to edit index.html const div = document.createElement("div"); div.id = "area-menu-overlay"; - div.className = "hidden"; div.classList.add("hidden"); div.setAttribute("role", "dialog"); div.setAttribute("aria-modal", "true"); @@ -43,7 +42,19 @@ const AreaManager = { if (show) { GizmoMenuManager.toggle(false); // Close gizmo menu if open this.renderHighlights(); + this._previousInertStates = new Map(); + document + .querySelectorAll("body > *:not(#area-menu-overlay)") + .forEach((el) => { + this._previousInertStates.set(el, el.inert); + el.inert = true; + }); + this.previousFocus = document.activeElement; setTimeout(() => this.overlay.focus(), 0); + } else { + this._previousInertStates?.forEach((wasInert, el) => (el.inert = wasInert)); + this._previousInertStates = null; + this.previousFocus?.focus(); } this.overlay.classList.toggle("hidden", !show); } @@ -475,7 +486,7 @@ const ShortcutsPanel = { tbody.innerHTML = Object.entries(groups) .map( ([cat, items]) => ` -