richard pushed to branch mullvad-browser-115.3.1esr-13.0-1 at The Tor Project / 
Applications / Mullvad Browser


Commits:
88e111c6 by Henry Wilkes at 2023-10-11T18:31:30+00:00
fixup! Bug 41454: Move focus after calling openPreferences for a sub-category.

Bug 42167: Make the auto-focus more reliable.

No longer use the setTimeout to wait a loop, but instead wait for the
"load" event.

- - - - -


1 changed file:

- browser/components/preferences/preferences.js


Changes:

=====================================
browser/components/preferences/preferences.js
=====================================
@@ -482,14 +482,23 @@ async function scrollAndHighlight(subcategory, category) {
 
   // 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 bug 1799153.
-  element.setAttribute("tabindex", "-1");
-  // The element is not always immediately focusable, so we wait until the next
-  // loop.
-  setTimeout(() => {
+  // 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");



View it on GitLab: 
https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/88e111c606fac36f05dc69f336c1732008dd9324

-- 
View it on GitLab: 
https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/88e111c606fac36f05dc69f336c1732008dd9324
You're receiving this email because of your account on gitlab.torproject.org.


_______________________________________________
tbb-commits mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tbb-commits

Reply via email to