test_controls.xhtml (5649B)
1 <?xml version="1.0"?> 2 <?xml-stylesheet href="chrome://global/skin" type="text/css"?> 3 <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" 4 type="text/css"?> 5 6 <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 7 title="Accessible XUL input control state tests"> 8 9 <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" /> 10 11 <script type="application/javascript" 12 src="../common.js" /> 13 <script type="application/javascript" 14 src="../role.js" /> 15 <script type="application/javascript" 16 src="../states.js" /> 17 <script type="application/javascript" 18 src="../events.js" /> 19 20 <script type="application/javascript"> 21 <![CDATA[ 22 var gQueue = null; 23 function doTest() 24 { 25 testStates("checkbox", STATE_FOCUSABLE, 0, STATE_UNAVAILABLE); 26 testStates("checkbox2", STATE_UNAVAILABLE, 0 , STATE_FOCUSABLE); 27 testStates("radiogroup", 0, 0, STATE_FOCUSABLE | STATE_UNAVAILABLE); 28 testStates("radio", STATE_FOCUSABLE, 0, STATE_UNAVAILABLE); 29 testStates("radio-disabled", STATE_UNAVAILABLE, 0 , STATE_FOCUSABLE); 30 testStates("radiogroup-disabled", STATE_UNAVAILABLE, 0 , STATE_FOCUSABLE); 31 testStates("radio-disabledradiogroup", STATE_UNAVAILABLE, 0 , STATE_FOCUSABLE); 32 testStates("button", STATE_FOCUSABLE, 0, STATE_UNAVAILABLE); 33 testStates("button-disabled", STATE_UNAVAILABLE, 0 , STATE_FOCUSABLE); 34 testStates("checkbutton", 35 STATE_FOCUSABLE | STATE_PRESSED, 0, STATE_CHECKABLE); 36 testStates("fakecheckbutton", STATE_FOCUSABLE | STATE_PRESSED, 0, 37 STATE_CHECKABLE); 38 testStates("combobox", STATE_FOCUSABLE | STATE_HASPOPUP, 0, STATE_UNAVAILABLE); 39 testStates("combobox-disabled", STATE_UNAVAILABLE | STATE_HASPOPUP, 0, STATE_FOCUSABLE); 40 testStates("listbox", STATE_FOCUSABLE, 0, STATE_UNAVAILABLE); 41 testStates("listitem", STATE_FOCUSABLE | STATE_SELECTABLE | STATE_SELECTED, 0, STATE_UNAVAILABLE); 42 testStates("listbox-disabled", STATE_UNAVAILABLE, 0, STATE_FOCUSABLE | STATE_SELECTABLE); 43 testStates("listitem-disabledlistbox", STATE_UNAVAILABLE | STATE_SELECTED, 0, STATE_FOCUSABLE | STATE_SELECTABLE); 44 testStates("menubar", 0, 0, STATE_FOCUSABLE); 45 testStates("menu", STATE_FOCUSABLE, 0, STATE_UNAVAILABLE); 46 testStates("menu-disabled", STATE_UNAVAILABLE, 0, STATE_FOCUSABLE | STATE_SELECTABLE); 47 testStates("tab", STATE_FOCUSABLE | STATE_SELECTABLE | STATE_SELECTED, 0, STATE_UNAVAILABLE); 48 testStates("tab-disabled", STATE_UNAVAILABLE, 0, STATE_FOCUSABLE | STATE_SELECTABLE | STATE_SELECTED); 49 50 gQueue = new eventQueue(); 51 gQueue.invoke(); // Will call SimpleTest.finish() 52 } 53 54 SimpleTest.waitForExplicitFinish(); 55 addA11yLoadEvent(doTest); 56 ]]> 57 </script> 58 59 <hbox flex="1" style="overflow: auto;"> 60 <body xmlns="http://www.w3.org/1999/xhtml"> 61 <a target="_blank" 62 href="https://bugzilla.mozilla.org/show_bug.cgi?id=599163" 63 title="check disabled state instead of attribute"> 64 Mozilla Bug 599163 65 </a> 66 <a target="_blank" 67 href="https://bugzilla.mozilla.org/show_bug.cgi?id=756983" 68 title="Isolate focusable and unavailable states from State()"> 69 Mozilla Bug 756983 70 </a> 71 <p id="display"></p> 72 <div id="content" style="display: none"> 73 </div> 74 <pre id="test"> 75 </pre> 76 </body> 77 78 <vbox flex="1"> 79 80 <checkbox id="checkbox" checked="true" label="Steak"/> 81 <checkbox id="checkbox2" checked="true" label="Salad" disabled="true"/> 82 83 <radiogroup id="radiogroup"> 84 <radio id="radio" label="Orange"/> 85 <radio id="radio-disabled" selected="true" label="Violet" disabled="true"/> 86 </radiogroup> 87 88 <radiogroup id="radiogroup-disabled" disabled="true"> 89 <radio id="radio-disabledradiogroup" label="Orange"/> 90 <radio id="violet2" selected="true" label="Violet"/> 91 </radiogroup> 92 93 <button id="button" value="button"/> 94 <button id="button-disabled" disabled="true" value="button"/> 95 <button id="checkbutton" type="checkbox" checked="true" 96 value="checkbutton" /> 97 <button id="fakecheckbutton" checked="true" value="fakecheckbutton" /> 98 99 <menulist id="combobox"> 100 <menupopup> 101 <menuitem label="item1"/> 102 </menupopup> 103 </menulist> 104 105 <menulist id="combobox-disabled" disabled="true"> 106 <menupopup> 107 <menuitem label="item1"/> 108 </menupopup> 109 </menulist> 110 111 <richlistbox id="listbox"> 112 <richlistitem id="listitem"> 113 <label value="list item"/> 114 </richlistitem> 115 </richlistbox> 116 117 <richlistbox id="listbox-disabled" disabled="true"> 118 <richlistitem id="listitem-disabledlistbox"> 119 <label value="list item"/> 120 </richlistitem> 121 </richlistbox> 122 123 <toolbox> 124 <menubar id="menubar"> 125 <menu id="menu" label="menu1"> 126 <menupopup> 127 <menuitem id="menu1-item1" label="menuitem1.1"/> 128 </menupopup> 129 </menu> 130 <menu id="menu-disabled" label="menu2" disabled="true"> 131 <menupopup> 132 <menuitem id="menu-disabled-item1" label="menuitem2.1"/> 133 </menupopup> 134 </menu> 135 </menubar> 136 </toolbox> 137 138 <tabbox> 139 <tabs> 140 <tab id="tab" label="tab1" tooltip="tooltip"/> 141 <tab id="tab-disabled" label="tab1" disabled="true"/> 142 </tabs> 143 <tabpanels> 144 <tabpanel/> 145 <tabpanel/> 146 </tabpanels> 147 </tabbox> 148 149 <tooltip id="tooltip"><description>tooltip</description></tooltip> 150 </vbox> 151 </hbox> 152 153 </window>