Skip to content
Snippets Groups Projects
Verified Commit 965577ea authored by henry's avatar henry Committed by Pier Angelo Vendrame
Browse files

Bug 41454: Move focus after calling openPreferences for a sub-category.

Temporary fix until mozilla bug 1799153 gets a patch upstream.
parent b5b6d436
No related branches found
No related tags found
No related merge requests found
......@@ -480,6 +480,26 @@ async function scrollAndHighlight(subcategory, category) {
}
let header = getClosestDisplayedHeader(element);
// We assign a tabindex=-1 to the element so that we can focus it. This allows
// us to move screen reader's focus to an arbitrary position on the page.
// See tor-browser#41454 and mozilla bug 1799153.
const doFocus = () => {
element.setAttribute("tabindex", "-1");
Services.focus.setFocus(element, Services.focus.FLAG_NOSCROLL);
// Immediately remove again now that it has focus.
element.removeAttribute("tabindex");
};
// The element is not always immediately focusable, so we wait until document
// load.
if (document.readyState === "complete") {
doFocus();
} else {
// Wait until document load to move focus.
// NOTE: This should be called after DOMContentLoaded, where the searchInput
// is focused.
window.addEventListener("load", doFocus, { once: true });
}
scrollContentTo(header);
element.classList.add("spotlight");
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment