morgan pushed to branch tor-browser-128.4.0esr-14.5-1 at The Tor Project /
Applications / Tor Browser
Commits:
facc9a28 by Henry Wilkes at 2024-11-13T20:06:19+00:00
fixup! Bug 41600: Add a tor circuit display panel.
Bug 43237: Tweak Tor circuit display panel for screen readers.
- - - - -
3 changed files:
- browser/components/torcircuit/content/torCircuitPanel.css
- browser/components/torcircuit/content/torCircuitPanel.inc.xhtml
- browser/components/torcircuit/content/torCircuitPanel.js
Changes:
=====================================
browser/components/torcircuit/content/torCircuitPanel.css
=====================================
@@ -182,6 +182,6 @@
margin: 0;
}
-.tor-circuit-button label.tor-circuit-button-description {
+.tor-circuit-button .tor-circuit-button-description {
margin-block-start: var(--space-xsmall);
}
=====================================
browser/components/torcircuit/content/torCircuitPanel.inc.xhtml
=====================================
@@ -3,18 +3,20 @@
aria-labelledby="tor-circuit-heading"
type="arrow"
orient="vertical"
- class="cui-widget-panel panel-no-padding"
- tabindex="0">
+ class="cui-widget-panel panel-no-padding">
<!-- Use same semantic structure as #identity-popup and #protections-popup
- with a role="alertdialog" wrapping a role="document", except we use a
- "dialog" rather than an "alertdialog".
- Moreover, since this "dialog" may just be for reading, we also make the
- - "dialog" part of the focus cycle and receive the initial focus, rather
+ - "document" part of the focus cycle and receive the initial focus, rather
- than finding the first focusable target within.
- We do not set "aria-describedby" for this "dialog" because the content
- is complex, so a flat string would not make sense. -->
- <vbox id="tor-circuit-panel-document"
- role="document">
+ <!-- NOTE: Currently Orca fails to read the content of this panel, so the
+ - circuit details are not accessible. This effects mozilla-central as
well.
+ - See bugzilla bug 1820765 and bugzilla bug 1926374.
+ - The focusable elements are still operable though. -->
+ <vbox id="tor-circuit-panel-document" role="document" tabindex="0">
<vbox class="panel-header">
<html:h1 id="tor-circuit-heading"></html:h1>
<html:div id="tor-circuit-alias" hidden="hidden">
@@ -75,10 +77,12 @@
class="toolbarbutton-text"
data-l10n-id="tor-circuit-panel-new-button"
/>
- <label
+ <!-- NOTE: Use html:span rather than xul:label. Otherwise Orca will
+ - treat this as a label for the dialog. -->
+ <html:span
id="tor-circuit-new-circuit-description"
class="tor-circuit-button-description"
- />
+ ></html:span>
</vbox>
</toolbarbutton>
</vbox>
=====================================
browser/components/torcircuit/content/torCircuitPanel.js
=====================================
@@ -61,6 +61,7 @@ var gTorCircuitPanel = {
this.panel = document.getElementById("tor-circuit-panel");
this._panelElements = {
+ doc: document.getElementById("tor-circuit-panel-document"),
heading: document.getElementById("tor-circuit-heading"),
alias: document.getElementById("tor-circuit-alias"),
aliasLabel: document.getElementById("tor-circuit-alias-label"),
@@ -138,13 +139,18 @@ var gTorCircuitPanel = {
this._updateCircuitPanel();
});
- // Set the initial focus to the panel element itself, which has been made a
- // focusable target. Similar to dialogs, or webextension-popup-browser.
+ // Set the initial focus to the panel document itself, which has been made
a
+ // focusable target. Similar to webextension-popup-browser.
+ // Switching to a document should prompt screen readers to enter "browse
+ // mode" and allow the user to navigate the dialog content.
+ // NOTE: We could set the focus to the first focusable child within the
+ // document, but this would usually be the "New circuit" button, which
would
+ // skip over the rest of the document content.
this.panel.addEventListener("popupshown", event => {
if (event.target !== this.panel) {
return;
}
- this.panel.focus();
+ this._panelElements.doc.focus();
});
// this.toolbarButton follows "identity-button" markup, so is a <xul:box>
View it on GitLab:
https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/facc9a28f71b7526758f0b40ee3163d7ab486030
--
View it on GitLab:
https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/facc9a28f71b7526758f0b40ee3163d7ab486030
You're receiving this email because of your account on gitlab.torproject.org.
_______________________________________________
tbb-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]