зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1587104 - do not pick up accessible name from containing XUL toolbaritem r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D48581 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
bf1179ad8a
Коммит
9dc56a5bf5
|
@ -809,32 +809,6 @@ void Accessible::XULElmName(DocAccessible* aDocument, nsIContent* aElm,
|
|||
}
|
||||
|
||||
aName.CompressWhitespace();
|
||||
if (!aName.IsEmpty()) return;
|
||||
|
||||
// Can get text from title of <toolbaritem> if we're a child of a
|
||||
// <toolbaritem>
|
||||
nsIContent* bindingParent = aElm->GetBindingParent();
|
||||
nsIContent* parent =
|
||||
bindingParent ? bindingParent->GetParent() : aElm->GetParent();
|
||||
nsAutoString ancestorTitle;
|
||||
while (parent) {
|
||||
if (parent->IsXULElement(nsGkAtoms::toolbaritem) &&
|
||||
parent->AsElement()->GetAttr(kNameSpaceID_None, nsGkAtoms::title,
|
||||
ancestorTitle)) {
|
||||
// Before returning this, check if the element itself has a tooltip:
|
||||
if (aElm->IsElement() &&
|
||||
aElm->AsElement()->GetAttr(kNameSpaceID_None, nsGkAtoms::tooltiptext,
|
||||
aName)) {
|
||||
aName.CompressWhitespace();
|
||||
return;
|
||||
}
|
||||
|
||||
aName.Assign(ancestorTitle);
|
||||
aName.CompressWhitespace();
|
||||
return;
|
||||
}
|
||||
parent = parent->GetParent();
|
||||
}
|
||||
}
|
||||
|
||||
nsresult Accessible::HandleAccEvent(AccEvent* aEvent) {
|
||||
|
|
|
@ -18,5 +18,4 @@ skip-if = (os == 'linux' && !debug) || (verify && !debug && (os == 'win')) # Bug
|
|||
[test_markup.html]
|
||||
skip-if = (debug && os == 'win') # Bug 1296784
|
||||
[test_svg.html]
|
||||
[test_toolbaritem.xul]
|
||||
[test_tree.xul]
|
||||
|
|
|
@ -145,10 +145,10 @@
|
|||
// Name from the @title attribute of <toolbaritem/> (original bug 237249).
|
||||
|
||||
// Direct child of toolbaritem.
|
||||
var toolbarItemChildAcc = testName("toolbaritem_child", "ooospspss");
|
||||
var toolbarItemChildAcc = testName("toolbaritem_child", null);
|
||||
|
||||
// Child from subtree of toolbaritem.
|
||||
testName("toolbaritem_hboxbutton", "ooospspss");
|
||||
testName("toolbaritem_hboxbutton", "button");
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -1,83 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
|
||||
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
|
||||
type="text/css"?>
|
||||
<?xml-stylesheet href="general.css"
|
||||
type="text/css"?>
|
||||
|
||||
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
title="Accessibility Name Calculating Test.">
|
||||
|
||||
<script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" />
|
||||
|
||||
<script type="application/javascript"
|
||||
src="../common.js"></script>
|
||||
<script type="application/javascript"
|
||||
src="../role.js"></script>
|
||||
<script type="application/javascript"
|
||||
src="../name.js"></script>
|
||||
<script type="application/javascript">
|
||||
<![CDATA[
|
||||
var gQueue = null;
|
||||
function doTest() {
|
||||
let ids = [];
|
||||
for (let item of ["button", "textbox"]) {
|
||||
ids.push(item + "withtooltip");
|
||||
ids.push(item + "withouttooltip");
|
||||
ids.push("nested" + item + "withtooltip");
|
||||
ids.push("nested" + item + "withouttooltip");
|
||||
}
|
||||
|
||||
for (let id of ids) {
|
||||
if (id.endsWith("withtooltip")) {
|
||||
testName(id, id, id + " should have individual name from its tooltip - ");
|
||||
} else {
|
||||
testName(id, "Toolbaritem title", id + " should have toolbaritem's title for a name - ");
|
||||
}
|
||||
}
|
||||
SimpleTest.finish();
|
||||
}
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
addA11yLoadEvent(doTest);
|
||||
]]>
|
||||
</script>
|
||||
|
||||
<hbox flex="1" style="overflow: auto;">
|
||||
|
||||
<body xmlns="http://www.w3.org/1999/xhtml">
|
||||
<a target="_blank"
|
||||
href="https://bugzilla.mozilla.org/show_bug.cgi?id=1216478"
|
||||
title="Items with tooltips inside items with a label should use their own tooltip as an accessible name, not the ancestor's label">
|
||||
Mozilla Bug 1216478
|
||||
</a>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none">
|
||||
</div>
|
||||
<pre id="test">
|
||||
</pre>
|
||||
</body>
|
||||
|
||||
<vbox flex="1">
|
||||
<toolbox>
|
||||
<toolbar>
|
||||
<toolbaritem title="Toolbaritem title">
|
||||
<toolbarbutton id="buttonwithtooltip" tooltiptext="buttonwithtooltip"/>
|
||||
<toolbarbutton id="buttonwithouttooltip"/>
|
||||
<textbox id="textboxwithtooltip" tooltiptext="textboxwithtooltip"/>
|
||||
<textbox id="textboxwithouttooltip"/>
|
||||
<vbox>
|
||||
<toolbarbutton id="nestedbuttonwithtooltip" tooltiptext="nestedbuttonwithtooltip"/>
|
||||
<toolbarbutton id="nestedbuttonwithouttooltip"/>
|
||||
<textbox id="nestedtextboxwithtooltip" tooltiptext="nestedtextboxwithtooltip"/>
|
||||
<textbox id="nestedtextboxwithouttooltip"/>
|
||||
</vbox>
|
||||
</toolbaritem>
|
||||
</toolbar>
|
||||
</toolbox>
|
||||
|
||||
|
||||
</vbox> <!-- close tests area -->
|
||||
</hbox> <!-- close main area -->
|
||||
</window>
|
Загрузка…
Ссылка в новой задаче