Bug 492518 - xul:slider accessible of xul:scale is accessible illegally, r=marcoz, davidb

This commit is contained in:
Alexander Surkov 2009-05-14 13:50:17 +08:00
Родитель ac372ba300
Коммит fa39c0fdd6
4 изменённых файлов: 74 добавлений и 14 удалений

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

@ -132,17 +132,6 @@ nsXULSliderAccessible::SetCurrentValue(double aValue)
return SetSliderAttr(nsAccessibilityAtoms::curpos, aValue);
}
// nsPIAccessible
NS_IMETHODIMP
nsXULSliderAccessible::GetAllowsAnonChildAccessibles(PRBool *aAllowsAnonChildren)
{
NS_ENSURE_ARG_POINTER(aAllowsAnonChildren);
// Allow anonymous xul:thumb inside xul:slider.
*aAllowsAnonChildren = PR_TRUE;
return NS_OK;
}
// Utils
already_AddRefed<nsIContent>

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

@ -57,9 +57,6 @@ public:
// nsIAccessibleValue
NS_DECL_NSIACCESSIBLEVALUE
// nsPIAccessible
NS_IMETHOD GetAllowsAnonChildAccessibles(PRBool *aAllowsAnonChildren);
// nsAccessible
virtual nsresult GetRoleInternal(PRUint32 *aRole);

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

@ -84,6 +84,7 @@ _TEST_FILES =\
test_elm_media.html \
test_elm_txtcntnr.html \
test_events_caretmove.html \
test_events_focus.xul \
test_events_mutation.html \
test_events_tree.xul \
test_groupattrs.xul \

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

@ -0,0 +1,73 @@
<?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"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="Accessible focus event testing">
<script type="application/javascript"
src="chrome://mochikit/content/MochiKit/packed.js" />
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" />
<script type="application/javascript"
src="chrome://mochikit/content/a11y/accessible/common.js" />
<script type="application/javascript"
src="chrome://mochikit/content/a11y/accessible/events.js" />
<script type="application/javascript">
/**
* Focus invoker.
*/
function synthFocus(aNodeOrID)
{
this.DOMNode = getNode(aNodeOrID);
this.invoke = function synthFocus_invoke()
{
this.DOMNode.focus();
}
this.getID = function synthFocus_getID() { return aNodeOrID + " focus"; }
}
/**
* Do tests.
*/
var gQueue = null;
function doTests()
{
// Test focus events.
gQueue = new eventQueue(nsIAccessibleEvent.EVENT_FOCUS);
gQueue.push(new synthFocus("textbox"));
gQueue.push(new synthFocus("scale"));
gQueue.invoke(); // Will call SimpleTest.finish();
}
SimpleTest.waitForExplicitFinish();
addLoadEvent(doTests);
</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=492518"
title="xul:slider accessible of xul:scale is accessible illegally">
Mozilla Bug 492518
</a>
<p id="display"></p>
<div id="content" style="display: none"></div>
<pre id="test">
</pre>
</body>
<vbox flex="1">
<textbox id="textbox" value="hello"/>
<scale id="scale" min="0" max="9" value="5"/>
</vbox>
</hbox>
</window>