1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/accessible/tests/mochitest/value/test_general.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,159 @@ 1.4 +<html> 1.5 + 1.6 +<head> 1.7 + <title>nsIAccessible value testing</title> 1.8 + 1.9 + <link rel="stylesheet" type="text/css" 1.10 + href="chrome://mochikit/content/tests/SimpleTest/test.css" /> 1.11 + 1.12 + <style type="text/css"> 1.13 + .offscreen { 1.14 + position: absolute; 1.15 + left: -5000px; 1.16 + top: -5000px; 1.17 + height: 100px; 1.18 + width: 100px; 1.19 + } 1.20 + </style> 1.21 + 1.22 + <script type="application/javascript" 1.23 + src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> 1.24 + 1.25 + <script type="application/javascript" 1.26 + src="../common.js"></script> 1.27 + 1.28 + <script type="application/javascript" 1.29 + src="chrome://mochikit/content/chrome-harness.js"></script> 1.30 + 1.31 + <script type="application/javascript"> 1.32 + function doTest() 1.33 + { 1.34 + function testValue(aID, aValue) 1.35 + { 1.36 + var acc = getAccessible(aID); 1.37 + if (!acc) 1.38 + return; 1.39 + is(acc.value, aValue, "Wrong value for " + aID + "!"); 1.40 + } 1.41 + 1.42 + var rootDir = getRootDirectory(window.location.href); 1.43 + var href = getRootDirectory(window.location.href) + "foo"; 1.44 + 1.45 + // roles that can't live as HTMLLinkAccessibles 1.46 + testValue("aria_menuitem_link", ""); 1.47 + testValue("aria_button_link", ""); 1.48 + testValue("aria_checkbox_link", ""); 1.49 + testValue("aria_application_link", ""); 1.50 + 1.51 + // roles that can live as HTMLLinkAccessibles 1.52 + testValue("aria_link_link", href); 1.53 + testValue("aria_main_link", href); 1.54 + testValue("aria_navigation_link", href); 1.55 + 1.56 + ////////////////////////////////////////////////////////////////////////// 1.57 + // ARIA textboxes 1.58 + 1.59 + testValue("aria_textbox1", "helo"); 1.60 + 1.61 + ////////////////////////////////////////////////////////////////////////// 1.62 + // ARIA comboboxes 1.63 + 1.64 + // aria-activedescendant defines a current item the value is computed from 1.65 + testValue("aria_combobox1", kDiscBulletText + "Zoom"); 1.66 + 1.67 + // aria-selected defines a selected item the value is computed from, 1.68 + // list control is pointed by aria-owns relation. 1.69 + testValue("aria_combobox2", kDiscBulletText + "Zoom"); 1.70 + 1.71 + // aria-selected defines a selected item the value is computed from, 1.72 + // list control is a child of combobox. 1.73 + testValue("aria_combobox3", kDiscBulletText + "2"); 1.74 + 1.75 + ////////////////////////////////////////////////////////////////////////// 1.76 + // HTML controls 1.77 + testValue("combobox1", "item1"); 1.78 + testValue("combobox2", "item2"); 1.79 + 1.80 + SimpleTest.finish(); 1.81 + } 1.82 + 1.83 + SimpleTest.waitForExplicitFinish(); 1.84 + addA11yLoadEvent(doTest); 1.85 + </script> 1.86 + 1.87 +</head> 1.88 + 1.89 +<body> 1.90 + 1.91 + <a target="_blank" 1.92 + href="https://bugzilla.mozilla.org/show_bug.cgi?id=494807" 1.93 + title="Do not expose a11y info specific to hyperlinks when role is overridden using ARIA"> 1.94 + Bug 494807 1.95 + </a> 1.96 + <a target="_blank" 1.97 + href="https://bugzilla.mozilla.org/show_bug.cgi?id=819273" 1.98 + title="ARIA combobox should have accessible value"> 1.99 + Bug 819273 1.100 + </a> 1.101 + <a target="_blank" 1.102 + href="https://bugzilla.mozilla.org/show_bug.cgi?id=887250" 1.103 + title="ARIA textbox role doesn't expose value"> 1.104 + Bug 887250 1.105 + </a> 1.106 + <p id="display"></p> 1.107 + <div id="content" style="display: none"> 1.108 + </div> 1.109 + <pre id="test"> 1.110 + </pre> 1.111 + 1.112 + <a id="aria_menuitem_link" role="menuitem" href="foo">menuitem</a> 1.113 + <a id="aria_button_link" role="button" href="foo">button</a> 1.114 + <a id="aria_checkbox_link" role="checkbox" href="foo">checkbox</a> 1.115 + 1.116 + <!-- landmark links --> 1.117 + <a id="aria_application_link" role="application" href="foo">app</a> 1.118 + <a id="aria_main_link" role="main" href="foo">main</a> 1.119 + <a id="aria_navigation_link" role="navigation" href="foo">nav</a> 1.120 + 1.121 + <!-- strange edge case: please don't do this in the wild --> 1.122 + <a id="aria_link_link" role="link" href="foo">link</a> 1.123 + 1.124 + <div id="aria_textbox1" role="textbox">helo</div> 1.125 + 1.126 + <div id="aria_combobox1" role="combobox" 1.127 + aria-owns="aria_combobox1_owned_listbox" 1.128 + aria-activedescendant="aria_combobox1_selected_option"> 1.129 + </div> 1.130 + <ul role="listbox" id="aria_combobox1_owned_listbox"> 1.131 + <li role="option">Zebra</li> 1.132 + <li role="option" id="aria_combobox1_selected_option">Zoom</li> 1.133 + </ul> 1.134 + 1.135 + <div id="aria_combobox2" role="combobox" 1.136 + aria-owns="aria_combobox2_owned_listbox"> 1.137 + </div> 1.138 + <ul role="listbox" id="aria_combobox2_owned_listbox"> 1.139 + <li role="option">Zebra</li> 1.140 + <li role="option" aria-selected="true">Zoom</li> 1.141 + </ul> 1.142 + 1.143 + <div id="aria_combobox3" role="combobox"> 1.144 + <div role="textbox"></div> 1.145 + <ul role="listbox"> 1.146 + <li role="option">1</li> 1.147 + <li role="option" aria-selected="true">2</li> 1.148 + <li role="option">3</li> 1.149 + </ul> 1.150 + </div> 1.151 + 1.152 + <select id="combobox1"> 1.153 + <option id="cb1_item1">item1</option> 1.154 + <option id="cb1_item2">item2</option> 1.155 + </select> 1.156 + <select id="combobox2"> 1.157 + <option id="cb2_item1">item1</option> 1.158 + <option id="cb2_item2" selected="true">item2</option> 1.159 + </select> 1.160 + 1.161 +</body> 1.162 +</html>