marco.zehe%googlemail.com d6c6d2f028 bug 434356 - Accessibility XUL fixes for Page Info dialog
r=db48x
sr=neil


git-svn-id: svn://10.0.0.236/trunk@252106 18797224-902f-48f8-a5cc-f745e15eee43
2008-06-04 10:45:30 +00:00

571 lines
26 KiB
XML

<?xml version="1.0"?><!-- -*- Mode: nXML; indent-tabs-mode: nil -*- -->
<!-- ***** BEGIN LICENSE BLOCK *****
Version: MPL 1.1/GPL 2.0/LGPL 2.1
The contents of this file are subject to the Mozilla Public License Version
1.1 (the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
The Original Code is Mozilla Communicator client code, released
March 31, 1998.
The Initial Developer of the Original Code is
Netscape Communications Corporation.
Portions created by the Initial Developer are Copyright (C) 1998-2007
the Initial Developer. All Rights Reserved.
Contributor(s):
Simeon Morrison <smorrison@gte.com>
Chris McAfee <mcafee@netscape.com>
Daniel Brooks <db48x@yahoo.com>
Gervase Markham <gerv@gerv.net>
Florian QUEZE <f.qu@queze.net>
Ehsan Akhgari <ehsan.akhgari@gmail.com>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
in which case the provisions of the GPL or the LGPL are applicable instead
of those above. If you wish to allow use of your version of this file only
under the terms of either the GPL or the LGPL, and not to allow others to
use your version of this file under the terms of the MPL, indicate your
decision by deleting the provisions above and replace them with the notice
and other provisions required by the GPL or the LGPL. If you do not delete
the provisions above, a recipient may use your version of this file under
the terms of any one of the MPL, the GPL or the LGPL.
***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://navigator/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://navigator/content/pageinfo/pageInfo.css" type="text/css"?>
<?xml-stylesheet href="chrome://navigator/skin/pageInfo.css" type="text/css"?>
<!DOCTYPE window [
<!ENTITY % pageInfoDTD SYSTEM "chrome://navigator/locale/pageInfo.dtd">
%pageInfoDTD;
]>
<window id="main-window"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
windowtype="Browser:page-info"
onload="onLoadPageInfo()"
onunload="onUnloadPageInfo()"
align="stretch" style="&pageInfoWindow.dimensions;"
persist="screenX screenY width height sizemode">
<script type="application/x-javascript" src="chrome://global/content/globalOverlay.js"/>
<script type="application/x-javascript" src="chrome://communicator/content/contentAreaUtils.js"/>
<script type="application/x-javascript" src="chrome://navigator/content/pageinfo/pageInfo.js"/>
<script type="application/x-javascript" src="chrome://navigator/content/pageinfo/feeds.js"/>
<script type="application/x-javascript" src="chrome://navigator/content/pageinfo/permissions.js"/>
<script type="application/x-javascript" src="chrome://navigator/content/pageinfo/security.js"/>
<script type="application/x-javascript" src="chrome://global/content/strres.js"/>
<script type="application/x-javascript" src="chrome://help/content/contextHelp.js"/>
<script type="application/x-javascript" src="chrome://communicator/content/utilityOverlay.js"/>
<stringbundleset id="pageinfobundleset">
<stringbundle id="pageinfobundle" src="chrome://navigator/locale/pageInfo.properties"/>
</stringbundleset>
<commandset id="pageInfoCommandSet">
<command id="cmd_close" oncommand="window.close();"/>
<command id="cmd_help" oncommand="doHelpButton();"/>
<command id="cmd_copy" oncommand="doCopy();"/>
<command id="cmd_selectall" oncommand="doSelectAll();"/>
<!-- permissions tab -->
<command id="cmd_imageDef" oncommand="onCheckboxClick('image');"/>
<command id="cmd_popupDef" oncommand="onCheckboxClick('popup');"/>
<command id="cmd_cookieDef" oncommand="onCheckboxClick('cookie');"/>
<command id="cmd_installDef" oncommand="onCheckboxClick('install');"/>
<command id="cmd_imageToggle" oncommand="onRadioClick('image');"/>
<command id="cmd_popupToggle" oncommand="onRadioClick('popup');"/>
<command id="cmd_cookieToggle" oncommand="onRadioClick('cookie');"/>
<command id="cmd_installToggle" oncommand="onRadioClick('install');"/>
</commandset>
<keyset>
<key key="&closeWindow.key;" modifiers="accel" command="cmd_close"/>
<key keycode="VK_ESCAPE" command="cmd_close"/>
<key key="." modifiers="meta" command="cmd_close"/>
<key keycode="VK_F1" command="cmd_help"/>
<key key="&copy.key;" modifiers="accel" command="cmd_copy"/>
<key key="&selectall.key;" modifiers="accel" command="cmd_selectall"/>
<key key="&selectall.key;" modifiers="alt" command="cmd_selectall"/>
</keyset>
<menupopup id="picontext">
<menuitem label="&selectall.label;" command="cmd_selectall" accesskey="&selectall.accesskey;"/>
<menuitem label="&copy.label;" command="cmd_copy" accesskey="&copy.accesskey;"/>
</menupopup>
<tabbox id="tabbox" flex="1">
<tabs id="tabs" onselect="[gImageView, gFormView, gLinkView].forEach(ensureSelection);">
<tab id="generalTab" label="&generalTab;" accesskey="&generalTab.accesskey;"/>
<tab id="mediaTab" label="&mediaTab;" accesskey="&mediaTab.accesskey;"/>
<tab id="feedTab" label="&feedTab;" accesskey="&feedTab.accesskey;"/>
<tab id="permTab" label="&permTab;" accesskey="&permTab.accesskey;"/>
<tab id="formsTab" label="&formsTab;" accesskey="&formsTab.accesskey;"/>
<tab id="linksTab" label="&linksTab;" accesskey="&linksTab.accesskey;"/>
<tab id="securityTab" label="&securityTab;" accesskey="&securityTab.accesskey;"/>
<!-- Others added by overlay -->
</tabs>
<tabpanels id="mainDeck" flex="1">
<!-- General page information -->
<vbox id="generalPanel">
<textbox class="header" readonly="true" id="titletext"/>
<grid>
<columns>
<column/>
<column class="gridSeparator"/>
<column flex="1"/>
</columns>
<rows>
<row>
<label control="urltext" value="&generalURL;"/>
<separator/>
<textbox readonly="true" id="urltext"/>
</row>
<row>
<separator class="thin"/>
</row>
<row>
<label control="typetext" value="&generalType;"/>
<separator/>
<textbox readonly="true" id="typetext"/>
</row>
<row>
<label control="modetext" value="&generalMode;"/>
<separator/>
<textbox readonly="true" crop="end" id="modetext"/>
</row>
<row>
<label control="encodingtext" value="&generalEncoding;"/>
<separator/>
<textbox readonly="true" id="encodingtext"/>
</row>
<row>
<label control="sizetext" value="&generalSize;"/>
<separator/>
<textbox readonly="true" id="sizetext"/>
</row>
<row>
<label control="refertext" value="&generalReferrer;"/>
<separator/>
<textbox readonly="true" id="refertext"/>
</row>
<row>
<separator class="thin"/>
</row>
<row>
<label control="modifiedtext" value="&generalModified;"/>
<separator/>
<textbox readonly="true" id="modifiedtext"/>
</row>
</rows>
</grid>
<separator class="thin"/>
<groupbox id="metaTags" flex="1" class="treebox">
<caption id="metaTagsCaption" onclick="toggleGroupbox('metaTags');"/>
<tree id="metatree" flex="1" hidecolumnpicker="true" contextmenu="picontext">
<treecols>
<treecol id="meta-name" label="&generalMetaName;"
persist="width" flex="1"/>
<splitter class="tree-splitter"/>
<treecol id="meta-content" label="&generalMetaContent;"
persist="width" flex="4"/>
</treecols>
<treechildren flex="1"/>
</tree>
</groupbox>
<groupbox id="securityBox">
<caption id="securityBoxCaption" label="&securityHeader;"/>
<description id="general-security-identity" class="indent header"/>
<description id="general-security-privacy" class="indent header"/>
<hbox align="right">
<button id="security-view-more" label="&generalSecurityMore;"
accesskey="&generalSecurityMore.accesskey;"
oncommand="onClickMore();"/>
</hbox>
</groupbox>
</vbox>
<!-- Media information -->
<vbox id="mediaPanel">
<tree id="imagetree" onselect="onImageSelect();" contextmenu="picontext"
ondraggesture="onBeginLinkDrag(event,'image-address','image-alt')">
<treecols>
<treecol sortSeparators="true" persist="hidden width" flex="10"
width="10" id="image-address" label="&mediaAddress;"/>
<splitter class="tree-splitter"/>
<treecol sortSeparators="true" persist="hidden width" flex="2"
width="2" id="image-type" label="&mediaType;"/>
<splitter class="tree-splitter"/>
<treecol sortSeparators="true" hidden="true" persist="hidden width" flex="2"
width="2" id="image-size" label="&mediaSize;"/>
<splitter class="tree-splitter"/>
<treecol sortSeparators="true" hidden="true" persist="hidden width" flex="4"
width="4" id="image-alt" label="&mediaAltHeader;"/>
<splitter class="tree-splitter"/>
<treecol sortSeparators="true" hidden="true" persist="hidden width" flex="1"
width="1" id="image-count" label="&mediaCount;"/>
</treecols>
<treechildren flex="1"/>
</tree>
<splitter orient="vertical" id="mediaSplitter"/>
<vbox flex="1" id="mediaPreviewBox">
<grid>
<columns>
<column/>
<column class="gridSeparator"/>
<column flex="1"/>
</columns>
<rows>
<row>
<label control="imageurltext" value="&mediaURL;"/>
<separator/>
<textbox readonly="true" id="imageurltext"/>
</row>
<row>
<label control="imagetitletext" value="&mediaTitle;"/>
<separator/>
<textbox readonly="true" id="imagetitletext"/>
</row>
<row>
<label control="imagealttext" value="&mediaAlt;"/>
<separator/>
<textbox readonly="true" id="imagealttext"/>
</row>
<row>
<label control="imagelongdesctext" value="&mediaLongdesc;"/>
<separator/>
<textbox readonly="true" id="imagelongdesctext"/>
</row>
<row>
<label control="imagetypetext" value="&generalType;"/>
<separator/>
<textbox readonly="true" id="imagetypetext"/>
</row>
<row>
<label control="imagesourcetext" value="&generalSource;"/>
<separator/>
<textbox readonly="true" id="imagesourcetext"/>
</row>
<row>
<label control="imagesizetext" value="&generalSize;"/>
<separator/>
<textbox readonly="true" id="imagesizetext"/>
</row>
<row>
<label control="imageSize" value="&mediaDimensions;"/>
<separator/>
<textbox readonly="true" id="imageSize"/>
</row>
<row>
<label control="physSize" value="&mediaPhysDimensions;"/>
<separator/>
<textbox readonly="true" id="physSize"/>
</row>
</rows>
</grid>
<hbox align="end">
<vbox>
<checkbox id="blockImage" hidden="true" oncommand="onBlockImage()"
accesskey="&mediaBlockImage.accesskey;"/>
<label control="thepreviewimage" value="&mediaPreview;" class="header"/>
</vbox>
<spacer flex="1"/>
<button label="&mediaSaveAs;" accesskey="&mediaSaveAs.accesskey;"
icon="save" id="imagesaveasbutton" disabled="true"
oncommand="saveMedia();"/>
</hbox>
<vbox class="inset iframe" flex="1" pack="center">
<hbox id="theimagecontainer" pack="center">
<image id="thepreviewimage"/>
</hbox>
<hbox id="brokenimagecontainer" pack="center" collapsed="true">
<image id="brokenimage" src="resource:///res/broken-image.gif"/>
</hbox>
</vbox>
</vbox>
<hbox id="mediaSaveBox" collapsed="true">
<spacer flex="1"/>
<button label="&mediaSaveAs;" accesskey="&mediaSaveAs2.accesskey;"
icon="save" oncommand="saveMedia();"/>
</hbox>
</vbox>
<!-- Feeds -->
<vbox id="feedPanel">
<richlistbox id="feedListbox" class="inset" flex="1"/>
</vbox>
<!-- Permissions -->
<vbox id="permPanel">
<hbox>
<label control="hosttext" value="&permissionsFor;"/>
<textbox id="hostText" class="header" readonly="true"
crop="end" flex="1"/>
</hbox>
<!--
The below labels point to the radio groups to give the radio buttons
an accessible context. The accessible context for the preceeding
checkbox is already taken care of through the richlistitem grouping.
-->
<richlistbox id="permList" class="inset" flex="1">
<richlistitem orient="vertical">
<label value="&permImage;" control="imageRadioGroup"/>
<hbox>
<checkbox class="indent" id="imageDef" command="cmd_imageDef" label="&permUseDefault;"/>
<spacer flex="1"/>
<radiogroup id="imageRadioGroup" orient="horizontal">
<radio id="image-1" command="cmd_imageToggle" label="&permAllow;"/>
<radio id="image-2" command="cmd_imageToggle" label="&permBlock;"/>
</radiogroup>
</hbox>
</richlistitem>
<richlistitem orient="vertical">
<label value="&permPopup;" control="popupRadioGroup"/>
<hbox>
<checkbox class="indent" id="popupDef" command="cmd_popupDef" label="&permUseDefault;"/>
<spacer flex="1"/>
<radiogroup id="popupRadioGroup" orient="horizontal">
<radio id="popup-1" command="cmd_popupToggle" label="&permAllow;"/>
<radio id="popup-2" command="cmd_popupToggle" label="&permBlock;"/>
</radiogroup>
</hbox>
</richlistitem>
<richlistitem orient="vertical">
<label value="&permCookie;" control="cookieRadioGroup"/>
<hbox>
<checkbox class="indent" id="cookieDef" command="cmd_cookieDef" label="&permUseDefault;"/>
<spacer flex="1"/>
<radiogroup id="cookieRadioGroup" orient="horizontal">
<radio id="cookie-1" command="cmd_cookieToggle" label="&permAllow;"/>
<radio id="cookie-8" command="cmd_cookieToggle" label="&permAllowSession;"/>
<radio id="cookie-2" command="cmd_cookieToggle" label="&permBlock;"/>
</radiogroup>
</hbox>
</richlistitem>
<richlistitem orient="vertical">
<label value="&permInstall;" control="installRadioGroup"/>
<hbox>
<checkbox class="indent" id="installDef" command="cmd_installDef" label="&permUseDefault;"/>
<spacer flex="1"/>
<radiogroup id="installRadioGroup" orient="horizontal">
<radio id="install-1" command="cmd_installToggle" label="&permAllow;"/>
<radio id="install-2" command="cmd_installToggle" label="&permBlock;"/>
</radiogroup>
</hbox>
</richlistitem>
</richlistbox>
</vbox>
<!-- Form information -->
<vbox>
<tree id="formtree" class="fixedsize" onselect="onFormSelect();" contextmenu="picontext">
<treecols>
<splitter class="tree-splitter"/>
<treecol sortSeparators="true" persist="hidden width" flex="1"
width="1" id="form-name" label="&formName;"/>
<splitter class="tree-splitter"/>
<treecol sortSeparators="true" persist="hidden width" flex="3"
width="3" id="form-method" label="&formMethod;"/>
<splitter class="tree-splitter"/>
<treecol sortSeparators="true" persist="hidden width" flex="2"
width="2" id="form-action" label="&formAction;"/>
</treecols>
<treechildren flex="1"/>
</tree>
<splitter orient="vertical"/>
<vbox flex="1">
<textbox readonly="true" class="header" id="formname"/>
<grid>
<columns>
<column/>
<column style="width: .5em;"/>
<column flex="1"/>
</columns>
<rows>
<row>
<label control="formenctype" value="&formEncoding;"/>
<separator/>
<textbox readonly="true" id="formenctype"/>
</row>
<row>
<label control="formtarget" value="&formTarget;"/>
<separator/>
<textbox readonly="true" class="label" id="formtarget"/>
</row>
</rows>
</grid>
<label control="formpreview" class="header" value="&formFields;"/>
<tree id="formpreview" flex="1" contextmenu="picontext">
<treecols>
<treecol sortSeparators="true" persist="hidden width" flex="3"
width="3" id="field-label" label="&formLabel;"/>
<splitter class="tree-splitter"/>
<treecol sortSeparators="true" persist="hidden width" flex="3"
width="3" id="field-field" label="&formFName;"/>
<splitter class="tree-splitter"/>
<treecol sortSeparators="true" persist="hidden width" flex="1"
width="1" id="field-type" label="&formType;"/>
<splitter class="tree-splitter"/>
<treecol sortSeparators="true" persist="hidden width" flex="3"
width="3" id="field-value" label="&formCValue;"/>
</treecols>
<treechildren flex="1"/>
</tree>
</vbox>
</vbox>
<!-- Link info -->
<vbox>
<tree id="linktree" flex="1" ondraggesture="onBeginLinkDrag(event,'link-address','link-name')" contextmenu="picontext">
<treecols>
<treecol sortSeparators="true" persist="hidden width" flex="5"
width="5" id="link-name" label="&linkName;"/>
<splitter class="tree-splitter"/>
<treecol sortSeparators="true" persist="hidden width" flex="7"
width="7" id="link-address" label="&linkAddress;"/>
<splitter class="tree-splitter"/>
<treecol sortSeparators="true" persist="hidden width" flex="2"
width="2" id="link-type" label="&linkType;"/>
<splitter class="tree-splitter"/>
<treecol sortSeparators="true" persist="hidden width" flex="2"
width="2" id="link-target" label="&linkTarget;" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol sortSeparators="true" persist="hidden width" flex="1"
width="1" id="link-accesskey" label="&linkAccessKey;" hidden="true"/>
</treecols>
<treechildren flex="1"/>
</tree>
</vbox>
<!-- Security & Privacy -->
<vbox id="securityPanel">
<!-- Identity Section -->
<groupbox id="security-identity-groupbox" flex="1">
<caption id="security-identity" label="&securityView.identity.header;"/>
<grid flex="1">
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row><!-- Domain -->
<label control="security-identity-domain-value"
id="security-identity-domain-label"
class="fieldLabel"
value="&securityView.identity.domain;"/>
<textbox id="security-identity-domain-value"
class="fieldValue" readonly="true"/>
</row>
<row><!-- Owner -->
<label control="security-identity-owner-value"
id="security-identity-owner-label"
class="fieldLabel"
value="&securityView.identity.owner;"/>
<textbox id="security-identity-owner-value"
class="fieldValue" readonly="true"/>
</row>
<row><!-- Verifier -->
<label control="security-identity-verifier-value"
id="security-identity-verifier-label"
class="fieldLabel"
value="&securityView.identity.verifier;"/>
<textbox id="security-identity-verifier-value"
class="fieldValue" readonly="true"/>
</row>
</rows>
</grid>
<spacer flex="1"/>
<hbox><!-- Cert button -->
<description control="security-view-cert" id="security-view-text"
class="fieldLabel" flex="1"/>
<button id="security-view-cert" label="&securityView.certView;"
accesskey="&securityView.accesskey;"
oncommand="security.viewCert();"/>
</hbox>
</groupbox>
<!-- Privacy & History section -->
<groupbox id="security-privacy-groupbox" flex="1">
<caption id="security-privacy" label="&securityView.privacy.header;" />
<grid>
<columns>
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
#ifdef MOZ_PLACES
<row><!-- History -->
<label id="security-privacy-history-label"
control="security-privacy-history-value"
class="fieldLabel">&securityView.privacy.history;</label>
<textbox id="security-privacy-history-value"
class="fieldValue"
value="&securityView.unknown;"
readonly="true"/>
</row>
#endif
<row><!-- Cookies -->
<label id="security-privacy-cookies-label"
control="security-privacy-cookies-value"
class="fieldLabel">&securityView.privacy.cookies;</label>
<hbox>
<textbox id="security-privacy-cookies-value"
class="fieldValue"
value="&securityView.unknown;"
flex="1"
readonly="true"/>
<button id="security-view-cookies"
label="&securityView.privacy.viewCookies;"
accesskey="&securityView.privacy.viewCookies.accessKey;"
oncommand="security.viewCookies();"/>
</hbox>
</row>
<row><!-- Passwords -->
<label id="security-privacy-passwords-label"
control="security-privacy-passwords-value"
class="fieldLabel">&securityView.privacy.passwords;</label>
<hbox>
<textbox id="security-privacy-passwords-value"
class="fieldValue"
value="&securityView.unknown;"
flex="1"
readonly="true"/>
<button id="security-view-password"
label="&securityView.privacy.viewPasswords;"
accesskey="&securityView.privacy.viewPasswords.accessKey;"
oncommand="security.viewPasswords();"/>
</hbox>
</row>
</rows>
</grid>
</groupbox>
<!-- Technical Details section -->
<groupbox id="security-technical-groupbox" flex="1">
<caption id="security-technical" label="&securityView.technical.header;" />
<vbox flex="1">
<label id="security-technical-shortform" class="fieldValue"/>
<description id="security-technical-longform1" class="fieldLabel"/>
<description id="security-technical-longform2" class="fieldLabel"/>
</vbox>
</groupbox>
</vbox>
<!-- Others added by overlay -->
</tabpanels>
</tabbox>
</window>