mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 942650 - Some toolbars have unknown accessible role or worse, r=tbsaunde Australis
This commit is contained in:
parent
7a701dfeb9
commit
0ff0d981e6
@ -1006,8 +1006,8 @@ nsAccessibilityService::GetOrCreateAccessible(nsINode* aNode,
|
||||
}
|
||||
}
|
||||
|
||||
// Elements may implement nsIAccessibleProvider via XBL. This allows them to
|
||||
// say what kind of accessible to create.
|
||||
// XBL bindings may use @role attribute to point the accessible type
|
||||
// they belong to.
|
||||
newAcc = CreateAccessibleByType(content, document);
|
||||
|
||||
// Any XUL box can be used as tabpanel, make sure we create a proper
|
||||
|
@ -178,8 +178,7 @@ private:
|
||||
void Shutdown();
|
||||
|
||||
/**
|
||||
* Create accessible for the element implementing nsIAccessibleProvider
|
||||
* interface.
|
||||
* Create accessible for the element having XBL bindings.
|
||||
*/
|
||||
already_AddRefed<Accessible>
|
||||
CreateAccessibleByType(nsIContent* aContent, DocAccessible* aDoc);
|
||||
|
@ -75,10 +75,7 @@ public:
|
||||
|
||||
|
||||
/**
|
||||
* A tabpanel object, child elements of xul:tabpanels element. Note,the object
|
||||
* is created from nsAccessibilityService::GetAccessibleForDeckChildren()
|
||||
* method and we do not use nsIAccessibleProvider interface here because
|
||||
* all children of xul:tabpanels element acts as xul:tabpanel element.
|
||||
* A tabpanel object, child elements of xul:tabpanels element.
|
||||
*
|
||||
* XXX: we need to move the class logic into generic class since
|
||||
* for example we do not create instance of this class for XUL textbox used as
|
||||
|
@ -3,9 +3,17 @@
|
||||
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
|
||||
type="text/css"?>
|
||||
|
||||
<!-- Firefox toolbar -->
|
||||
<?xml-stylesheet href="chrome://browser/content/browser.css"
|
||||
type="text/css"?>
|
||||
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
title="Accessible XUL checkbox and radio hierarchy tests">
|
||||
|
||||
<!-- Firefox toolbar -->
|
||||
<script type="application/javascript"
|
||||
src="chrome://browser/content/browser.js"/>
|
||||
|
||||
<script type="application/javascript"
|
||||
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" />
|
||||
|
||||
@ -76,6 +84,9 @@
|
||||
|
||||
testAccessibleTree("toolbar2", accTree);
|
||||
|
||||
if (!SEAMONKEY)
|
||||
testAccessibleTree("tb_customizable", { TOOLBAR: [] });
|
||||
|
||||
SimpleTest.finish()
|
||||
}
|
||||
|
||||
@ -110,6 +121,8 @@
|
||||
<toolbar id="toolbar2" toolbarname="2nd" aria-label="My second toolbar">
|
||||
<toolbarbutton id="button2" label="hello"/>
|
||||
</toolbar>
|
||||
|
||||
<toolbar id="tb_customizable" customizable="true"/>
|
||||
</vbox>
|
||||
</hbox>
|
||||
|
||||
|
@ -8,19 +8,13 @@
|
||||
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:xbl="http://www.mozilla.org/xbl">
|
||||
|
||||
<binding id="toolbar">
|
||||
<binding id="toolbar" role="xul:toolbar">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/toolbar.css"/>
|
||||
</resources>
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<implementation>
|
||||
<field name="overflowedDuringConstruction">null</field>
|
||||
|
||||
<property name="accessibleType" readonly="true">
|
||||
<getter>
|
||||
return Components.interfaces.nsIAccessibleProvider.XULToolbar;
|
||||
</getter>
|
||||
</property>
|
||||
|
||||
<constructor><![CDATA[
|
||||
let scope = {};
|
||||
Cu.import("resource:///modules/CustomizableUI.jsm", scope);
|
||||
|
Loading…
Reference in New Issue
Block a user