180 lines
5.0 KiB
HTML
180 lines
5.0 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Test accessible tree when ARIA role presentation is used</title>
|
|
<link rel="stylesheet" type="text/css"
|
|
href="chrome://mochikit/content/tests/SimpleTest/test.css" />
|
|
|
|
<script type="application/javascript"
|
|
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
|
|
<script type="application/javascript"
|
|
src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
|
|
|
|
<script type="application/javascript"
|
|
src="../common.js"></script>
|
|
<script type="application/javascript"
|
|
src="../role.js"></script>
|
|
|
|
<script type="application/javascript">
|
|
function doTest()
|
|
{
|
|
// Presentation role don't allow accessible.
|
|
var tree =
|
|
{ SECTION: [ // container
|
|
{ TEXT_LEAF: [ ] }, // child text of 'presentation' node
|
|
{ TEXT_LEAF: [ ] } // child text of 'none' node
|
|
] };
|
|
testAccessibleTree("div_cnt", tree);
|
|
|
|
// Focusable element, 'presentation' and 'none' roles are ignored.
|
|
tree =
|
|
{ SECTION: [ // container
|
|
{ PUSHBUTTON: [ // button having 'presentation' role
|
|
{ TEXT_LEAF: [ ] }
|
|
] },
|
|
{ PUSHBUTTON: [ // button having 'none' role
|
|
{ TEXT_LEAF: [ ] }
|
|
] }
|
|
] };
|
|
testAccessibleTree("btn_cnt", tree);
|
|
|
|
// Presentation table, no table structure is exposed.
|
|
tree =
|
|
{ SECTION: [ // container
|
|
{ TEXT_CONTAINER: [ // td generic accessible inside 'presentation' table
|
|
{ TEXT_LEAF: [ ] } // cell text
|
|
] },
|
|
{ TEXT_CONTAINER: [ // td generic accessible inside 'none' table
|
|
{ TEXT_LEAF: [ ] } // cell text
|
|
] }
|
|
] };
|
|
testAccessibleTree("tbl_cnt", tree);
|
|
|
|
// Focusable table, 'presentation' and 'none' roles are ignored.
|
|
tree =
|
|
{ SECTION: [ // container
|
|
{ TABLE: [ // table having 'presentation' role
|
|
{ ROW: [ // tr
|
|
{ CELL: [ // td
|
|
{ TEXT_LEAF: [ ] }
|
|
] }
|
|
] }
|
|
] },
|
|
{ TABLE: [ // table having 'none' role
|
|
{ ROW: [ // tr
|
|
{ CELL: [ // td
|
|
{ TEXT_LEAF: [ ] }
|
|
] }
|
|
] }
|
|
] }
|
|
] };
|
|
testAccessibleTree("tblfocusable_cnt", tree);
|
|
|
|
// Presentation list, expose generic accesisble for list items.
|
|
tree =
|
|
{ SECTION: [ // container
|
|
{ TEXT_CONTAINER: [ // li generic accessible inside 'presentation' role
|
|
{ TEXT_LEAF: [ ] } // li text
|
|
] },
|
|
{ TEXT_CONTAINER: [ // li generic accessible inside 'none' role
|
|
{ TEXT_LEAF: [ ] } // li text
|
|
] }
|
|
] };
|
|
testAccessibleTree("list_cnt", tree);
|
|
|
|
// Has ARIA globals or referred by ARIA relationship, role='presentation'
|
|
// and role='none' are ignored.
|
|
tree =
|
|
{ SECTION: [ // container
|
|
{ LABEL: [ // label, has aria-owns
|
|
{ TEXT_LEAF: [ ] },
|
|
{ LABEL: [ // label, referenced by aria-owns
|
|
{ TEXT_LEAF: [ ] }
|
|
] },
|
|
] },
|
|
{ LABEL: [ // label, has aria-owns
|
|
{ TEXT_LEAF: [ ] },
|
|
{ LABEL: [ // label, referenced by aria-owns
|
|
{ TEXT_LEAF: [ ] }
|
|
] }
|
|
] }
|
|
] };
|
|
testAccessibleTree("airaglobalprop_cnt", tree);
|
|
|
|
SimpleTest.finish();
|
|
}
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
addA11yLoadEvent(doTest);
|
|
</script>
|
|
</head>
|
|
<body>
|
|
|
|
<a target="_blank"
|
|
href="https://bugzilla.mozilla.org/show_bug.cgi?id=548291"
|
|
title="Accessible tree of ARIA image maps">
|
|
Bug 548291
|
|
</a>
|
|
<a target="_blank"
|
|
href="https://bugzilla.mozilla.org/show_bug.cgi?id=666504"
|
|
title="Ignore role presentation on focusable elements">
|
|
Bug 666504
|
|
</a>
|
|
<a target="_blank"
|
|
href="https://bugzilla.mozilla.org/show_bug.cgi?id=971212"
|
|
title="Implement ARIA role=none">
|
|
Bug 971212
|
|
</a>
|
|
<p id="display"></p>
|
|
<div id="content" style="display: none"></div>
|
|
<pre id="test">
|
|
</pre>
|
|
|
|
<div id="div_cnt"><div role="presentation">t</div><div role="none">t</div></div>
|
|
|
|
<div id="btn_cnt"><button role="presentation">btn</button><button role="none">btn</button></div>
|
|
|
|
<div id="tbl_cnt">
|
|
<table role="presentation">
|
|
<tr>
|
|
<td>cell</td>
|
|
</tr>
|
|
</table>
|
|
<table role="none">
|
|
<tr>
|
|
<td>cell</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div id="tblfocusable_cnt">
|
|
<table role="presentation" tabindex="0">
|
|
<tr>
|
|
<td>cell</td>
|
|
</tr>
|
|
</table>
|
|
<table role="none" tabindex="0">
|
|
<tr>
|
|
<td>cell</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div id="list_cnt">
|
|
<ul role="presentation">
|
|
<li>item</li>
|
|
</ul>
|
|
<ul role="none">
|
|
<li>item</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div id="airaglobalprop_cnt"><label
|
|
role="presentation" aria-owns="ariaowned">has aria-owns</label><label
|
|
role="presentation" id="ariaowned">referred by aria-owns</label><label
|
|
role="none" aria-owns="ariaowned2">has aria-owns</label><label
|
|
role="none" id="ariaowned2">referred by aria-owns</label></div>
|
|
|
|
</body>
|
|
</html>
|