Bug 241015. Remote XUL is not accessible. Patch by Alexander Surkov. r=aaronlev. Chrome r='s by neil and mano

This commit is contained in:
aaronleventhal%moonset.net 2006-07-24 16:12:08 +00:00
Родитель d89ffe33ce
Коммит 8cf5c3b9a2
51 изменённых файлов: 429 добавлений и 1306 удалений

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

@ -45,23 +45,20 @@ interface nsIFrame;
interface nsObjectFrame;
interface nsIContent;
[scriptable, uuid(09a39069-a138-40dd-91dd-79ce45742b52)]
[scriptable, uuid(e9f2dd1f-5660-4084-bc5d-9e86e0647232)]
interface nsIAccessibilityService : nsIAccessibleRetrieval
{
nsIAccessible createOuterDocAccessible(in nsIDOMNode aNode);
nsIAccessible createRootAccessible(in nsIPresShell aShell, in nsIDocument aDocument);
nsIAccessible createHTML4ButtonAccessible(in nsISupports aFrame);
nsIAccessible createXULAlertAccessible(in nsIDOMNode aNode);
nsIAccessible createHTMLAreaAccessible(in nsIWeakReference aPresShell, in nsIDOMNode aDOMNode, in nsIAccessible aAccParent);
nsIAccessible createHyperTextAccessible(in nsISupports aFrame);
nsIAccessible createHTMLBRAccessible(in nsISupports aFrame);
nsIAccessible createHTMLButtonAccessible(in nsISupports aFrame);
nsIAccessible createHTMLButtonAccessibleXBL(in nsIDOMNode aNode);
nsIAccessible createHTMLAccessibleByMarkup(in nsISupports aFrame, in nsIWeakReference aWeakShell, in nsIDOMNode aDOMNode, in AString aRole);
nsIAccessible createHTMLLIAccessible(in nsISupports aFrame, in nsISupports aBulletFrame, in AString aBulletText);
nsIAccessible createHTMLCheckboxAccessible(in nsISupports aFrame);
nsIAccessible createHTMLCheckboxAccessibleXBL(in nsIDOMNode aNode);
nsIAccessible createHTMLComboboxAccessible(in nsIDOMNode aNode, in nsIWeakReference aPresShell);
nsIAccessible createHTMLGenericAccessible(in nsISupports aFrame);
nsIAccessible createHTMLGroupboxAccessible(in nsISupports aFrame);
@ -71,7 +68,6 @@ interface nsIAccessibilityService : nsIAccessibleRetrieval
nsIAccessible createHTMLListboxAccessible(in nsIDOMNode aNode, in nsIWeakReference aPresShell);
nsIAccessible createHTMLObjectFrameAccessible(in nsObjectFrame aFrame);
nsIAccessible createHTMLRadioButtonAccessible(in nsISupports aFrame);
nsIAccessible createHTMLRadioButtonAccessibleXBL(in nsIDOMNode aNode);
nsIAccessible createHTMLSelectOptionAccessible(in nsIDOMNode aNode, in nsIAccessible aAccParent, in nsIWeakReference aPresShell);
nsIAccessible createHTMLTableAccessible(in nsISupports aFrame);
nsIAccessible createHTMLTableCellAccessible(in nsISupports aFrame);
@ -79,39 +75,9 @@ interface nsIAccessibilityService : nsIAccessibleRetrieval
nsIAccessible createHTMLTextAccessible(in nsISupports aFrame);
nsIAccessible createHTMLTextFieldAccessible(in nsISupports aFrame);
nsIAccessible createXULButtonAccessible(in nsIDOMNode aNode);
nsIAccessible createXULCheckboxAccessible(in nsIDOMNode aNode);
nsIAccessible createXULColorPickerAccessible(in nsIDOMNode aNode);
nsIAccessible createXULColorPickerTileAccessible(in nsIDOMNode aNode);
nsIAccessible createXULComboboxAccessible(in nsIDOMNode aNode);
nsIAccessible createXULDropmarkerAccessible(in nsIDOMNode aNode);
nsIAccessible createXULGroupboxAccessible(in nsIDOMNode aNode);
nsIAccessible createXULImageAccessible(in nsIDOMNode aNode);
nsIAccessible createXULLinkAccessible(in nsIDOMNode aNode);
nsIAccessible createXULListboxAccessible(in nsIDOMNode aNode);
nsIAccessible createXULListitemAccessible(in nsIDOMNode aNode);
nsIAccessible createXULMenubarAccessible(in nsIDOMNode aNode);
nsIAccessible createXULMenuitemAccessible(in nsIDOMNode aNode);
nsIAccessible createXULMenupopupAccessible(in nsIDOMNode aNode);
nsIAccessible createXULMenuSeparatorAccessible(in nsIDOMNode aNode);
nsIAccessible createXULProgressMeterAccessible(in nsIDOMNode aNode);
nsIAccessible createXULStatusBarAccessible(in nsIDOMNode aNode);
nsIAccessible createXULRadioButtonAccessible(in nsIDOMNode aNode);
nsIAccessible createXULRadioGroupAccessible(in nsIDOMNode aNode);
// XXX: It seems these methods aren't used.
nsIAccessible createXULSelectOptionAccessible(in nsIDOMNode aNode);
nsIAccessible createXULSelectListAccessible(in nsIDOMNode aNode);
nsIAccessible createXULTabAccessible(in nsIDOMNode aNode);
nsIAccessible createXULTabBoxAccessible(in nsIDOMNode aNode);
nsIAccessible createXULTabPanelsAccessible(in nsIDOMNode aNode);
nsIAccessible createXULTabsAccessible(in nsIDOMNode aNode);
nsIAccessible createXULTextAccessible(in nsIDOMNode aNode);
nsIAccessible createXULTextBoxAccessible(in nsIDOMNode aNode);
nsIAccessible createXULTreeAccessible(in nsIDOMNode aNode);
nsIAccessible createXULTreeColumnsAccessible(in nsIDOMNode aNode);
nsIAccessible createXULTreeColumnitemAccessible(in nsIDOMNode aNode);
nsIAccessible createXULToolbarAccessible(in nsIDOMNode aNode);
nsIAccessible createXULToolbarSeparatorAccessible(in nsIDOMNode aNode);
nsIAccessible createXULTooltipAccessible(in nsIDOMNode aNode);
[noscript] nsIAccessible getAccessible(in nsIDOMNode aNode, in nsIPresShell aPresShell,
in nsIWeakReference aWeakShell,

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

@ -22,6 +22,7 @@
*
* Contributor(s):
* John Gaunt
* Alexander Surkov <surkov.alexander@gmail.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either of the GNU General Public License Version 2 or later (the "GPL"),
@ -38,10 +39,72 @@
* ***** END LICENSE BLOCK ***** */
#include "nsISupports.idl"
#include "nsIAccessible.idl"
[scriptable, uuid(3f0e3eb0-1dd2-11b2-9605-be5b8e76cf4b)]
/**
* nsIAccessibleProvider interface is used to link element and accessible
object. For that XBL binding of element should implement the interface.
*/
[scriptable, uuid(41f8b69c-250b-440f-b86a-fa6ca4926e68)]
interface nsIAccessibleProvider : nsISupports
{
readonly attribute nsIAccessible accessible;
/**
* Constants set of common use.
*/
/** For elements that spawn a new document. For example now it is used by
<xul:iframe>, <xul:browser> and <xul:editor>. */
const long OuterDoc = 0x00000001;
/**
* Constants set is used by XUL controls.
*/
const long XULAlert = 0x00001001;
const long XULButton = 0x00001002;
const long XULCheckbox = 0x00001003;
const long XULColorPicker = 0x00001004;
const long XULColorPickerTile = 0x00001005;
const long XULCombobox = 0x00001006;
const long XULDropmarker = 0x00001007;
const long XULGroupbox = 0x00001008;
const long XULImage = 0x00001009;
const long XULLink = 0x00001010;
const long XULListbox = 0x00001011;
const long XULListitem = 0x00001012;
const long XULMenubar = 0x00001013;
const long XULMenuitem = 0x00001014;
const long XULMenupopup = 0x00001015;
const long XULMenuSeparator = 0x00001016;
const long XULProgressMeter = 0x00001017;
const long XULStatusBar = 0x00001018;
const long XULRadioButton = 0x00001019;
const long XULRadioGroup = 0x00001020;
/** The single tab in a dialog or tabbrowser/editor interface */
const long XULTab = 0x00001021;
/** A combination of a tabs object and a tabpanels object */
const long XULTabBox = 0x00001022;
/** The display area for a dialog or tabbrowser interface */
const long XULTabPanels = 0x00001023;
/** The collection of tab objects, useable in the TabBox and independant of
as well */
const long XULTabs = 0x00001024;
const long XULText = 0x00001025;
const long XULTextBox = 0x00001026;
const long XULTree = 0x00001027;
const long XULTreeColumns = 0x00001028;
const long XULTreeColumnitem = 0x00001029;
const long XULToolbar = 0x00001030;
const long XULToolbarSeparator = 0x00001031;
const long XULTooltip = 0x00001032;
/**
* Return one of constants declared above.
*/
readonly attribute long accessibleType;
};

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

@ -419,25 +419,6 @@ nsAccessibilityService::CreateHTMLButtonAccessible(nsISupports *aFrame, nsIAcces
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateHTMLButtonAccessibleXBL(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
// reusing the HTML accessible widget and enhancing for XUL
*_retval = new nsHTML4ButtonAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
nsresult
nsAccessibilityService::CreateHTMLAccessibleByMarkup(nsISupports *aFrame,
nsIWeakReference *aWeakShell,
@ -556,25 +537,6 @@ nsAccessibilityService::CreateHTMLCheckboxAccessible(nsISupports *aFrame, nsIAcc
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateHTMLCheckboxAccessibleXBL(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
// reusing the HTML accessible widget and enhancing for XUL
*_retval = new nsHTMLCheckboxAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateHTMLComboboxAccessible(nsIDOMNode* aDOMNode, nsIWeakReference* aPresShell, nsIAccessible **_retval)
{
@ -732,25 +694,6 @@ nsAccessibilityService::CreateHTMLRadioButtonAccessible(nsISupports *aFrame, nsI
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateHTMLRadioButtonAccessibleXBL(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
// reusing the HTML accessible widget and enhancing for XUL
*_retval = new nsHTMLRadioButtonAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateHTMLSelectOptionAccessible(nsIDOMNode* aDOMNode,
nsIAccessible *aParent,
@ -867,25 +810,6 @@ nsAccessibilityService::CreateHTMLTextFieldAccessible(nsISupports *aFrame, nsIAc
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULTextBoxAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULTextFieldAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateHTMLLabelAccessible(nsISupports *aFrame, nsIAccessible **_retval)
{
@ -940,386 +864,6 @@ nsAccessibilityService::CreateHTMLBRAccessible(nsISupports *aFrame, nsIAccessibl
return NS_OK;
}
/**
* XUL widget creation
* we can't ifdef this whole block because there is no way to exclude
* these methods from the idl definition conditionally (MOZ_XUL).
* XXXjgaunt what needs to happen is all of the CreateFooAcc() methods get re-written
* into a single method.
*/
NS_IMETHODIMP nsAccessibilityService::CreateXULButtonAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
// reusing the HTML accessible widget and enhancing for XUL
*_retval = new nsXULButtonAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULCheckboxAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
// reusing the HTML accessible widget and enhancing for XUL
*_retval = new nsXULCheckboxAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULColorPickerAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULColorPickerAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULColorPickerTileAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULColorPickerTileAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULComboboxAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULComboboxAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULDropmarkerAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULDropmarkerAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULGroupboxAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULGroupboxAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULImageAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
// Don't include nameless images in accessible tree
*_retval = nsnull;
nsCOMPtr<nsIDOMElement> elt(do_QueryInterface(aNode));
if (!elt)
return NS_ERROR_FAILURE;
PRBool hasTextEquivalent;
elt->HasAttribute(NS_LITERAL_STRING("tooltiptext"), &hasTextEquivalent); // Prefer value over tooltiptext
if (!hasTextEquivalent) {
return NS_OK;
}
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsHTMLImageAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULLinkAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULLinkAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULListboxAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULListboxAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULListitemAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULListitemAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULMenubarAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULMenubarAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULMenuitemAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULMenuitemAccessibleWrap(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULMenupopupAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
*_retval = nsnull;
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
nsCOMPtr<nsIContent> content = do_QueryInterface(aNode);
#ifdef MOZ_ACCESSIBILITY_ATK
// ATK considers this node to be redundant when within menubars, and it makes menu
// navigation with assistive technologies more difficult
// XXX In the future we will should this for consistency across the nsIAccessible
// implementations on each platform for a consistent scripting environment, but
// then strip out redundant accessibles in the nsAccessibleWrap class for each platform.
if (content) {
nsIContent *parent = content->GetParent();
if (parent && parent->NodeInfo()->Equals(nsAccessibilityAtoms::menu, kNameSpaceID_XUL)) {
return NS_OK;
}
}
#endif
*_retval = new nsXULMenupopupAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULMenuSeparatorAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULMenuSeparatorAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULAlertAccessible(nsIDOMNode *aNode, nsIAccessible **aAccessible)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*aAccessible = new nsXULAlertAccessible(aNode, weakShell);
if (! *aAccessible)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*aAccessible);
#else
*_retval = nsnull;
#endif
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULProgressMeterAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULProgressMeterAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULRadioButtonAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULRadioButtonAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULRadioGroupAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULRadioGroupAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULSelectListAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
@ -1356,222 +900,6 @@ nsAccessibilityService::CreateXULSelectOptionAccessible(nsIDOMNode *aNode, nsIAc
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULStatusBarAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULStatusBarAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP
nsAccessibilityService::CreateXULTextAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
// reusing the HTML accessible widget and enhancing for XUL
*_retval = new nsXULTextAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
/** The single tab in a dialog or tabbrowser/editor interface */
NS_IMETHODIMP nsAccessibilityService::CreateXULTabAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULTabAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
/** A combination of a tabs object and a tabpanels object */
NS_IMETHODIMP nsAccessibilityService::CreateXULTabBoxAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULTabBoxAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
/** The display area for a dialog or tabbrowser interface */
NS_IMETHODIMP nsAccessibilityService::CreateXULTabPanelsAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULTabPanelsAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
/** The collection of tab objects, useable in the TabBox and independant of as well */
NS_IMETHODIMP nsAccessibilityService::CreateXULTabsAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULTabsAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP nsAccessibilityService::CreateXULToolbarAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULToolbarAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP nsAccessibilityService::CreateXULToolbarSeparatorAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULToolbarSeparatorAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP nsAccessibilityService::CreateXULTooltipAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
#ifndef MOZ_ACCESSIBILITY_ATK
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULTooltipAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_ACCESSIBILITY_ATK
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP nsAccessibilityService::CreateXULTreeAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULTreeAccessibleWrap(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP nsAccessibilityService::CreateXULTreeColumnsAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULTreeColumnsAccessibleWrap(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP nsAccessibilityService::CreateXULTreeColumnitemAccessible(nsIDOMNode *aNode, nsIAccessible **_retval)
{
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
*_retval = new nsXULTreeColumnitemAccessible(aNode, weakShell);
if (! *_retval)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*_retval);
#else
*_retval = nsnull;
#endif // MOZ_XUL
return NS_OK;
}
NS_IMETHODIMP nsAccessibilityService::GetCachedAccessible(nsIDOMNode *aNode,
nsIWeakReference *aWeakShell,
nsIAccessible **aAccessible)
@ -1854,17 +1182,19 @@ NS_IMETHODIMP nsAccessibilityService::GetAccessible(nsIDOMNode *aNode,
// This allows them to say what kind of accessible to create
// Non-HTML elements must have an nsIAccessibleProvider, tabindex
// or role attribute or they're not in the accessible tree.
nsCOMPtr<nsIAccessibleProvider> accProv(do_QueryInterface(aNode));
if (accProv) {
accProv->GetAccessible(getter_AddRefs(newAcc));
}
else if (content->GetNameSpaceID() == kNameSpaceID_SVG &&
content->Tag() == nsAccessibilityAtoms::svg) {
newAcc = new nsEnumRoleAccessible(aNode, aWeakShell, nsIAccessible::ROLE_DIAGRAM);
}
else if (content->GetNameSpaceID() == kNameSpaceID_MathML &&
content->Tag() == nsAccessibilityAtoms::math) {
newAcc = new nsEnumRoleAccessible(aNode, aWeakShell, nsIAccessible::ROLE_EQUATION);
nsresult rv = GetAccessibleByType(aNode, getter_AddRefs(newAcc));
NS_ENSURE_SUCCESS(rv, rv);
if (newAcc) {
if (content->GetNameSpaceID() == kNameSpaceID_SVG &&
content->Tag() == nsAccessibilityAtoms::svg) {
newAcc = new nsEnumRoleAccessible(aNode, aWeakShell, nsIAccessible::ROLE_DIAGRAM);
}
else if (content->GetNameSpaceID() == kNameSpaceID_MathML &&
content->Tag() == nsAccessibilityAtoms::math) {
newAcc = new nsEnumRoleAccessible(aNode, aWeakShell, nsIAccessible::ROLE_EQUATION);
}
}
}
else { // HTML accessibles
@ -1933,6 +1263,171 @@ NS_IMETHODIMP nsAccessibilityService::GetAccessible(nsIDOMNode *aNode,
return InitAccessible(newAcc, aAccessible);
}
nsresult nsAccessibilityService::GetAccessibleByType(nsIDOMNode *aNode,
nsIAccessible **aAccessible)
{
NS_ENSURE_ARG(aNode);
NS_ENSURE_ARG_POINTER(aAccessible);
*aAccessible = nsnull;
nsCOMPtr<nsIAccessibleProvider> node(do_QueryInterface(aNode));
if (!node)
return NS_ERROR_FAILURE;
PRInt32 type;
nsresult rv = node->GetAccessibleType(&type);
NS_ENSURE_SUCCESS(rv, rv);
if (type == nsIAccessibleProvider::OuterDoc)
return CreateOuterDocAccessible(aNode, aAccessible);
#ifdef MOZ_XUL
nsCOMPtr<nsIWeakReference> weakShell;
GetShellFromNode(aNode, getter_AddRefs(weakShell));
switch (type)
{
// XUL controls
case nsIAccessibleProvider::XULAlert:
*aAccessible = new nsXULAlertAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULButton:
*aAccessible = new nsXULButtonAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULCheckbox:
*aAccessible = new nsXULCheckboxAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULColorPicker:
*aAccessible = new nsXULColorPickerAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULColorPickerTile:
*aAccessible = new nsXULColorPickerTileAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULCombobox:
*aAccessible = new nsXULComboboxAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULDropmarker:
*aAccessible = new nsXULDropmarkerAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULGroupbox:
*aAccessible = new nsXULGroupboxAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULImage:
{
// Don't include nameless images in accessible tree
nsCOMPtr<nsIDOMElement> elt(do_QueryInterface(aNode));
if (!elt)
return NS_ERROR_FAILURE;
PRBool hasTextEquivalent;
// Prefer value over tooltiptext
elt->HasAttribute(NS_LITERAL_STRING("tooltiptext"), &hasTextEquivalent);
if (!hasTextEquivalent)
return NS_OK;
*aAccessible = new nsHTMLImageAccessible(aNode, weakShell);
break;
}
case nsIAccessibleProvider::XULLink:
*aAccessible = new nsXULLinkAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULListbox:
*aAccessible = new nsXULListboxAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULListitem:
*aAccessible = new nsXULListitemAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULMenubar:
*aAccessible = new nsXULMenubarAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULMenuitem:
*aAccessible = new nsXULMenuitemAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULMenupopup:
{
#ifdef MOZ_ACCESSIBILITY_ATK
// ATK considers this node to be redundant when within menubars, and it makes menu
// navigation with assistive technologies more difficult
// XXX In the future we will should this for consistency across the nsIAccessible
// implementations on each platform for a consistent scripting environment, but
// then strip out redundant accessibles in the nsAccessibleWrap class for each platform.
nsCOMPtr<nsIContent> content = do_QueryInterface(aNode);
if (content) {
nsIContent *parent = content->GetParent();
if (parent && parent->NodeInfo()->Equals(nsAccessibilityAtoms::menu, kNameSpaceID_XUL)) {
return NS_OK;
}
}
#endif
*aAccessible = new nsXULMenupopupAccessible(aNode, weakShell);
break;
}
case nsIAccessibleProvider::XULMenuSeparator:
*aAccessible = new nsXULMenuSeparatorAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULProgressMeter:
*aAccessible = new nsXULProgressMeterAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULStatusBar:
*aAccessible = new nsXULStatusBarAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULRadioButton:
*aAccessible = new nsXULRadioButtonAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULRadioGroup:
*aAccessible = new nsXULRadioGroupAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULTab:
*aAccessible = new nsXULTabAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULTabBox:
*aAccessible = new nsXULTabBoxAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULTabPanels:
*aAccessible = new nsXULTabPanelsAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULTabs:
*aAccessible = new nsXULTabsAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULText:
*aAccessible = new nsXULTextAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULTextBox:
*aAccessible = new nsXULTextFieldAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULTree:
*aAccessible = new nsXULTreeAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULTreeColumns:
*aAccessible = new nsXULTreeColumnsAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULTreeColumnitem:
*aAccessible = new nsXULTreeColumnitemAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULToolbar:
*aAccessible = new nsXULToolbarAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULToolbarSeparator:
*aAccessible = new nsXULToolbarSeparatorAccessible(aNode, weakShell);
break;
case nsIAccessibleProvider::XULTooltip:
*aAccessible = new nsXULTooltipAccessible(aNode, weakShell);
break;
default:
return NS_OK;
}
if (!*aAccessible)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*aAccessible);
#endif // MOZ_XUL
return NS_OK;
}
// Called from layout when the frame tree owned by a node changes significantly
NS_IMETHODIMP nsAccessibilityService::InvalidateSubtreeFor(nsIPresShell *aShell,
nsIContent *aChangeContent,

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

@ -76,6 +76,12 @@ private:
nsIContent* FindContentForDocShell(nsIPresShell* aPresShell, nsIContent* aContent, nsIDocShell* aDocShell);
static nsAccessibilityService *gAccessibilityService;
nsresult InitAccessible(nsIAccessible *aAccessibleIn, nsIAccessible **aAccessibleOut);
/**
* Return accessible object for elements implementing nsIAccessibleProvider
* interface.
*/
nsresult GetAccessibleByType(nsIDOMNode *aNode, nsIAccessible **aAccessible);
};
#endif /* __nsIAccessibilityService_h__ */

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

@ -55,18 +55,6 @@
</xul:description>
</xul:hbox>
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<getter>
<![CDATA[
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); // Temporary, until bug 104907 is fixed
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createHTMLButtonAccessibleXBL(this);
]]>
</getter>
</property>
</implementation>
</binding>
<binding id="inputButton" extends="chrome://global/content/bindings/general.xml#basetext"

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

@ -40,20 +40,7 @@
xmlns="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<binding id="checkbox" extends="xul:image">
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<getter>
<![CDATA[
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); // Temporary, until bug 104907 is fixed
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createHTMLCheckboxAccessibleXBL(this);
]]>
</getter>
</property>
</implementation>
</binding>
<binding id="checkbox" extends="xul:image"/>
</bindings>

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

@ -46,18 +46,6 @@
<xul:image class="input-radio-check" flex="1"/>
</xul:hbox>
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<getter>
<![CDATA[
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); // Temporary, until bug 104907 is fixed
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createHTMLRadioButtonAccessibleXBL(this);
]]>
</getter>
</property>
</implementation>
</binding>
</bindings>

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

@ -92,16 +92,14 @@
<!-- =================== nsIAccessibleProvider =================== -->
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
// enablehistory="true": dropmarker shows up, so expose as a combobox.
// enablehistory="false" (default): no dropmarker, so expose as a textfield.
var accService = Components.classes["@mozilla.org/accessibilityService;1"].
getService(Components.interfaces.nsIAccessibilityService);
return (this.getAttribute("enablehistory") == 'true') ?
accService.createXULComboboxAccessible(this) :
accService.createXULTextBoxAccessible(this);
Components.interfaces.nsIAccessibleProvider.XULCombobox :
Components.interfaces.nsIAccessibleProvider.XULTextBox;
]]>
</getter>
</property>
@ -875,11 +873,10 @@
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULDropmarkerAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULDropmarker;
]]>
</getter>
</property>

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

@ -49,11 +49,10 @@
<binding id="browser" extends="xul:browser">
<implementation type="application/x-javascript" implements="nsIAccessibleProvider, nsIObserver">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createOuterDocAccessible(this);
return Components.interfaces.nsIAccessibleProvider.OuterDoc;
]]>
</getter>
</property>

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

@ -7,11 +7,10 @@
<binding id="button-base" extends="chrome://global/content/bindings/general.xml#basetext">
<implementation implements="nsIDOMXULButtonElement, nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULButtonAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULButton;
]]>
</getter>
</property>

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

@ -21,11 +21,10 @@
</content>
<implementation implements="nsIDOMXULCheckboxElement, nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULCheckboxAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULCheckbox;
]]>
</getter>
</property>

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

@ -442,11 +442,10 @@
</content>
<implementation implements="nsIAccessibleProvider, nsIDOMXULControlElement">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULColorPickerAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULColorPicker;
]]>
</getter>
</property>
@ -576,12 +575,11 @@
</binding>
<binding id="colorpickertile">
<implementation implements="nsIAccessibleProvider" >
<property name="accessible">
<implementation implements="nsIAccessibleProvider">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULColorPickerTileAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULColorPickerTile;
]]>
</getter>
</property>

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

@ -19,11 +19,10 @@
</constructor>
<destructor/>
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createOuterDocAccessible(this);
return Components.interfaces.nsIAccessibleProvider.OuterDoc;
]]>
</getter>
</property>

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

@ -207,11 +207,10 @@
<binding id="iframe">
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createOuterDocAccessible(this);
return Components.interfaces.nsIAccessibleProvider.OuterDoc;
]]>
</getter>
</property>
@ -263,11 +262,10 @@
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULStatusBarAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULStatusBar;
]]>
</getter>
</property>
@ -281,11 +279,10 @@
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULButtonAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULButton;
]]>
</getter>
</property>
@ -305,11 +302,10 @@
<property name="src"
onget="return this.getAttribute('src');"
onset="this.setAttribute('src',val); return val;"/>
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULImageAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULImage;
]]>
</getter>
</property>
@ -359,11 +355,10 @@
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULDropmarkerAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULDropmarker;
]]>
</getter>
</property>

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

@ -22,11 +22,10 @@
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULGroupboxAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULGroupbox;
]]>
</getter>
</property>

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

@ -45,11 +45,10 @@
<!-- ///////////////// nsIAccessibleProvider ///////////////// -->
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULListboxAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULListbox;
]]>
</getter>
</property>
@ -696,11 +695,10 @@
<!-- ///////////////// nsIAccessibleProvider ///////////////// -->
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULListitemAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULListitem;
]]>
</getter>
</property>

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

@ -15,13 +15,12 @@
<stylesheet src="chrome://global/skin/menu.css"/>
</resources>
<implementation implements="nsIDOMXULSelectControlItemElement, nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
if (this.localName == "menuseparator")
return accService.createXULMenuSeparatorAccessible(this);
return accService.createXULMenuitemAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULMenuSeparator;
return Components.interfaces.nsIAccessibleProvider.XULMenuitem;
]]>
</getter>
</property>

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

@ -259,11 +259,10 @@
</body>
</method>
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULComboboxAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULCombobox;
]]>
</getter>
</property>

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

@ -245,11 +245,10 @@
<stylesheet src="chrome://global/skin/notification.css"/>
</resources>
<implementation implements="nsIAccessibleProvider">
<property name="accessible" readonly="true">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULAlertAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULAlert;
]]>
</getter>
</property>

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

@ -19,15 +19,10 @@
</content>
<implementation implements="nsIDOMXULPopupElement, nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
if (this.localName == "popup" || this.localName == "menupopup")
return accService.createXULMenupopupAccessible(this);
else if (this.localName == "tooltip")
return accService.createXULTooltipAccessible(this);
return null;
return Components.interfaces.nsIAccessibleProvider.XULMenupopup;
]]>
</getter>
</property>
@ -167,7 +162,13 @@
</children>
</content>
<implementation>
<implementation implements="nsIAccessibleProvider">
<property name="accessibleType" readonly="true">
<getter>
return Components.interfaces.nsIAccessibleProvider.XULTooltip;
</getter>
</property>
<field name="_mouseOutCount">0</field>
<field name="_isMouseOver">false</field>

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

@ -1243,12 +1243,11 @@
<xul:image class="paneButtonIcon" xbl:inherits="src"/>
<xul:label class="paneButtonLabel" xbl:inherits="value=label"/>
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<implementation implements="nsIAccessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULListitemAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULListitem;
]]>
</getter>
</property>

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

@ -15,7 +15,7 @@
<xul:spacer class="progress-remainder" xbl:inherits="mode"/>
</content>
<implementation implements="nsIAccessibleProvider">
<implementation implements="nsIAccessibleProvider">
<property name="label" onset="if (this.label != val) this.setAttribute('label',val); return val;"
onget="return this.getAttribute('label');"/>
@ -43,11 +43,10 @@
]]></setter>
</property>
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULProgressMeterAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULProgressMeter;
]]>
</getter>
</property>

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

@ -11,11 +11,10 @@
</resources>
<implementation implements="nsIDOMXULSelectControlElement, nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULRadioGroupAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULRadioGroup;
]]>
</getter>
</property>
@ -389,11 +388,10 @@
}
]]>
</destructor>
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULRadioButtonAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULRadioButton;
]]>
</getter>
</property>

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

@ -79,11 +79,10 @@
]]>
</destructor>
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULListboxAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULListbox;
]]>
</getter>
</property>
@ -505,11 +504,10 @@
</destructor>
<!-- ///////////////// nsIAccessibleProvider ///////////////// -->
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULListitemAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULListitem;
]]>
</getter>
</property>
@ -531,8 +529,10 @@
'label');
var numLabels = labels.length;
for (count = 0; count < numLabels; count ++) {
if (labels[count].className != 'text-link') {
labelText += labels[count].value + ' ';
var label = labels[count];
if (!label.collapsed && !label.hidden &&
label.className != 'text-link') {
labelText += label.value + ' ';
}
}
}

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

@ -19,11 +19,10 @@
<binding id="tabbox" display="xul:box"
extends="chrome://global/content/bindings/tabbox.xml#tab-base">
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULTabBoxAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULTabBox;
]]>
</getter>
</property>
@ -243,11 +242,10 @@
]]>
</constructor>
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULTabsAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULTabs;
]]>
</getter>
</property>
@ -474,11 +472,10 @@
<binding id="tabpanels"
extends="chrome://global/content/bindings/tabbox.xml#tab-base">
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULTabPanelsAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULTabPanels;
]]>
</getter>
</property>
@ -539,11 +536,10 @@
</content>
<implementation implements="nsIDOMXULSelectControlItemElement, nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULTabAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULTab;
]]>
</getter>
</property>

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

@ -8,11 +8,10 @@
<!-- bound to <description>s -->
<binding id="text-base" extends="chrome://global/content/bindings/general.xml#basecontrol">
<implementation implements="nsIDOMXULDescriptionElement, nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULTextAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULText;
]]>
</getter>
</property>
@ -285,11 +284,10 @@
<binding id="text-link" extends="chrome://global/content/bindings/text.xml#text-label">
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULLinkAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULLink;
]]>
</getter>
</property>

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

@ -25,11 +25,10 @@
</content>
<implementation implements="nsIAccessibleProvider, nsIDOMXULTextBoxElement">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULTextBoxAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULTextBox;
]]>
</getter>
</property>

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

@ -10,14 +10,13 @@
<stylesheet src="chrome://global/skin/toolbar.css"/>
</resources>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
if (this.localName == "toolbarseparator")
return accService.createXULToolbarSeparatorAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULToolbarSeparator;
else
return accService.createXULToolbarAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULToolbar;
]]>
</getter>
</property>
@ -269,11 +268,10 @@
<binding id="menubar" extends="chrome://global/content/bindings/toolbar.xml#toolbar-base" display="xul:menubar">
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULMenubarAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULMenubar;
]]>
</getter>
</property>

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

@ -76,11 +76,10 @@
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULDropmarkerAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULDropmarker;
]]>
</getter>
</property>

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

@ -74,11 +74,10 @@
<!-- ///////////////// nsIAccessibleProvider ///////////////// -->
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULTreeAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULTree;
]]>
</getter>
</property>
@ -813,11 +812,10 @@
<xul:treecolpicker class="treecol-image" fixed="true" xbl:inherits="tooltiptext=pickertooltiptext"/>
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULTreeColumnsAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULTreeColumns;
]]>
</getter>
</property>
@ -1236,11 +1234,10 @@
<xul:image class="treecol-sortdirection" xbl:inherits="sortDirection,hidden=hideheader"/>
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULTreeColumnitemAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULTreeColumnitem;
]]>
</getter>
</property>

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

@ -190,8 +190,7 @@
</xul:hbox>
<xul:hbox flex="1" class="blocklistedBox attention" align="center">
<xul:label value="&blocklisted.label;" crop="end"/>
<xul:label anonid="blocklistMoreInfo" class="text-link" value="&moreInfo.label;"
onclick="openURL(this.getAttribute('moreInfoURL'));"/>
<xul:label anonid="blocklistMoreInfo" class="text-link" value="&moreInfo.label;"/>
</xul:hbox>
</xul:vbox>
<xul:hbox anonid="selectedButtons" flex="1" class="selectedButtons">
@ -233,8 +232,8 @@
var blocklistMoreInfo = document.getAnonymousElementByAttribute(this, "anonid", "blocklistMoreInfo");
var prefs = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefBranch);
var url = prefs.getCharPref("extensions.blocklist.detailsURL");
blocklistMoreInfo.setAttribute("moreInfoURL", url);
blocklistMoreInfo.setAttribute("onclick", "openURL(\"" +
prefs.getCharPref("extensions.blocklist.detailsURL") + "\");");
} catch(e) {
blocklistMoreInfo.hidden = true;
}
@ -497,12 +496,10 @@
<xul:label class="viewButtonLabel" xbl:inherits="value=label"/>
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"]
.getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULListitemAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULListitem;
]]>
</getter>
</property>
@ -531,12 +528,10 @@
</xul:hbox>
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"]
.getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULAlertAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULAlert;
]]>
</getter>
</property>

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

@ -250,14 +250,14 @@
]]></field>
<!-- nsIAccessibleProvider -->
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
// disablehistory="false": dropmarker shows up, so expose as a combobox.
// disablehistory="true" (default): no dropmarker, so expose as a textfield.
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return (this.getAttribute("disablehistory") == 'true') ? accService.createXULTextBoxAccessible(this) :
accService.createXULComboboxAccessible(this);
return (this.getAttribute("disablehistory") == 'true') ?
Components.interfaces.nsIAccessibleProvider.XULTextBox :
Components.interfaces.nsIAccessibleProvider.XULCombobox;
]]>
</getter>
</property>
@ -1717,11 +1717,10 @@
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULDropmarkerAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULDropmarker;
]]>
</getter>
</property>

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

@ -43,11 +43,10 @@
<binding id="browser" extends="xul:browser">
<implementation type="application/x-javascript" implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createOuterDocAccessible(this);
return Components.interfaces.nsIAccessibleProvider.OuterDoc;
]]>
</getter>
</property>

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

@ -7,11 +7,10 @@
<binding id="button-base" extends="chrome://global/content/bindings/general.xml#basetext">
<implementation implements="nsIDOMXULButtonElement, nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULButtonAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULButton;
]]>
</getter>
</property>

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

@ -21,11 +21,10 @@
</content>
<implementation implements="nsIDOMXULCheckboxElement, nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULCheckboxAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULCheckbox;
]]>
</getter>
</property>

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

@ -415,11 +415,10 @@
</content>
<implementation implements="nsIAccessibleProvider, nsIDOMXULControlElement">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULColorPickerAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULColorPicker;
]]>
</getter>
</property>
@ -534,12 +533,11 @@
</binding>
<binding id="colorpickertile">
<implementation implements="nsIAccessibleProvider" >
<property name="accessible">
<implementation implements="nsIAccessibleProvider">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULColorPickerTileAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULColorPickerTile;
]]>
</getter>
</property>

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

@ -19,11 +19,10 @@
</constructor>
<destructor/>
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createOuterDocAccessible(this);
return Components.interfaces.nsIAccessibleProvider.OuterDoc;
]]>
</getter>
</property>

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

@ -207,11 +207,10 @@
<binding id="iframe">
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createOuterDocAccessible(this);
return Components.interfaces.nsIAccessibleProvider.OuterDoc;
]]>
</getter>
</property>
@ -263,11 +262,10 @@
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULStatusBarAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULStatusBar;
]]>
</getter>
</property>
@ -281,11 +279,10 @@
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULButtonAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULButton;
]]>
</getter>
</property>
@ -305,11 +302,10 @@
<property name="src"
onget="return this.getAttribute('src');"
onset="this.setAttribute('src',val); return val;"/>
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULImageAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULImage;
]]>
</getter>
</property>
@ -359,11 +355,10 @@
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULDropmarkerAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULDropmarker;
]]>
</getter>
</property>

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

@ -22,11 +22,10 @@
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULGroupboxAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULGroupbox;
]]>
</getter>
</property>

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

@ -45,11 +45,10 @@
<!-- ///////////////// nsIAccessibleProvider ///////////////// -->
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULListboxAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULListbox;
]]>
</getter>
</property>
@ -689,11 +688,10 @@
<!-- ///////////////// nsIAccessibleProvider ///////////////// -->
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULListitemAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULListitem;
]]>
</getter>
</property>

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

@ -10,13 +10,12 @@
<stylesheet src="chrome://global/skin/menu.css"/>
</resources>
<implementation implements="nsIDOMXULSelectControlItemElement, nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
if (this.localName == "menuseparator")
return accService.createXULMenuSeparatorAccessible(this);
return accService.createXULMenuitemAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULMenuSeparator;
return Components.interfaces.nsIAccessibleProvider.XULMenuitem;
]]>
</getter>
</property>

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

@ -259,11 +259,10 @@
</body>
</method>
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULComboboxAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULCombobox;
]]>
</getter>
</property>

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

@ -19,15 +19,10 @@
</content>
<implementation implements="nsIDOMXULPopupElement, nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
if (this.localName == "popup" || this.localName == "menupopup")
return accService.createXULMenupopupAccessible(this);
else if (this.localName == "tooltip")
return accService.createXULTooltipAccessible(this);
return null;
return Components.interfaces.nsIAccessibleProvider.XULMenupopup;
]]>
</getter>
</property>
@ -167,7 +162,13 @@
</children>
</content>
<implementation>
<implementation implements="nsIAccessibleProvider">
<property name="accessibleType" readonly="true">
<getter>
return Components.interfaces.nsIAccessibleProvider.XULTooltip;
</getter>
</property>
<field name="_mouseOutCount">0</field>
<field name="_isMouseOver">false</field>

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

@ -15,7 +15,7 @@
<xul:spacer class="progress-remainder" xbl:inherits="mode"/>
</content>
<implementation implements="nsIAccessibleProvider">
<implementation implements="nsIAccessibleProvider">
<property name="label" onset="if (this.label != val) this.setAttribute('label',val); return val;"
onget="return this.getAttribute('label');"/>
@ -43,11 +43,10 @@
]]></setter>
</property>
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULProgressMeterAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULProgressMeter;
]]>
</getter>
</property>

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

@ -11,11 +11,10 @@
</resources>
<implementation implements="nsIDOMXULSelectControlElement, nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULRadioGroupAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULRadioGroup;
]]>
</getter>
</property>
@ -389,11 +388,10 @@
}
]]>
</destructor>
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULRadioButtonAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULRadioButton;
]]>
</getter>
</property>

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

@ -225,11 +225,10 @@
]]>
</constructor>
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULTabsAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULTabs;
]]>
</getter>
</property>
@ -442,11 +441,10 @@
<binding id="tabpanels"
extends="chrome://global/content/bindings/tabbox.xml#tab-base">
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULTabPanelsAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULTabPanels;
]]>
</getter>
</property>
@ -507,11 +505,10 @@
</content>
<implementation implements="nsIDOMXULSelectControlItemElement, nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULTabAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULTab;
]]>
</getter>
</property>

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

@ -8,11 +8,10 @@
<!-- bound to <description>s -->
<binding id="text-base" extends="chrome://global/content/bindings/general.xml#basecontrol">
<implementation implements="nsIDOMXULDescriptionElement, nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULTextAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULText;
]]>
</getter>
</property>

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

@ -25,11 +25,10 @@
</content>
<implementation implements="nsIAccessibleProvider, nsIDOMXULTextBoxElement">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULTextBoxAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULTextBox;
]]>
</getter>
</property>

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

@ -1,301 +0,0 @@
<?xml version="1.0"?>
<!--
XXX THIS FILE IS DEPRECATED AND NO LONGER USED!
Per the SeaMonkey toolkit transition plan, jar.mn refers to
/toolkit/content/widgets/toolbar.xml
instead of this file.
DO NOT MAKE ANY FURTHER CHANGES TO THIS FILE,
AS IT WILL EVENTUALLY BE REMOVED FROM THE REPOSITORY!
See bug 282188 for details.
-->
<bindings id="toolbarBindings"
xmlns="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:xbl="http://www.mozilla.org/xbl">
<binding id="toolbar-base">
<resources>
<stylesheet src="chrome://global/skin/toolbar.css"/>
</resources>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
if (this.localName == "toolbarseparator")
return accService.createXULToolbarSeparatorAccessible(this);
else
return accService.createXULToolbarAccessible(this);
]]>
</getter>
</property>
</implementation>
</binding>
<binding id="toolbox" extends="chrome://global/content/bindings/toolbar.xml#toolbar-base">
<content orient="vertical">
<xul:vbox flex="1" class="toolbar-internal-box">
<children/>
</xul:vbox>
<xul:hbox tbattr="collapsed-tray-holder" class="collapsed-tray-holder" moz-collapsed="true">
<xul:hbox tbattr="collapsed-tray" class="collapsed-tray"/>
<xul:spacer flex="1" class="collapsed-tray-spacer"/>
</xul:hbox>
</content>
<implementation>
<method name="collapseToolbar">
<parameter name="toolbar"/>
<body>
<![CDATA[
try {
this.createCollapsedGrippy(toolbar);
toolbar.setAttribute("moz-collapsed", "true");
document.persist(toolbar.id, "moz-collapsed");
}
catch(e) {
}
]]>
</body>
</method>
<method name="expandToolbar">
<parameter name="aGrippyID"/>
<body>
<![CDATA[
var idString = aGrippyID.substring("moz_tb_collapsed_".length, aGrippyID.length);
var toolbar = document.getElementById(idString);
toolbar.setAttribute("moz-collapsed", "false");
var collapsedTray = document.getAnonymousElementByAttribute(this, "tbattr", "collapsed-tray");
var collapsedToolbar = document.getElementById("moz_tb_collapsed_" + toolbar.id);
collapsedTray.removeChild(collapsedToolbar);
if (!collapsedTray.hasChildNodes())
document.getAnonymousElementByAttribute(this, "tbattr", "collapsed-tray-holder").setAttribute("moz-collapsed", "true");
document.persist(toolbar.id, "moz-collapsed");
]]>
</body>
</method>
<method name="createCollapsedGrippy">
<parameter name="aToolbar"/>
<body>
<![CDATA[
const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
try {
var grippy = document.getAnonymousElementByAttribute(aToolbar, "tbattr", "toolbar-grippy");
var boxObject = grippy.boxObject.QueryInterface(Components.interfaces.nsIBoxObject);
var collapsedGrippy = document.createElementNS(XUL_NS, "toolbargrippy");
if (collapsedGrippy) {
var width = boxObject.height > 20 ? boxObject.height : 23;
var height = boxObject.width > 10 ? boxObject.width : 12;
var styleString = "width: " + width + "px; height: " + height + "px;";
collapsedGrippy.setAttribute("style", styleString);
collapsedGrippy.setAttribute("tooltiptext", aToolbar.getAttribute("grippytooltiptext"));
collapsedGrippy.setAttribute("id", "moz_tb_collapsed_" + aToolbar.id);
collapsedGrippy.setAttribute("moz_grippy_collapsed", "true");
collapsedGrippy.setAttribute("tbgrippy-collapsed", "true");
var collapsedTrayHolder = document.getAnonymousElementByAttribute(this, "tbattr", "collapsed-tray-holder");
if (collapsedTrayHolder.getAttribute("moz-collapsed") == "true")
collapsedTrayHolder.removeAttribute("moz-collapsed");
document.getAnonymousElementByAttribute(this, "tbattr", "collapsed-tray").appendChild(collapsedGrippy);
collapsedGrippy = document.getElementById("moz_tb_collapsed_" + aToolbar.id);
}
}
catch (e) {
throw e;
}
]]>
</body>
</method>
<property name="deferAttached">
<getter>
return (this.hasAttribute("deferattached") ? "true" : "false");
</getter>
<setter>
if (val)
this.setAttribute("deferattached", "true");
else
this.removeAttribute("deferattached");
return val;
</setter>
</property>
</implementation>
</binding>
<binding id="toolbar" extends="chrome://global/content/bindings/toolbar.xml#toolbar-base">
<content>
<xul:toolbargrippy xbl:inherits="last-toolbar,hidden=grippyhidden"
tbattr="toolbar-grippy"
class="toolbar-grippy"/>
<xul:hbox class="toolbar-prefix"
xbl:inherits="onclick=prefixonclick,tooltiptext=prefixtooltip,hidden=prefixhidden,prefixopen"/>
<xul:hbox flex="1" class="toolbar-holder" align="center"
xbl:inherits="collapsed,last-toolbar,orient=tborient,align=tbalign,pack=tbpack">
<children/>
</xul:hbox>
</content>
<implementation>
<constructor>
<![CDATA[
if (this.getAttribute("moz-collapsed") == "true" &&
this.parentNode.localName == "toolbox")
this.parentNode.createCollapsedGrippy(this);
]]>
</constructor>
</implementation>
</binding>
<binding id="toolbar-primary" extends="chrome://global/content/bindings/toolbar.xml#toolbar">
<implementation implements="nsIObserver">
<field name="domain" readonly="true">
"browser.chrome.toolbar_style"
</field>
<field name="prefs" readonly="true">
Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService).getBranch(null)
.QueryInterface(Components.interfaces.nsIPrefBranch2)
</field>
<method name="observe">
<parameter name="subject"/>
<parameter name="topic"/>
<parameter name="name"/>
<body>
<![CDATA[
if (topic == "nsPref:changed" && name == this.domain) {
const styles = ["pictures", "text", null];
const style = styles[this.prefs.getIntPref(name)];
this.setAttribute("buttonstyle", style);
this.update("toolbarbutton", style);
this.update("button", style);
}
]]>
</body>
</method>
<method name="update">
<parameter name="tag"/>
<parameter name="style"/>
<body>
<![CDATA[
var elements = this.getElementsByTagName(tag);
for (var i = 0; i < elements.length; i++)
elements[i].setAttribute("buttonstyle", style);
]]>
</body>
</method>
<constructor>
this.prefs.addObserver(this.domain, this, false);
if (this.prefs.getIntPref(this.domain) != 2)
this.observe(this.prefs, "nsPref:changed", this.domain);
</constructor>
<destructor>
this.prefs.removeObserver(this.domain, this);
</destructor>
</implementation>
</binding>
<binding id="menubar" extends="xul:menubar">
<resources>
<stylesheet src="chrome://global/skin/toolbar.css"/>
</resources>
<content>
<xul:toolbargrippy xbl:inherits="last-toolbar,hidden=grippyhidden"
tbattr="toolbar-grippy" class="toolbar-grippy"/>
<xul:hbox flex="1" class="toolbar-holder" xbl:inherits="collapsed,last-toolbar" align="center">
<children/>
</xul:hbox>
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULMenubarAccessible(this);
]]>
</getter>
</property>
<constructor>
<![CDATA[
if (this.getAttribute("moz-collapsed") == "true" &&
this.parentNode.localName == "toolbox")
this.parentNode.createCollapsedGrippy(this);
]]>
</constructor>
</implementation>
</binding>
<binding id="toolbargrippy" display="xul:button"
extends="chrome://global/content/bindings/toolbar.xml#toolbar-base">
<content>
<xul:image class="toolbargrippy-arrow"/>
<xul:spacer class="toolbargrippy-texture" flex="1"/>
</content>
<implementation>
<property name="collapsed">
<getter>
return this.hasAttribute("moz_grippy_collapsed");
</getter>
<setter>
if (val)
this.setAttribute("moz_grippy_collapsed", "true");
else
this.removeAttribute("moz_grippy_collapsed");
return val;
</setter>
</property>
<method name="returnNode">
<parameter name="aNodeA"/>
<parameter name="aNodeB"/>
<body>
<![CDATA[
var node = this.parentNode;
while (node && node.localName != "window" &&
(node.localName != aNodeA && (node.localName != aNodeB))) {
node = node.parentNode;
}
return node;
]]>
</body>
</method>
<method name="grippyTriggered">
<body>
<![CDATA[
var toolbox = this.returnNode("toolbox");
var toolbar = this.returnNode("toolbar", "menubar");
if (this.collapsed)
toolbox.expandToolbar(this.id);
else
toolbox.collapseToolbar(toolbar);
]]>
</body>
</method>
</implementation>
<handlers>
<handler event="command">
<![CDATA[
this.grippyTriggered();
]]>
</handler>
</handlers>
</binding>
<binding id="toolbarseparator" extends="chrome://global/content/bindings/toolbar.xml#toolbar-base"/>
</bindings>

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

@ -76,11 +76,10 @@
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULDropmarkerAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULDropmarker;
]]>
</getter>
</property>

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

@ -61,11 +61,10 @@
<!-- ///////////////// nsIAccessibleProvider ///////////////// -->
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULTreeAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULTree;
]]>
</getter>
</property>
@ -773,11 +772,10 @@
<xul:treecolpicker class="treecol-image" fixed="true" xbl:inherits="tooltiptext=pickertooltiptext"/>
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULTreeColumnsAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULTreeColumns;
]]>
</getter>
</property>
@ -1194,11 +1192,10 @@
<xul:image class="treecol-sortdirection" xbl:inherits="sortDirection,hidden=hideheader"/>
</content>
<implementation implements="nsIAccessibleProvider">
<property name="accessible">
<property name="accessibleType" readonly="true">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULTreeColumnitemAccessible(this);
return Components.interfaces.nsIAccessibleProvider.XULTreeColumnitem;
]]>
</getter>
</property>