|
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="Accessibility Group Attributes ('level', 'setsize', 'posinset') Test."> |
|
8 |
|
9 <script type="application/javascript" |
|
10 src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" /> |
|
11 |
|
12 <script type="application/javascript" |
|
13 src="../common.js" /> |
|
14 <script type="application/javascript" |
|
15 src="../events.js" /> |
|
16 <script type="application/javascript" |
|
17 src="../attributes.js" /> |
|
18 |
|
19 <script type="application/javascript"> |
|
20 <![CDATA[ |
|
21 function openMenu(aID) |
|
22 { |
|
23 this.menuNode = getNode(aID); |
|
24 |
|
25 this.eventSeq = [ |
|
26 new invokerChecker(EVENT_FOCUS, this.menuNode) |
|
27 ]; |
|
28 |
|
29 this.invoke = function openMenu_invoke() |
|
30 { |
|
31 this.menuNode.open = true; |
|
32 } |
|
33 |
|
34 this.finalCheck = function openMenu_finalCheck() |
|
35 { |
|
36 testGroupAttrs("menu_item1.1", 1, 1); |
|
37 testGroupAttrs("menu_item1.2", 1, 3); |
|
38 testGroupAttrs("menu_item1.4", 2, 3); |
|
39 testGroupAttrs("menu_item2", 3, 3); |
|
40 } |
|
41 |
|
42 this.getID = function openMenu_getID() |
|
43 { |
|
44 return "open menu " + prettyName(aID); |
|
45 } |
|
46 } |
|
47 |
|
48 function openSubMenu(aID) |
|
49 { |
|
50 this.menuNode = getNode(aID); |
|
51 |
|
52 this.eventSeq = [ |
|
53 new invokerChecker(EVENT_FOCUS, this.menuNode) |
|
54 ]; |
|
55 |
|
56 this.invoke = function openSubMenu_invoke() |
|
57 { |
|
58 this.menuNode.open = true; |
|
59 } |
|
60 |
|
61 this.finalCheck = function openSubMenu_finalCheck() |
|
62 { |
|
63 testGroupAttrs("menu_item2.1", 1, 2, 1); |
|
64 testGroupAttrs("menu_item2.2", 2, 2, 1); |
|
65 } |
|
66 |
|
67 this.getID = function openSubMenu_getID() |
|
68 { |
|
69 return "open submenu " + prettyName(aID); |
|
70 } |
|
71 } |
|
72 |
|
73 //gA11yEventDumpToConsole = true; // debug stuff |
|
74 |
|
75 var gQueue = null; |
|
76 function doTest() |
|
77 { |
|
78 ////////////////////////////////////////////////////////////////////////// |
|
79 // xul:listbox (bug 417317) |
|
80 testGroupAttrs("listitem1", 1, 4); |
|
81 testGroupAttrs("listitem2", 2, 4); |
|
82 testGroupAttrs("listitem3", 3, 4); |
|
83 testGroupAttrs("listitem4", 4, 4); |
|
84 |
|
85 ////////////////////////////////////////////////////////////////////////// |
|
86 // xul:tab |
|
87 testGroupAttrs("tab1", 1, 2); |
|
88 testGroupAttrs("tab2", 2, 2); |
|
89 |
|
90 ////////////////////////////////////////////////////////////////////////// |
|
91 // xul:radio |
|
92 testGroupAttrs("radio1", 1, 2); |
|
93 testGroupAttrs("radio2", 2, 2); |
|
94 |
|
95 ////////////////////////////////////////////////////////////////////////// |
|
96 // xul:menulist |
|
97 testGroupAttrs("menulist1.1", 1); |
|
98 testGroupAttrs("menulist1.2", 2); |
|
99 testGroupAttrs("menulist1.3", 3); |
|
100 testGroupAttrs("menulist1.4", 4); |
|
101 |
|
102 ////////////////////////////////////////////////////////////////////////// |
|
103 // ARIA menu (bug 441888) |
|
104 testGroupAttrs("aria-menuitem", 1, 3); |
|
105 testGroupAttrs("aria-menuitemcheckbox", 2, 3); |
|
106 testGroupAttrs("aria-menuitemradio", 3, 3); |
|
107 testGroupAttrs("aria-menuitem2", 1, 1); |
|
108 |
|
109 ////////////////////////////////////////////////////////////////////////// |
|
110 // xul:menu (bug 443881) |
|
111 gQueue = new eventQueue(); |
|
112 gQueue.push(new openMenu("menu_item1")); |
|
113 gQueue.push(new openSubMenu("menu_item2")); |
|
114 gQueue.invoke(); // SimpleTest.finish(); |
|
115 } |
|
116 |
|
117 SimpleTest.waitForExplicitFinish(); |
|
118 addA11yLoadEvent(doTest); |
|
119 ]]> |
|
120 </script> |
|
121 |
|
122 <hbox flex="1" style="overflow: auto;"> |
|
123 <body xmlns="http://www.w3.org/1999/xhtml"> |
|
124 <a target="_blank" |
|
125 href="https://bugzilla.mozilla.org/show_bug.cgi?id=417317" |
|
126 title="Certain types of LISTITEM accessibles no longer get attributes set like 'x of y', regression from fix for bug 389926"> |
|
127 Mozilla Bug 417317 |
|
128 </a><br/> |
|
129 <a target="_blank" |
|
130 href="https://bugzilla.mozilla.org/show_bug.cgi?id=443881" |
|
131 title="take into account separators in xul menus when group attributes are calculating"> |
|
132 Mozilla Bug 443881 |
|
133 </a><br/> |
|
134 <a target="_blank" |
|
135 href="https://bugzilla.mozilla.org/show_bug.cgi?id=441888" |
|
136 title="ARIA checked menu items are not included in the total list of menu items"> |
|
137 Mozilla Bug 441888 |
|
138 </a><br/> |
|
139 |
|
140 <p id="display"></p> |
|
141 <div id="content" style="display: none"> |
|
142 </div> |
|
143 <pre id="test"> |
|
144 </pre> |
|
145 </body> |
|
146 |
|
147 <vbox flex="1"> |
|
148 |
|
149 <listbox> |
|
150 <listitem label="listitem1" id="listitem1"/> |
|
151 <listitem label="listitem2" id="listitem2" type="checkbox"/> |
|
152 <listitem label="listitem3" id="listitem3" type="checkbox"/> |
|
153 <listitem label="listitem4" id="listitem4"/> |
|
154 </listbox> |
|
155 |
|
156 <menubar> |
|
157 <menu label="item1" id="menu_item1"> |
|
158 <menupopup> |
|
159 <menuitem label="item1.1" id="menu_item1.1"/> |
|
160 <menuseparator/> |
|
161 <menuitem label="item1.2" id="menu_item1.2"/> |
|
162 <menuitem label="item1.3" hidden="true"/> |
|
163 <menuitem label="item1.4" id="menu_item1.4"/> |
|
164 <menu label="item2" id="menu_item2"> |
|
165 <menupopup> |
|
166 <menuitem label="item2.1" id="menu_item2.1"/> |
|
167 <menuitem label="item2.2" id="menu_item2.2"/> |
|
168 </menupopup> |
|
169 </menu> |
|
170 </menupopup> |
|
171 </menu> |
|
172 </menubar> |
|
173 |
|
174 <tabbox> |
|
175 <tabs> |
|
176 <tab id="tab1" label="tab1"/> |
|
177 <tab id="tab2" label="tab3"/> |
|
178 </tabs> |
|
179 <tabpanels> |
|
180 <tabpanel/> |
|
181 <tabpanel/> |
|
182 </tabpanels> |
|
183 </tabbox> |
|
184 |
|
185 <radiogroup> |
|
186 <radio id="radio1" label="radio1"/> |
|
187 <radio id="radio2" label="radio2"/> |
|
188 </radiogroup> |
|
189 |
|
190 <menulist id="menulist1" label="Vehicle"> |
|
191 <menupopup> |
|
192 <menuitem id="menulist1.1" label="Car"/> |
|
193 <menuitem id="menulist1.2" label="Taxi"/> |
|
194 <menuitem id="menulist1.3" label="Bus" selected="true"/> |
|
195 <menuitem id="menulist1.4" label="Train"/> |
|
196 </menupopup> |
|
197 </menulist> |
|
198 |
|
199 <vbox> |
|
200 <description role="menuitem" id="aria-menuitem" |
|
201 value="conventional menuitem"/> |
|
202 <description role="menuitemcheckbox" id="aria-menuitemcheckbox" |
|
203 value="conventional checkbox menuitem"/> |
|
204 <description role="menuitem" hidden="true"/> |
|
205 <description role="menuitemradio" id="aria-menuitemradio" |
|
206 value="conventional radio menuitem"/> |
|
207 <description role="separator" |
|
208 value="conventional separator"/> |
|
209 <description role="menuitem" id="aria-menuitem2" |
|
210 value="conventional menuitem"/> |
|
211 </vbox> |
|
212 |
|
213 </vbox> |
|
214 </hbox> |
|
215 </window> |
|
216 |