Bug 302359. Accessibility fixes for options dialogs. r=mconnor, r=parente, sr=darin, a=parente

This commit is contained in:
aaronleventhal%moonset.net 2005-08-10 18:15:53 +00:00
Родитель 032ea8b227
Коммит 1a825a8d3e
19 изменённых файлов: 146 добавлений и 119 удалений

Просмотреть файл

@ -217,15 +217,32 @@ NS_IMETHODIMP nsAccessible::GetDescription(nsAString& aDescription)
}
if (!content->IsContentOfType(nsIContent::eTEXT)) {
nsAutoString description;
if (!mRoleMapEntry ||
NS_FAILED(GetTextFromRelationID(nsAccessibilityAtoms::describedby, description))) {
if (NS_CONTENT_ATTR_HAS_VALUE !=
content->GetAttr(kNameSpaceID_None, nsAccessibilityAtoms::title, description)) {
nsAutoString name;
GetName(name);
if (name.IsEmpty() || description == name) {
// Has no name or description is not unique
description.Truncate();
if (mRoleMapEntry) {
GetTextFromRelationID(nsAccessibilityAtoms::describedby, description);
}
if (description.IsEmpty()) {
PRBool isXUL = content->IsContentOfType(nsIContent::eXUL);
if (isXUL) {
// Try XUL <description control="[id]">description text</description>
nsIContent *descriptionContent =
GetXULLabelContent(content, nsAccessibilityAtoms::description);
if (descriptionContent) {
// We have a description content node
AppendFlatStringFromSubtree(descriptionContent, &description);
}
}
if (description.IsEmpty()) {
nsIAtom *descAtom = isXUL ? nsAccessibilityAtoms::tooltiptext :
nsAccessibilityAtoms::title;
if (NS_CONTENT_ATTR_HAS_VALUE ==
content->GetAttr(kNameSpaceID_None, descAtom, description)) {
nsAutoString name;
GetName(name);
if (name.IsEmpty() || description == name) {
// Don't use tooltip for a description if this object
// has no name or the tooltip is the same as the name
description.Truncate();
}
}
}
}
@ -1255,7 +1272,6 @@ nsresult nsAccessible::AppendFlatStringFromContentNode(nsIContent *aContent, nsA
if (textContent->TextLength() > 0) {
nsAutoString text;
textContent->AppendTextTo(text);
text.CompressWhitespace();
if (!text.IsEmpty())
aFlatString->Append(text);
if (isHTMLBlock && !aFlatString->IsEmpty())
@ -1271,11 +1287,12 @@ nsresult nsAccessible::AppendFlatStringFromContentNode(nsIContent *aContent, nsA
aContent->GetAttr(kNameSpaceID_None, nsAccessibilityAtoms::value,
textEquivalent);
}
else {
aContent->GetAttr(kNameSpaceID_None, nsAccessibilityAtoms::tooltiptext,
textEquivalent);
else if (NS_CONTENT_ATTR_HAS_VALUE !=
aContent->GetAttr(kNameSpaceID_None,
nsAccessibilityAtoms::tooltiptext,
textEquivalent)) {
AppendNameFromAccessibleFor(aContent, aFlatString, PR_TRUE /* use value */);
}
textEquivalent.CompressWhitespace();
return AppendStringWithSpaces(aFlatString, textEquivalent);
}
return NS_OK; // Not HTML and not XUL -- we don't handle it yet
@ -1348,7 +1365,7 @@ nsresult nsAccessible::AppendFlatStringFromSubtreeRecurse(nsIContent *aContent,
PRUint32 index;
for (index = 0; index < numChildren; index++) {
AppendFlatStringFromSubtree(aContent->GetChildAt(index), aFlatString);
AppendFlatStringFromSubtreeRecurse(aContent->GetChildAt(index), aFlatString);
}
return NS_OK;
}
@ -1384,7 +1401,7 @@ nsIContent* nsAccessible::GetXULLabelContent(nsIContent *aForNode, nsIAtom *aLab
}
// Look for label in subtrees of nearby ancestors
static const PRUint32 kAncestorLevelsToSearch = 3;
static const PRUint32 kAncestorLevelsToSearch = 5;
PRUint32 count = 0;
while (!labelContent && ++count <= kAncestorLevelsToSearch &&
(aForNode = aForNode->GetParent()) != nsnull) {
@ -1826,23 +1843,6 @@ NS_IMETHODIMP nsAccessible::GetFinalState(PRUint32 *aState)
// via DHTML accessibility disabled property
finalState &= ~(STATE_SELECTABLE | STATE_FOCUSABLE);
}
else if (gLastFocusedNode == mDOMNode && (mRoleMapEntry->state & STATE_SELECTABLE)) {
// If we're focused and selectable and not inside a multiselect,
// then we're also selected
nsCOMPtr<nsIAccessible> container = this;
PRUint32 containerState = 0, containerRole;
while (0 == (containerState & STATE_MULTISELECTABLE)) {
nsCOMPtr<nsIAccessible> current;
current.swap(container);
current->GetParent(getter_AddRefs(container));
if (!container || (NS_SUCCEEDED(container->GetFinalRole(&containerRole)) &&
containerRole == ROLE_PANE)) {
finalState |= STATE_SELECTED;
break;
}
container->GetFinalState(&containerState);
}
}
nsCOMPtr<nsIContent> content(do_QueryInterface(mDOMNode));
if (content) {

Просмотреть файл

@ -374,29 +374,17 @@ void nsRootAccessible::FireAccessibleFocusEvent(nsIAccessible *aAccessible,
// Special dynamic content handling
PRUint32 role = ROLE_NOTHING;
aAccessible->GetFinalRole(&role);
PRUint32 naturalRole; // The natural role is the role that this type of element normally has
aAccessible->GetRole(&naturalRole);
if (role != naturalRole) {
nsCOMPtr<nsIAccessible> multiSelect = GetMultiSelectFor(aNode);
if (!multiSelect) {
// Selection events that mirror focus events
// Mirror selection events to focus, but only for widgets that are selectable
// but not a descendent of a multi-selectable widget
// Selection events for multiselects is handled separately
// in nsDocAccessible::AttributeChanged() for DHTML widgets and
// in nsRootAccessible::HandleEvent() via
// DOMItemSelected and DOMItemUnselected for everything else
FireToolkitEvent(nsIAccessibleEvent::EVENT_SELECTION,
aAccessible, nsnull);
}
if (role == ROLE_MENUITEM) {
if (!mIsInDHTMLMenu) { // Entering menus
FireToolkitEvent(nsIAccessibleEvent::EVENT_MENUSTART, this, nsnull);
if (role == ROLE_MENUITEM) {
if (!mIsInDHTMLMenu) { // Entering menus
PRUint32 naturalRole; // The natural role is the role that this type of element normally has
aAccessible->GetRole(&naturalRole);
if (role != naturalRole) { // Must be a DHTML menuitem
FireToolkitEvent(nsIAccessibleEvent::EVENT_MENUSTART, this, nsnull);
mIsInDHTMLMenu = ROLE_MENUITEM;
}
mIsInDHTMLMenu = PR_TRUE;
}
}
if (role != ROLE_MENUITEM && mIsInDHTMLMenu) { // Leaving menus
else if (mIsInDHTMLMenu) {
FireToolkitEvent(nsIAccessibleEvent::EVENT_MENUEND, this, nsnull);
mIsInDHTMLMenu = PR_FALSE;
}

Просмотреть файл

@ -47,7 +47,10 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<prefpane id="paneAdvanced" onpaneload="gAdvancedPane.init();"
helpURI="chrome://browser/locale/help/help.rdf">
helpURI="chrome://browser/locale/help/help.rdf"
xmlns:xhtml2="http://www.w3.org/TR/xhtml2"
xmlns:wairole="http://www.w3.org/2005/01/wai-rdf/GUIRoleTaxonomy#"
xmlns:aaa="http://www.w3.org/2005/07/aaa">
<preferences>
<preference id="browser.preferences.advanced.selectedTabIndex"
@ -128,7 +131,7 @@
<groupbox>
<caption label="&languages.caption;"/>
<hbox align="center">
<description flex="1">&languagesInfo.label;</description>
<description flex="1" control="showLanguages">&languagesInfo.label;</description>
<button label="&showLanguages.label;"
accesskey="&showLanguages.accesskey;"
oncommand="gAdvancedPane.showLanguages();"/>
@ -136,8 +139,8 @@
</groupbox>
</tabpanel>
<tabpanel orient="vertical" align="start">
<label>&autoCheck.label;</label>
<vbox class="indent">
<label control="autoUpdateGroup">&autoCheck.label;</label>
<vbox class="indent" id="autoUpdateGroup" xhtml2:role="wairole:groupbox">
<hbox>
<checkbox id="enableAppUpdate"
label="&enableAppUpdate.label;"
@ -160,7 +163,7 @@
</hbox>
</vbox>
<separator/>
<label id="updateModeLabel">&whenUpdatesFound.label;</label>
<label id="updateModeLabel" control="updateMode">&whenUpdatesFound.label;</label>
<radiogroup id="updateMode" class="indent"
preference="app.update.auto">
<radio id="ask" value="false"
@ -219,7 +222,7 @@
</groupbox>
<groupbox>
<caption label="&certificates.label;"/>
<description>&certselect.description;</description>
<description control="certselection">&certselect.description;</description>
<radiogroup id="certSelection" orient="horizontal" preftype="string"
preference="security.default_personal_cert">
<radio label="&certselect.auto;" accesskey="&certselect.auto.accesskey;"
@ -230,7 +233,7 @@
<separator/>
<description>
<hbox>
<button label="&viewCertificates.label;" accesskey="&viewCertificates.accesskey;"
oncommand="gAdvancedPane.showCertificates();"
preference="security.disable_button.openCertManager"/>
@ -242,7 +245,7 @@
<button label="&viewSecurityDevices.label;" accesskey="&viewSecurityDevices.accesskey;"
oncommand="gAdvancedPane.showSecurityDevices();"
preference="security.disable_button.openDeviceManager"/>
</description>
</hbox>
</groupbox>
</tabpanel>
</tabpanels>

Просмотреть файл

@ -49,6 +49,9 @@
buttons="accept,cancel,help"
ondialogaccept="return gChangeActionDialog.onAccept();"
ondialoghelp="openHelp('prefs-download-actions', 'chrome://browser/locale/help/help.rdf');"
xmlns:xhtml2="http://www.w3.org/TR/xhtml2"
xmlns:wairole="http://www.w3.org/2005/01/wai-rdf/GUIRoleTaxonomy#"
xmlns:aaa="http://www.w3.org/2005/07/aaa"
style="width: &window.width;;"
persist="screenX screenY">
@ -66,8 +69,9 @@
</vbox>
</hbox>
<vbox id="changeActionContent" flex="1">
<label>&whenDownloading.label;</label>
<radiogroup id="handlerGroup" onselect="gChangeActionDialog.doEnabling(this.selectedItem);" flex="1">
<label control="handlerGroup">&whenDownloading.label;</label>
<radiogroup id="handlerGroup" onselect="gChangeActionDialog.doEnabling(this.selectedItem);"
flex="1" xhtml2:role="wairole:radiogroup" aaa:describedby="changeActionHeader"/>
<separator class="thin"/>
<radio id="openDefault" value="system"
label="&openDefault.label;" accesskey="&openDefault.accesskey;"/>

Просмотреть файл

@ -71,7 +71,7 @@
oncommand="gCookiesWindow.clearFilter();" disabled="true"/>
</hbox>
<separator class="thin"/>
<label id="cookiesIntro" value="&cookiesonsystem.label;"/>
<label control="cookiesList" id="cookiesIntro" value="&cookiesonsystem.label;"/>
<separator class="thin"/>
<tree id="cookiesList" flex="1" style="height: 10em;"
onkeypress="gCookiesWindow.onCookieKeyPress(event)"

Просмотреть файл

@ -74,7 +74,9 @@
oncommand="gDownloadActionsWindow.clearFilter();" disabled="true"/>
</hbox>
<separator class="thin"/>
<label id="actionsIntro">&fileTypesDescription.label;</label>
<label id="actionsIntro" control="fileHandlersList">
&fileTypesDescription.label;
</label>
<separator class="thin"/>
<tree id="fileHandlersList" flex="1"
lastSelected="0" persist="lastSelected"

Просмотреть файл

@ -117,10 +117,11 @@
<groupbox>
<caption label="&fileTypes.label;"/>
<description>&fileTypesDescription.label;</description>
<description control="configureActions">&fileTypesDescription.label;</description>
<separator class="thin"/>
<hbox>
<button label="&configureActions.label;" accesskey="&configureActions.accesskey;"
<button id="configureActions" label="&configureActions.label;"
accesskey="&configureActions.accesskey;"
oncommand="gDownloadsPane.showFileTypeActions();"
preference="pref.downloads.disable_button.edit_actions"/>
</hbox>

Просмотреть файл

@ -80,7 +80,7 @@
<groupbox>
<caption label="&connectionsInfo.caption;"/>
<hbox align="center">
<description flex="1">&proxiesInfo.label;</description>
<description flex="1" control="catProxiesButton">&proxiesInfo.label;</description>
<button id="catProxiesButton" icon="network" label="&showConnections.label;"
accesskey="&showConnections.accesskey;"
oncommand="gGeneralPane.showConnections();"/>

Просмотреть файл

@ -62,9 +62,9 @@
</keyset>
<vbox class="contentPane" flex="1">
<description id="permissionsText"/>
<description id="permissionsText" control="url"/>
<separator class="thin"/>
<label value="&address.label;"/>
<label control="url" value="&address.label;"/>
<hbox align="start">
<textbox id="url" flex="1"
oninput="gPermissionManager.onHostInput(event.target);"

Просмотреть файл

@ -95,7 +95,7 @@
<script type="application/x-javascript" src="chrome://browser/content/sanitize.js"/>
<script type="application/x-javascript" src="chrome://browser/content/preferences/privacy.js"/>
<description>&privacy.intro;</description>
<description control="panePrivacy">&privacy.intro;</description>
<separator class="thin"/>
<tabbox id="privacyPrefs" flex="1"
onselect="gPrivacyPane.tabSelectionChanged(event);">
@ -107,11 +107,14 @@
<tab label="&itemCookies.label;" helpTopic="prefs-cookies"/>
<tab label="&itemCache.label;" helpTopic="prefs-cache"/>
</tabs>
<tabpanels flex="1">
<tabpanels flex="1" xmlns:xhtml2="http://www.w3.org/TR/xhtml2"
xmlns:wairole="http://www.w3.org/2005/01/wai-rdf/GUIRoleTaxonomy#"
xmlns:aaa="http://www.w3.org/2005/07/aaa">
<tabpanel orient="vertical">
<hbox align="center">
<hbox xhtml2:role="wairole:label" id="historyDaysContainer" align="center">
<label control="historyDays" accesskey="&rememberPages.accesskey;">&rememberPages.label;</label>
<textbox id="historyDays" size="2" preference="browser.history_expire_days"/>
<textbox id="historyDays" size="2" preference="browser.history_expire_days"
xhtml2:role="wairole:textfield" aaa:labelledby="historyDaysContainer"/>
<label>&rememberDays.label;</label>
</hbox>
<separator flex="1"/>
@ -123,7 +126,7 @@
</hbox>
</tabpanel>
<tabpanel orient="vertical">
<description>&savedFormData.intro;</description>
<description control="saveFormHistory">&savedFormData.intro;</description>
<vbox align="start">
<checkbox id="saveFormHistory" preference="browser.formfill.enable"
label="&enableFormFill.label;" accesskey="&enableFormFill.accesskey;"/>
@ -137,7 +140,7 @@
</hbox>
</tabpanel>
<tabpanel orient="vertical">
<description>&savedPasswords.intro;</description>
<description control="savePasswords">&savedPasswords.intro;</description>
<hbox>
<checkbox id="savePasswords"
label="&enablePasswords.label;" accesskey="&enablePasswords.accesskey;"
@ -145,7 +148,7 @@
</hbox>
<separator/>
<hbox align="start">
<description flex="1">&masterPassword.intro;</description>
<description control="setMasterPassword" flex="1">&masterPassword.intro;</description>
<!-- XXXben - check for keychain access use -->
<vbox>
<button id="setMasterPassword"
@ -166,7 +169,7 @@
</hbox>
</tabpanel>
<tabpanel orient="vertical">
<description>&downloadManager.intro;</description>
<description control="viewDownloads" >&downloadManager.intro;</description>
<separator class="thin"/>
<hbox align="center">
<label accesskey="&downloadsRetentionPolicy.accesskey;"
@ -182,7 +185,8 @@
</hbox>
<separator flex="1"/>
<hbox>
<button label="&viewDownloads.label;" accesskey="&viewDownloads.accesskey;"
<button id="viewDownloads" label="&viewDownloads.label;"
accesskey="&viewDownloads.accesskey;"
oncommand="gPrivacyPane.viewDownloads();"/>
<spring flex="1"/>
<button icon="clear" label="&clearDownloads.label;"
@ -195,7 +199,7 @@
created without user interaction, unlike Software Installation,
Popup and Image whitelists -->
<vbox>
<description>&cookies.intro;</description>
<description control="enableCookies">&cookies.intro;</description>
<hbox>
<checkbox id="enableCookies" preference="network.cookie.cookieBehavior"
label="&enableCookies.label;" accesskey="&enableCookies.accesskey;"
@ -245,12 +249,13 @@
</hbox>
</tabpanel>
<tabpanel orient="vertical">
<description>&cache.intro;</description>
<hbox align="center">
<description control="cacheSize">&cache.intro;</description>
<hbox xhtml2:role="wairole:label" id="cacheSizeContainer" align="center">
<label accesskey="&cacheUseUpTo.accesskey;" control="cacheSize">&cacheUseUpTo.label;</label>
<textbox id="cacheSize" size="2" preference="browser.cache.disk.capacity"
onsyncfrompreference="return gPrivacyPane.readCacheSizePref();"
onsynctopreference="return gPrivacyPane.writeCacheSizePref();"/>
onsynctopreference="return gPrivacyPane.writeCacheSizePref();"
xhtml2:role="wairole:textfield" aaa:labelledby="cacheSizeContainer"/>
<label>&cacheSize.label;</label>
</hbox>
<separator flex="1"/>
@ -304,7 +309,7 @@
</groupbox>
<groupbox orient="vertical" flex="1">
<caption label="&itemPasswords.label;"/>
<description>&savedPasswords.intro;</description>
<description control="savePasswords" >&savedPasswords.intro;</description>
<hbox align="center">
<checkbox id="savePasswords"
label="&enablePasswords.label;" accesskey="&enablePasswords.accesskey;"
@ -322,7 +327,7 @@
</groupbox>
<groupbox orient="vertical" flex="1">
<caption label="&itemDownloads.label;"/>
<description>&downloadManager.intro;</description>
<description control="viewDownloads">&downloadManager.intro;</description>
<label accesskey="&downloadsRetentionPolicy.accesskey;"
control="downloadsRetentionPolicy">&downloadsRetentionPolicy.label;</label>
<hbox>
@ -337,7 +342,8 @@
</hbox>
<separator flex="1"/>
<hbox>
<button label="&viewDownloads.label;" accesskey="&viewDownloads.accesskey;"
<button id="viewDownloads" label="&viewDownloads.label;"
accesskey="&viewDownloads.accesskey;"
oncommand="gPrivacyPane.viewDownloads();"/>
<spring flex="1"/>
<button label="&clearDownloads.label;" accesskey="&clearDownloads.accesskey;"
@ -350,7 +356,7 @@
Popup and Image whitelists -->
<caption label="&itemCookies.label;"/>
<vbox>
<description>&cookies.intro;</description>
<description control="enableCookies">&cookies.intro;</description>
<hbox>
<checkbox id="enableCookies" preference="network.cookie.cookieBehavior"
label="&enableCookies.label;" accesskey="&enableCookies.accesskey;"
@ -398,7 +404,7 @@
</groupbox>
<groupbox orient="vertical" flex="1">
<caption label="&itemCache.label;"/>
<description>&cache.intro;</description>
<description id="cacheSize">&cache.intro;</description>
<hbox align="center">
<label accesskey="&cacheUseUpTo.accesskey;" control="cacheSize">&cacheUseUpTo.label;</label>
<textbox id="cacheSize" size="2" preference="browser.cache.disk.capacity"
@ -417,9 +423,10 @@
#endif
<separator class="thin"/>
<hbox align="center">
<button label="&sanitizeSettings.label;" accesskey="&sanitizeSettings.accesskey;"
<button id="sanitizeSettings" label="&sanitizeSettings.label;"
accesskey="&sanitizeSettings.accesskey;"
oncommand="gPrivacyPane.showSanitizeSettings();"/>
<description flex="1">&sanitize.intro;</description>
<description flex="1" control="sanitizeSettings" >&sanitize.intro;</description>
</hbox>
<separator/>
</prefpane>

Просмотреть файл

@ -68,10 +68,10 @@
<preference id="privacy.sanitize.promptOnSanitize" name="privacy.sanitize.promptOnSanitize" type="bool"/>
</preferences>
<groupbox orient="vertical" align="start">
<groupbox id="sanitizeItems" orient="vertical" align="start">
<caption label="&items.label;"/>
<label>&sanitizeItems.label;</label>
<description control="sanitizeItems">&sanitizeItems.label;</description>
<checkbox label="&itemHistory.label;" accesskey="&itemHistory.accesskey;" preference="privacy.item.history"/>
<checkbox label="&itemFormData.label;" accesskey="&itemFormData.accesskey;" preference="privacy.item.formdata"/>
<checkbox label="&itemPasswords.label;" accesskey="&itemPasswords.accesskey;" preference="privacy.item.passwords"

Просмотреть файл

@ -63,7 +63,7 @@
<tabpanels id="panel" flex="1">
<!-- saved signons -->
<vbox id="savedsignons" flex="1">
<description>&spiel.signonsstored.label;</description>
<description control="signonsTree">&spiel.signonsstored.label;</description>
<separator class="thin"/>
<tree id="signonsTree" flex="1" style="height: 20em;" hidecolumnpicker="true"
onkeypress="HandleSignonKeyPress(event)"
@ -96,7 +96,7 @@
</vbox>
<!-- rejected signon sites -->
<vbox id="rejectedsites" flex="1">
<description>&spiel.signonsnotstored.label;</description>
<description control="rejectsTree">&spiel.signonsnotstored.label;</description>
<separator class="thin"/>
<tree id="rejectsTree" flex="1" style="height: 10em;" hidecolumnpicker="true"
onkeypress="HandleRejectKeyPress(event)"

Просмотреть файл

@ -424,15 +424,15 @@
<content xul:dlgbuttons="accept,cancel" xul:persist="lastSelected screenX screenY"
xul:closebuttonlabel="&preferencesCloseButton.label;"
xul:closebuttonaccesskey="&preferencesCloseButton.accesskey;"
xmlns:xhtml2="http://www.w3.org/TR/xhtml2"
xmlns:wairole="http://www.w3.org/2005/01/wai-rdf/GUIRoleTaxonomy#"
xhtml2:role="wairole:dialog"
#ifdef XP_WIN
xul:title="&preferencesDefaultTitleWin.title;">
#else
xul:title="&preferencesDefaultTitleMac.title;">
#endif
<xul:radiogroup anonid="selector" orient="horizontal" class="paneSelector chromeclass-toolbar"
xmlns:xhtml2="http://www.w3.org/TR/xhtml2"
xmlns:wairole="http://www.w3.org/2005/01/wai-rdf/GUIRoleTaxonomy#"
xmlns:waistate="http://www.w3.org/2005/07/aaa"
xhtml2:role="wairole:list"/> <!-- Expose to accessibility APIs as a list -->
<xul:hbox flex="1" class="paneDeckContainer">
<xul:deck anonid="paneDeck" flex="1">
@ -562,8 +562,6 @@
radio.setAttribute("label", aPaneElement.label);
// Expose preference group choice to accessibility APIs as an unchecked list item
// The parent group is exposed to accessibility APIs as a list
radio.setAttributeNS("http://www.w3.org/TR/xhtml2", "role", "wairole:listitem");
radio.setAttributeNS("http://www.w3.org/2005/07/aaa", "checked", "false");
if (aPaneElement.image)
radio.setAttribute("src", aPaneElement.image);
radio.style.listStyleImage = aPaneElement.style.listStyleImage;
@ -1128,6 +1126,16 @@
<xul:image class="paneButtonIcon" xbl:inherits="src"/>
<xul:label class="paneButtonLabel" xbl:inherits="value=label"/>
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULListitemAccessible(this);
]]>
</getter>
</property>
</implementation>
</binding>
</bindings>

Просмотреть файл

@ -219,7 +219,7 @@ function setPasswordStrength()
}
var mymeter=document.getElementById('pwmeter');
mymeter.setAttribute("value",pwstrength);
mymeter.value = pwstrength;
return;
}

Просмотреть файл

@ -41,7 +41,7 @@
<stringbundle id="bundlePreferences" src="chrome://mozapps/locale/preferences/preferences.properties"/>
<description>&masterPasswordDescription.label;</description>
<description control="pw1">&masterPasswordDescription.label;</description>
<groupbox>
<grid>
@ -51,7 +51,7 @@
</columns>
<rows>
<row>
<label value="&setPassword.oldPassword.label;"/>
<label control="oldpw" value="&setPassword.oldPassword.label;"/>
<textbox id="oldpw" type="password"/>
<!-- This textbox is inserted as a workaround to the fact that making the 'type'
& 'disabled' property of the 'oldpw' textbox toggle between ['password' &
@ -63,12 +63,12 @@
<textbox id="message" disabled="true" />
</row>
<row>
<label value="&setPassword.newPassword.label;"/>
<label control="pw1" value="&setPassword.newPassword.label;"/>
<textbox id="pw1" type="password"
oninput="setPasswordStrength(); checkPasswords();"/>
</row>
<row>
<label value="&setPassword.reenterPassword.label;"/>
<label control="pw2" value="&setPassword.reenterPassword.label;"/>
<textbox id="pw2" type="password" oninput="checkPasswords();"/>
</row>
</rows>
@ -80,6 +80,6 @@
<progressmeter id="pwmeter" mode="determined" value="0"/>
</groupbox>
<description class="header">&masterPasswordWarning.label;</description>
<description control="pw2" class="header">&masterPasswordWarning.label;</description>
</dialog>

Просмотреть файл

@ -37,7 +37,7 @@
</vbox>
<vbox align="center">
<description>&calibrate.instructions;</description>
<description control="horizSize">&calibrate.instructions;</description>
<separator class="thin"/>
<hbox align="center">
<textbox id="horizSize" size="5"/>

Просмотреть файл

@ -60,7 +60,7 @@
<preference id="security.OCSP.URL" name="security.OCSP.URL" type="string"/>
</preferences>
<description>&validation.ocsp.description;</description>
<description control="securityOSCPEnabled">&validation.ocsp.description;</description>
<radiogroup id="securityOCSPEnabled" preference="security.OCSP.enabled"
onsyncfrompreference="return gOCSPDialog._updateUI();">
<radio value="0" label="&disableOCSP.label;"/>

Просмотреть файл

@ -13,14 +13,19 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
style="width: 35em;"
ondialogaccept="gRemovePasswordDialog.removePassword();"
onload="gRemovePasswordDialog.init()">
onload="gRemovePasswordDialog.init()"
xmlns:xhtml2="http://www.w3.org/TR/xhtml2"
xmlns:wairole="http://www.w3.org/2005/01/wai-rdf/GUIRoleTaxonomy#"
xmlns:aaa="http://www.w3.org/2005/07/aaa">
<script type="application/x-javascript" src="chrome://mozapps/content/preferences/removemp.js"/>
<stringbundle id="bundlePreferences" src="chrome://mozapps/locale/preferences/preferences.properties"/>
<description>&removeWarning1.label;</description>
<description class="header">&removeWarning2.label;</description>
<vbox id="warnings">
<description>&removeWarning1.label;</description>
<description class="header">&removeWarning2.label;</description>
</vbox>
<separator class="thin"/>
@ -28,8 +33,10 @@
<caption label="&removeInfo.label;"/>
<hbox align="center">
<label value="&setPassword.oldPassword.label;"/>
<textbox id="password" type="password" oninput="gRemovePasswordDialog.validateInput();"/>
<label control="password" value="&setPassword.oldPassword.label;"/>
<textbox id="password" type="password"
oninput="gRemovePasswordDialog.validateInput();"
xhtml2:role="textfield" aaa:describedby="warnings"/>
</hbox>
</groupbox>

Просмотреть файл

@ -58,21 +58,28 @@
<preference id="app.update.mode" name="app.update.mode" type="int"/>
</preferences>
<description>&update.intro;</description>
<description control="autoInstallMode">&update.intro;</description>
<radiogroup id="autoInstallMode" preference="app.update.mode">
<hbox>
<radio label="&ausMode0Name.label;" accesskey="&ausMode0Name.accesskey;"
<radio id="ausMode0" label="&ausMode0Name.label;" accesskey="&ausMode0Name.accesskey;"
value="0" flex="1"/>
</hbox>
<description class="updatePrefsInfo" id="ausMode0Info">&ausMode0Name.info;</description>
<description control="ausMode0" class="updatePrefsInfo" id="ausMode0Info">
&ausMode0Name.info;
</description>
<hbox>
<radio label="&ausMode1Name.label;" accesskey="&ausMode1Name.accesskey;"
<radio id="ausMode1" label="&ausMode1Name.label;" accesskey="&ausMode1Name.accesskey;"
value="1" flex="1"/>
</hbox>
<description class="updatePrefsInfo" id="ausMode1Info">&ausMode1Name.info;</description>
<radio label="&ausMode2Name.label;" accesskey="&ausMode2Name.accesskey;"
<description control="ausMode1" class="updatePrefsInfo" id="ausMode1Info">
&ausMode1Name.info;
</description>
<radio id="ausMode2" label="&ausMode2Name.label;" accesskey="&ausMode2Name.accesskey;"
value="2"/>
<description class="updatePrefsInfo" id="ausMode2Info">&ausMode2Name.info;</description>
<description control="ausMode2" class="updatePrefsInfo"
id="ausMode2Info">
&ausMode2Name.info;
</description>
</radiogroup>
<separator/>
<separator/>