[tor-commits] [Git][tpo/applications/tor-browser][tor-browser-115.3.1esr-13.0-1] fixup! Bug 41454: Move focus after calling openPreferences for a sub-category.
Pier Angelo Vendrame (@pierov)
git at gitlab.torproject.org
Wed Oct 11 12:19:54 UTC 2023
Pier Angelo Vendrame pushed to branch tor-browser-115.3.1esr-13.0-1 at The Tor Project / Applications / Tor Browser
Commits:
00e9622f by Henry Wilkes at 2023-10-11T11:24:18+01: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
=====================================
@@ -491,14 +491,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/tor-browser/-/commit/00e9622f5d1eb80639c0304625acb89343fe79d5
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/00e9622f5d1eb80639c0304625acb89343fe79d5
You're receiving this email because of your account on gitlab.torproject.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.torproject.org/pipermail/tor-commits/attachments/20231011/5c0f6364/attachment-0001.htm>
More information about the tor-commits
mailing list