|
1 <html> |
|
2 |
|
3 <head> |
|
4 <title>nsIAccessible value testing</title> |
|
5 |
|
6 <link rel="stylesheet" type="text/css" |
|
7 href="chrome://mochikit/content/tests/SimpleTest/test.css" /> |
|
8 |
|
9 <style type="text/css"> |
|
10 .offscreen { |
|
11 position: absolute; |
|
12 left: -5000px; |
|
13 top: -5000px; |
|
14 height: 100px; |
|
15 width: 100px; |
|
16 } |
|
17 </style> |
|
18 |
|
19 <script type="application/javascript" |
|
20 src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> |
|
21 |
|
22 <script type="application/javascript" |
|
23 src="../common.js"></script> |
|
24 |
|
25 <script type="application/javascript" |
|
26 src="chrome://mochikit/content/chrome-harness.js"></script> |
|
27 |
|
28 <script type="application/javascript"> |
|
29 function doTest() |
|
30 { |
|
31 function testValue(aID, aValue) |
|
32 { |
|
33 var acc = getAccessible(aID); |
|
34 if (!acc) |
|
35 return; |
|
36 is(acc.value, aValue, "Wrong value for " + aID + "!"); |
|
37 } |
|
38 |
|
39 var rootDir = getRootDirectory(window.location.href); |
|
40 var href = getRootDirectory(window.location.href) + "foo"; |
|
41 |
|
42 // roles that can't live as HTMLLinkAccessibles |
|
43 testValue("aria_menuitem_link", ""); |
|
44 testValue("aria_button_link", ""); |
|
45 testValue("aria_checkbox_link", ""); |
|
46 testValue("aria_application_link", ""); |
|
47 |
|
48 // roles that can live as HTMLLinkAccessibles |
|
49 testValue("aria_link_link", href); |
|
50 testValue("aria_main_link", href); |
|
51 testValue("aria_navigation_link", href); |
|
52 |
|
53 ////////////////////////////////////////////////////////////////////////// |
|
54 // ARIA textboxes |
|
55 |
|
56 testValue("aria_textbox1", "helo"); |
|
57 |
|
58 ////////////////////////////////////////////////////////////////////////// |
|
59 // ARIA comboboxes |
|
60 |
|
61 // aria-activedescendant defines a current item the value is computed from |
|
62 testValue("aria_combobox1", kDiscBulletText + "Zoom"); |
|
63 |
|
64 // aria-selected defines a selected item the value is computed from, |
|
65 // list control is pointed by aria-owns relation. |
|
66 testValue("aria_combobox2", kDiscBulletText + "Zoom"); |
|
67 |
|
68 // aria-selected defines a selected item the value is computed from, |
|
69 // list control is a child of combobox. |
|
70 testValue("aria_combobox3", kDiscBulletText + "2"); |
|
71 |
|
72 ////////////////////////////////////////////////////////////////////////// |
|
73 // HTML controls |
|
74 testValue("combobox1", "item1"); |
|
75 testValue("combobox2", "item2"); |
|
76 |
|
77 SimpleTest.finish(); |
|
78 } |
|
79 |
|
80 SimpleTest.waitForExplicitFinish(); |
|
81 addA11yLoadEvent(doTest); |
|
82 </script> |
|
83 |
|
84 </head> |
|
85 |
|
86 <body> |
|
87 |
|
88 <a target="_blank" |
|
89 href="https://bugzilla.mozilla.org/show_bug.cgi?id=494807" |
|
90 title="Do not expose a11y info specific to hyperlinks when role is overridden using ARIA"> |
|
91 Bug 494807 |
|
92 </a> |
|
93 <a target="_blank" |
|
94 href="https://bugzilla.mozilla.org/show_bug.cgi?id=819273" |
|
95 title="ARIA combobox should have accessible value"> |
|
96 Bug 819273 |
|
97 </a> |
|
98 <a target="_blank" |
|
99 href="https://bugzilla.mozilla.org/show_bug.cgi?id=887250" |
|
100 title="ARIA textbox role doesn't expose value"> |
|
101 Bug 887250 |
|
102 </a> |
|
103 <p id="display"></p> |
|
104 <div id="content" style="display: none"> |
|
105 </div> |
|
106 <pre id="test"> |
|
107 </pre> |
|
108 |
|
109 <a id="aria_menuitem_link" role="menuitem" href="foo">menuitem</a> |
|
110 <a id="aria_button_link" role="button" href="foo">button</a> |
|
111 <a id="aria_checkbox_link" role="checkbox" href="foo">checkbox</a> |
|
112 |
|
113 <!-- landmark links --> |
|
114 <a id="aria_application_link" role="application" href="foo">app</a> |
|
115 <a id="aria_main_link" role="main" href="foo">main</a> |
|
116 <a id="aria_navigation_link" role="navigation" href="foo">nav</a> |
|
117 |
|
118 <!-- strange edge case: please don't do this in the wild --> |
|
119 <a id="aria_link_link" role="link" href="foo">link</a> |
|
120 |
|
121 <div id="aria_textbox1" role="textbox">helo</div> |
|
122 |
|
123 <div id="aria_combobox1" role="combobox" |
|
124 aria-owns="aria_combobox1_owned_listbox" |
|
125 aria-activedescendant="aria_combobox1_selected_option"> |
|
126 </div> |
|
127 <ul role="listbox" id="aria_combobox1_owned_listbox"> |
|
128 <li role="option">Zebra</li> |
|
129 <li role="option" id="aria_combobox1_selected_option">Zoom</li> |
|
130 </ul> |
|
131 |
|
132 <div id="aria_combobox2" role="combobox" |
|
133 aria-owns="aria_combobox2_owned_listbox"> |
|
134 </div> |
|
135 <ul role="listbox" id="aria_combobox2_owned_listbox"> |
|
136 <li role="option">Zebra</li> |
|
137 <li role="option" aria-selected="true">Zoom</li> |
|
138 </ul> |
|
139 |
|
140 <div id="aria_combobox3" role="combobox"> |
|
141 <div role="textbox"></div> |
|
142 <ul role="listbox"> |
|
143 <li role="option">1</li> |
|
144 <li role="option" aria-selected="true">2</li> |
|
145 <li role="option">3</li> |
|
146 </ul> |
|
147 </div> |
|
148 |
|
149 <select id="combobox1"> |
|
150 <option id="cb1_item1">item1</option> |
|
151 <option id="cb1_item2">item2</option> |
|
152 </select> |
|
153 <select id="combobox2"> |
|
154 <option id="cb2_item1">item1</option> |
|
155 <option id="cb2_item2" selected="true">item2</option> |
|
156 </select> |
|
157 |
|
158 </body> |
|
159 </html> |