torLogDialog.xhtml (2522B)
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <?csp default-src chrome: ?> 4 5 <window 6 type="child" 7 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 8 xmlns:html="http://www.w3.org/1999/xhtml" 9 data-l10n-id="tor-log-dialog-title" 10 > 11 <dialog id="torPreferences-torLog-dialog" buttons="accept,extra1"> 12 <linkset> 13 <html:link rel="stylesheet" href="chrome://global/skin/global.css" /> 14 <html:link 15 rel="stylesheet" 16 href="chrome://browser/skin/preferences/preferences.css" 17 /> 18 <html:link 19 rel="stylesheet" 20 href="chrome://browser/content/torpreferences/torPreferences.css" 21 /> 22 23 <html:link rel="localization" href="toolkit/global/tor-browser.ftl" /> 24 </linkset> 25 26 <script src="chrome://browser/content/torpreferences/torLogDialog.js" /> 27 28 <!-- We use a <table> element rather than a <ol>. A table structure allows 29 - screen reader users to navigate within one column so they can avoid the 30 - readback of the timestamp on every row. See tor-browser#43328. 31 - NOTE: We add the explicit role="table". Whilst this should not be 32 - neccessary, nor is it recommended, some screen readers (Orca 46) do not 33 - read out the default table role if the CSS `display` is not `table`. 34 - NOTE: Even though this table is updated with live information, we do 35 - not want to make this an aria-live area or use a "log updated" 36 - notification because the log messages are potentially busy. 37 - Moreover, the live updates is a convience so that the log doesn't need 38 - to be manually refreshed, rather than important information. 39 - NOTE: We add a tabindex=0 to make this element focusable with or 40 - without the overflow. This also makes the table the the initial focus 41 - of the dialog. 42 - NOTE: We add lang="en" and dir="ltr" to the <tbody> since the content 43 - of the log is in English. We do not add this to the <table> element 44 - since its aria-label is localised and we want the scrollbar to match 45 - the locale direction. 46 - NOTE: We avoid any whitespace between the <table> and <tbody> to ensure 47 - it does not contribute to the text content when the top of the table is 48 - manually copied. --> 49 <html:table 50 id="tor-log-table" 51 role="table" 52 data-l10n-id="tor-log-dialog-table" 53 tabindex="0" 54 ><html:tbody id="tor-log-body" lang="en" dir="ltr"></html:tbody 55 ></html:table> 56 </dialog> 57 </window>