blob: 01f8ccfaa1afc9dd18baed4975aceb79a79a0564 [file] [log] [blame]
<!DOCTYPE html>
<html><head>
<title>ARIA 1.0 Test Case: Listbox role with multiseclect</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
[aria-selected="true"] { font-weight: bold; }
</style>
</head>
<body>
<h1>ARIA 1.0 Test Case: Listbox role with multiseclect</h1>
<div role="listbox" aria-multiselectable="true">
<div role="option">Option 1</div>
<div role="option" aria-selected="false" tabindex="-1">Option 2 (test for selected)</div>
<div role="option" aria-selected="false" id="ID_TARGET" tabindex="0">Option 3 (test for selected)</div>
<div role="option">Option 4</div>
</div>
<p><button onclick="toggleSelectedState();">Toggle Option 3 Selected State</button>
<h2>Description</h2>
<p>A DIV element with role role "listbox" has an aria-multiselect attribute set to "true".
Two of the four child "div" elements with the role "option" have the "aria-selected" attribute set
to "true".</p>
<h2>Accessibility API Mappings</h2>
<h3>MSAA + UIA Express</h3>
<p>Expose <code>STATE_SYSTEM_SELECTED</code>; Expose <code>STATE_SYSTEM_SELECTABLE</code></p>
<h3>MSAA + IAccessible2</h3>
<p>Expose STATE_SYSTEM_SELECTED and STATE_SYSTEM_SELECTABLE for each of the elements with role option</p>
<h3>UIA</h3>
<p>Expose IsSelected property in SelectionItem Control Pattern. The availability of the SelectionItem Control Pattern indicates the item is selectable.</p>
<h3>ATK/AT-SPI</h3>
<p>Expose STATE_SELECTED on each of the elements with role option.</p>
<h3>AXAPI</h3>
<p>AXSelected:Yes on option 2 and 3 and AXSelected:No on option 1 and 4</p>
<script type="text/javascript">
/*
function setSelection() {
var node = document.getElementById('ID_TARGET');
node.setAttribute("aria-selected","true");
}
window.addEventListener('load', setSelection);
*/
function toggleSelectedState() {
var el = document.getElementById('ID_TARGET');
if (el.getAttribute('aria-selected') == 'true')
el.setAttribute('aria-selected', 'false');
else
el.setAttribute('aria-selected', 'true');
}
</script>
</body></html>