зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1033283 - Expose STATE_PRESSED on menu buttons, r=surkov
This commit is contained in:
Родитель
97876cf0a5
Коммит
9547dd8aec
|
@ -1582,7 +1582,8 @@ Accessible::ApplyARIAState(uint64_t* aState) const
|
|||
}
|
||||
|
||||
// special case: A native button element whose role got transformed by ARIA to a toggle button
|
||||
if (IsButton())
|
||||
// Also applies to togglable button menus, like in the Dev Tools Web Console.
|
||||
if (IsButton() || IsMenuButton())
|
||||
aria::MapToState(aria::eARIAPressed, element, aState);
|
||||
|
||||
if (!mRoleMapEntry)
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
|
||||
<script type="application/javascript"
|
||||
src="../common.js"></script>
|
||||
<script type="application/javascript"
|
||||
src="../role.js" />
|
||||
|
||||
<script type="application/javascript">
|
||||
<![CDATA[
|
||||
|
@ -21,6 +23,10 @@
|
|||
ok(!isAccessible("presentation_descr"),
|
||||
"Presentation description shouldn't be accessible.");
|
||||
|
||||
// aria-pressed
|
||||
testRole("pressed_button", ROLE_TOGGLE_BUTTON);
|
||||
testRole("pressed_menu_button", ROLE_TOGGLE_BUTTON);
|
||||
|
||||
SimpleTest.finish();
|
||||
}
|
||||
|
||||
|
@ -37,7 +43,12 @@
|
|||
title="Do not create accessibles for XUL label or description having a role of 'presentation'">
|
||||
Mozilla Bug 494345
|
||||
</a>
|
||||
<p id="display"></p>
|
||||
<a target="_blank"
|
||||
href="https://bugzilla.mozilla.org/show_bug.cgi?id=1033283"
|
||||
title="Expose pressed state on XUL menu toggle buttons">
|
||||
Mozilla Bug 1033283
|
||||
</a>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none">
|
||||
</div>
|
||||
<pre id="test">
|
||||
|
@ -47,6 +58,12 @@
|
|||
<vbox flex="1">
|
||||
<label id="presentation_label" role="presentation" value="label"/>
|
||||
<description id="presentation_descr" role="presentation" value="description"/>
|
||||
<button id="pressed_button" aria-pressed="true" label="I am pressed" />
|
||||
<button id="pressed_menu_button" aria-pressed="true" label="I am pressed" type="menu-button">
|
||||
<menupopup>
|
||||
<menuitem label="I am a menu item" />
|
||||
</menupopup>
|
||||
</button>
|
||||
</vbox>
|
||||
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@ support-files =
|
|||
z_frames_update.html
|
||||
|
||||
[test_aria.html]
|
||||
[test_aria.xul]
|
||||
[test_aria_imgmap.html]
|
||||
[test_aria_widgetitems.html]
|
||||
[test_buttons.html]
|
||||
|
|
|
@ -0,0 +1,60 @@
|
|||
<?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 XUL ARIA state tests">
|
||||
|
||||
<script type="application/javascript"
|
||||
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" />
|
||||
|
||||
<script type="application/javascript"
|
||||
src="../common.js" />
|
||||
<script type="application/javascript"
|
||||
src="../role.js" />
|
||||
<script type="application/javascript"
|
||||
src="../states.js" />
|
||||
|
||||
<script type="application/javascript">
|
||||
<![CDATA[
|
||||
function doTest()
|
||||
{
|
||||
// aria-pressed
|
||||
testStates("pressed_button", STATE_PRESSED, 0, STATE_CHECKABLE);
|
||||
testStates("pressed_menu_button", STATE_PRESSED | STATE_HASPOPUP, 0, STATE_CHECKABLE);
|
||||
|
||||
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=1033283"
|
||||
title="Expose pressed state on XUL menu toggle buttons">
|
||||
Mozilla Bug 1033283
|
||||
</a>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none">
|
||||
</div>
|
||||
<pre id="test">
|
||||
</pre>
|
||||
</body>
|
||||
|
||||
<vbox flex="1">
|
||||
<button id="pressed_button" aria-pressed="true" label="I am pressed" />
|
||||
<button id="pressed_menu_button" aria-pressed="true" label="I am pressed" type="menu-button">
|
||||
<menupopup>
|
||||
<menuitem label="I am a menu item" />
|
||||
</menupopup>
|
||||
</button>
|
||||
</vbox>
|
||||
</hbox>
|
||||
|
||||
</window>
|
||||
|
Загрузка…
Ссылка в новой задаче