root/collected/trunk/html-test-cases/getting-tabindex-results.html

Revision 52, 85.6 kB (checked in by simon, 3 years ago)

minor tidy up

Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
2"http://www.w3.org/TR/html4/strict.dtd">
3
4<html>
5
6<head>
7<title>Getting the tabindex value of an element with JavaScript</title>
8</head>
9
10<body>
11
12<h2>HTML Internet Explorer 6 Windows XP</h2>
13<p>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)</p>
14<h2>Results</h2>
15<table><thead><tr><th>Element</th><th>Mechanism</th><th>Value</th></tr></thead><tbody>
16<tr><td>div with no tabindex</td><td>elem.getAttribute("tabindex")</td><td>0</td></tr>
17<tr><td>div with no tabindex</td><td>elem.getAttribute("tabindex", 0)</td><td>0</td></tr>
18<tr><td>div with no tabindex</td><td>elem.getAttribute("tabindex", 1)</td><td>null</td></tr>
19<tr><td>div with no tabindex</td><td>elem.getAttribute("tabindex", 2)</td><td>32768</td></tr>
20<tr><td>div with no tabindex</td><td>elem.getAttribute("tabIndex")</td><td>0</td></tr>
21<tr><td>div with no tabindex</td><td>elem.getAttribute("tabIndex", 0)</td><td>0</td></tr>
22<tr><td>div with no tabindex</td><td>elem.getAttribute("tabIndex", 1)</td><td>0</td></tr>
23<tr><td>div with no tabindex</td><td>elem.getAttribute("tabIndex", 2)</td><td>32768</td></tr>
24<tr><td>div with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
25<tr><td>div with no tabindex</td><td>elem.tabIndex</td><td>0</td></tr>
26<tr><td>div with no tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
27<tr><td>div with no tabindex</td><td>elem.attributes["tabIndex"].nodeValue</td><td>0</td></tr>
28<tr><td>div with no tabindex</td><td>elem.attributes["tabIndex"].specified</td><td>false</td></tr>
29<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>0</td></tr>
30<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabindex").specified</td><td>false</td></tr>
31<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>0</td></tr>
32<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabIndex").specified</td><td>false</td></tr>
33<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
34<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabindex", 0)</td><td>1</td></tr>
35<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabindex", 1)</td><td>null</td></tr>
36<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabindex", 2)</td><td>1</td></tr>
37<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>1</td></tr>
38<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabIndex", 0)</td><td>1</td></tr>
39<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabIndex", 1)</td><td>1</td></tr>
40<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabIndex", 2)</td><td>1</td></tr>
41<tr><td>div with tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
42<tr><td>div with tabindex="1"</td><td>elem.tabIndex</td><td>1</td></tr>
43<tr><td>div with tabindex="1"</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
44<tr><td>div with tabindex="1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>1</td></tr>
45<tr><td>div with tabindex="1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
46<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
47<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
48<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>1</td></tr>
49<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
50<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>-1</td></tr>
51<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabindex", 0)</td><td>-1</td></tr>
52<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabindex", 1)</td><td>null</td></tr>
53<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabindex", 2)</td><td>65535</td></tr>
54<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>-1</td></tr>
55<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabIndex", 0)</td><td>-1</td></tr>
56<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabIndex", 1)</td><td>-1</td></tr>
57<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabIndex", 2)</td><td>65535</td></tr>
58<tr><td>div with tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
59<tr><td>div with tabindex="-1"</td><td>elem.tabIndex</td><td>-1</td></tr>
60<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
61<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>-1</td></tr>
62<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
63<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>-1</td></tr>
64<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
65<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>-1</td></tr>
66<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
67<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabindex")</td><td>0</td></tr>
68<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabindex", 0)</td><td>0</td></tr>
69<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabindex", 1)</td><td>null</td></tr>
70<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabindex", 2)</td><td>32768</td></tr>
71<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabIndex")</td><td>0</td></tr>
72<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabIndex", 0)</td><td>0</td></tr>
73<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabIndex", 1)</td><td>0</td></tr>
74<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabIndex", 2)</td><td>32768</td></tr>
75<tr><td>div with tabindex removed</td><td>elem.tabindex</td><td>undefined</td></tr>
76<tr><td>div with tabindex removed</td><td>elem.tabIndex</td><td>0</td></tr>
77<tr><td>div with tabindex removed</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
78<tr><td>div with tabindex removed</td><td>elem.attributes["tabIndex"].nodeValue</td><td>0</td></tr>
79<tr><td>div with tabindex removed</td><td>elem.attributes["tabIndex"].specified</td><td>false</td></tr>
80<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>0</td></tr>
81<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabindex").specified</td><td>false</td></tr>
82<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>0</td></tr>
83<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabIndex").specified</td><td>false</td></tr>
84<tr><td>input with no tabindex</td><td>elem.getAttribute("tabindex")</td><td>0</td></tr>
85<tr><td>input with no tabindex</td><td>elem.getAttribute("tabindex", 0)</td><td>0</td></tr>
86<tr><td>input with no tabindex</td><td>elem.getAttribute("tabindex", 1)</td><td>null</td></tr>
87<tr><td>input with no tabindex</td><td>elem.getAttribute("tabindex", 2)</td><td>32768</td></tr>
88<tr><td>input with no tabindex</td><td>elem.getAttribute("tabIndex")</td><td>0</td></tr>
89<tr><td>input with no tabindex</td><td>elem.getAttribute("tabIndex", 0)</td><td>0</td></tr>
90<tr><td>input with no tabindex</td><td>elem.getAttribute("tabIndex", 1)</td><td>0</td></tr>
91<tr><td>input with no tabindex</td><td>elem.getAttribute("tabIndex", 2)</td><td>32768</td></tr>
92<tr><td>input with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
93<tr><td>input with no tabindex</td><td>elem.tabIndex</td><td>0</td></tr>
94<tr><td>input with no tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
95<tr><td>input with no tabindex</td><td>elem.attributes["tabIndex"].nodeValue</td><td>0</td></tr>
96<tr><td>input with no tabindex</td><td>elem.attributes["tabIndex"].specified</td><td>false</td></tr>
97<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>0</td></tr>
98<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabindex").specified</td><td>false</td></tr>
99<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>0</td></tr>
100<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabIndex").specified</td><td>false</td></tr>
101<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
102<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabindex", 0)</td><td>1</td></tr>
103<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabindex", 1)</td><td>null</td></tr>
104<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabindex", 2)</td><td>1</td></tr>
105<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>1</td></tr>
106<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabIndex", 0)</td><td>1</td></tr>
107<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabIndex", 1)</td><td>1</td></tr>
108<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabIndex", 2)</td><td>1</td></tr>
109<tr><td>input with tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
110<tr><td>input with tabindex="1"</td><td>elem.tabIndex</td><td>1</td></tr>
111<tr><td>input with tabindex="1"</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
112<tr><td>input with tabindex="1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>1</td></tr>
113<tr><td>input with tabindex="1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
114<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
115<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
116<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>1</td></tr>
117<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
118<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>-1</td></tr>
119<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabindex", 0)</td><td>-1</td></tr>
120<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabindex", 1)</td><td>null</td></tr>
121<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabindex", 2)</td><td>65535</td></tr>
122<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>-1</td></tr>
123<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabIndex", 0)</td><td>-1</td></tr>
124<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabIndex", 1)</td><td>-1</td></tr>
125<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabIndex", 2)</td><td>65535</td></tr>
126<tr><td>input with tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
127<tr><td>input with tabindex="-1"</td><td>elem.tabIndex</td><td>-1</td></tr>
128<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
129<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>-1</td></tr>
130<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
131<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>-1</td></tr>
132<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
133<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>-1</td></tr>
134<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
135<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabindex")</td><td>0</td></tr>
136<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabindex", 0)</td><td>0</td></tr>
137<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabindex", 1)</td><td>null</td></tr>
138<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabindex", 2)</td><td>32768</td></tr>
139<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabIndex")</td><td>0</td></tr>
140<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabIndex", 0)</td><td>0</td></tr>
141<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabIndex", 1)</td><td>0</td></tr>
142<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabIndex", 2)</td><td>32768</td></tr>
143<tr><td>input with tabindex removed</td><td>elem.tabindex</td><td>undefined</td></tr>
144<tr><td>input with tabindex removed</td><td>elem.tabIndex</td><td>0</td></tr>
145<tr><td>input with tabindex removed</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
146<tr><td>input with tabindex removed</td><td>elem.attributes["tabIndex"].nodeValue</td><td>0</td></tr>
147<tr><td>input with tabindex removed</td><td>elem.attributes["tabIndex"].specified</td><td>false</td></tr>
148<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>0</td></tr>
149<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabindex").specified</td><td>false</td></tr>
150<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>0</td></tr>
151<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabIndex").specified</td><td>false</td></tr>
152</tbody></table>
153
154<h2>HTML Internet Explorer 7.0.5730.11 Windows XP</h2>
155<p>Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)</p>
156<h2>Results</h2>
157<table><thead><tr><th>Element</th><th>Mechanism</th><th>Value</th></tr></thead><tbody>
158<tr><td>div with no tabindex</td><td>elem.getAttribute("tabindex")</td><td>0</td></tr>
159<tr><td>div with no tabindex</td><td>elem.getAttribute("tabindex", 0)</td><td>0</td></tr>
160<tr><td>div with no tabindex</td><td>elem.getAttribute("tabindex", 1)</td><td>null</td></tr>
161<tr><td>div with no tabindex</td><td>elem.getAttribute("tabindex", 2)</td><td>32768</td></tr>
162<tr><td>div with no tabindex</td><td>elem.getAttribute("tabIndex")</td><td>0</td></tr>
163<tr><td>div with no tabindex</td><td>elem.getAttribute("tabIndex", 0)</td><td>0</td></tr>
164<tr><td>div with no tabindex</td><td>elem.getAttribute("tabIndex", 1)</td><td>0</td></tr>
165<tr><td>div with no tabindex</td><td>elem.getAttribute("tabIndex", 2)</td><td>32768</td></tr>
166<tr><td>div with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
167<tr><td>div with no tabindex</td><td>elem.tabIndex</td><td>0</td></tr>
168<tr><td>div with no tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
169<tr><td>div with no tabindex</td><td>elem.attributes["tabIndex"].nodeValue</td><td>0</td></tr>
170<tr><td>div with no tabindex</td><td>elem.attributes["tabIndex"].specified</td><td>false</td></tr>
171<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>0</td></tr>
172<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabindex").specified</td><td>false</td></tr>
173<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>0</td></tr>
174<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabIndex").specified</td><td>false</td></tr>
175<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
176<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabindex", 0)</td><td>1</td></tr>
177<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabindex", 1)</td><td>null</td></tr>
178<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabindex", 2)</td><td>1</td></tr>
179<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>1</td></tr>
180<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabIndex", 0)</td><td>1</td></tr>
181<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabIndex", 1)</td><td>1</td></tr>
182<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabIndex", 2)</td><td>1</td></tr>
183<tr><td>div with tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
184<tr><td>div with tabindex="1"</td><td>elem.tabIndex</td><td>1</td></tr>
185<tr><td>div with tabindex="1"</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
186<tr><td>div with tabindex="1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>1</td></tr>
187<tr><td>div with tabindex="1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
188<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
189<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
190<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>1</td></tr>
191<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
192<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>-1</td></tr>
193<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabindex", 0)</td><td>-1</td></tr>
194<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabindex", 1)</td><td>null</td></tr>
195<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabindex", 2)</td><td>65535</td></tr>
196<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>-1</td></tr>
197<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabIndex", 0)</td><td>-1</td></tr>
198<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabIndex", 1)</td><td>-1</td></tr>
199<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabIndex", 2)</td><td>65535</td></tr>
200<tr><td>div with tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
201<tr><td>div with tabindex="-1"</td><td>elem.tabIndex</td><td>-1</td></tr>
202<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
203<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>-1</td></tr>
204<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
205<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>-1</td></tr>
206<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
207<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>-1</td></tr>
208<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
209<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabindex")</td><td>0</td></tr>
210<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabindex", 0)</td><td>0</td></tr>
211<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabindex", 1)</td><td>null</td></tr>
212<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabindex", 2)</td><td>32768</td></tr>
213<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabIndex")</td><td>0</td></tr>
214<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabIndex", 0)</td><td>0</td></tr>
215<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabIndex", 1)</td><td>0</td></tr>
216<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabIndex", 2)</td><td>32768</td></tr>
217<tr><td>div with tabindex removed</td><td>elem.tabindex</td><td>undefined</td></tr>
218<tr><td>div with tabindex removed</td><td>elem.tabIndex</td><td>0</td></tr>
219<tr><td>div with tabindex removed</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
220<tr><td>div with tabindex removed</td><td>elem.attributes["tabIndex"].nodeValue</td><td>0</td></tr>
221<tr><td>div with tabindex removed</td><td>elem.attributes["tabIndex"].specified</td><td>false</td></tr>
222<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>0</td></tr>
223<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabindex").specified</td><td>false</td></tr>
224<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>0</td></tr>
225<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabIndex").specified</td><td>false</td></tr>
226<tr><td>input with no tabindex</td><td>elem.getAttribute("tabindex")</td><td>0</td></tr>
227<tr><td>input with no tabindex</td><td>elem.getAttribute("tabindex", 0)</td><td>0</td></tr>
228<tr><td>input with no tabindex</td><td>elem.getAttribute("tabindex", 1)</td><td>null</td></tr>
229<tr><td>input with no tabindex</td><td>elem.getAttribute("tabindex", 2)</td><td>32768</td></tr>
230<tr><td>input with no tabindex</td><td>elem.getAttribute("tabIndex")</td><td>0</td></tr>
231<tr><td>input with no tabindex</td><td>elem.getAttribute("tabIndex", 0)</td><td>0</td></tr>
232<tr><td>input with no tabindex</td><td>elem.getAttribute("tabIndex", 1)</td><td>0</td></tr>
233<tr><td>input with no tabindex</td><td>elem.getAttribute("tabIndex", 2)</td><td>32768</td></tr>
234<tr><td>input with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
235<tr><td>input with no tabindex</td><td>elem.tabIndex</td><td>0</td></tr>
236<tr><td>input with no tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
237<tr><td>input with no tabindex</td><td>elem.attributes["tabIndex"].nodeValue</td><td>0</td></tr>
238<tr><td>input with no tabindex</td><td>elem.attributes["tabIndex"].specified</td><td>false</td></tr>
239<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>0</td></tr>
240<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabindex").specified</td><td>false</td></tr>
241<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>0</td></tr>
242<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabIndex").specified</td><td>false</td></tr>
243<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
244<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabindex", 0)</td><td>1</td></tr>
245<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabindex", 1)</td><td>null</td></tr>
246<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabindex", 2)</td><td>1</td></tr>
247<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>1</td></tr>
248<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabIndex", 0)</td><td>1</td></tr>
249<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabIndex", 1)</td><td>1</td></tr>
250<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabIndex", 2)</td><td>1</td></tr>
251<tr><td>input with tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
252<tr><td>input with tabindex="1"</td><td>elem.tabIndex</td><td>1</td></tr>
253<tr><td>input with tabindex="1"</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
254<tr><td>input with tabindex="1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>1</td></tr>
255<tr><td>input with tabindex="1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
256<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
257<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
258<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>1</td></tr>
259<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
260<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>-1</td></tr>
261<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabindex", 0)</td><td>-1</td></tr>
262<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabindex", 1)</td><td>null</td></tr>
263<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabindex", 2)</td><td>65535</td></tr>
264<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>-1</td></tr>
265<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabIndex", 0)</td><td>-1</td></tr>
266<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabIndex", 1)</td><td>-1</td></tr>
267<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabIndex", 2)</td><td>65535</td></tr>
268<tr><td>input with tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
269<tr><td>input with tabindex="-1"</td><td>elem.tabIndex</td><td>-1</td></tr>
270<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
271<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>-1</td></tr>
272<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
273<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>-1</td></tr>
274<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
275<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>-1</td></tr>
276<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
277<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabindex")</td><td>0</td></tr>
278<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabindex", 0)</td><td>0</td></tr>
279<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabindex", 1)</td><td>null</td></tr>
280<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabindex", 2)</td><td>32768</td></tr>
281<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabIndex")</td><td>0</td></tr>
282<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabIndex", 0)</td><td>0</td></tr>
283<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabIndex", 1)</td><td>0</td></tr>
284<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabIndex", 2)</td><td>32768</td></tr>
285<tr><td>input with tabindex removed</td><td>elem.tabindex</td><td>undefined</td></tr>
286<tr><td>input with tabindex removed</td><td>elem.tabIndex</td><td>0</td></tr>
287<tr><td>input with tabindex removed</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
288<tr><td>input with tabindex removed</td><td>elem.attributes["tabIndex"].nodeValue</td><td>0</td></tr>
289<tr><td>input with tabindex removed</td><td>elem.attributes["tabIndex"].specified</td><td>false</td></tr>
290<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>0</td></tr>
291<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabindex").specified</td><td>false</td></tr>
292<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>0</td></tr>
293<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabIndex").specified</td><td>false</td></tr>
294</tbody></table>
295
296<h2>HTML Firefox 2.0.0.11 Windows XP</h2>
297<p>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11</p>
298<h2>Results</h2>
299<table><thead><tr><th>Element</th><th>Mechanism</th><th>Value</th></tr></thead><tbody>
300<tr><td>div with no tabindex</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
301<tr><td>div with no tabindex</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
302<tr><td>div with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
303<tr><td>div with no tabindex</td><td>elem.tabIndex</td><td>-1</td></tr>
304<tr><td>div with no tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
305<tr><td>div with no tabindex</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
306<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
307<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
308<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
309<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>1</td></tr>
310<tr><td>div with tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
311<tr><td>div with tabindex="1"</td><td>elem.tabIndex</td><td>1</td></tr>
312<tr><td>div with tabindex="1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
313<tr><td>div with tabindex="1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
314<tr><td>div with tabindex="1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>1</td></tr>
315<tr><td>div with tabindex="1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
316<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
317<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
318<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>1</td></tr>
319<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
320<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>-1</td></tr>
321<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>-1</td></tr>
322<tr><td>div with tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
323<tr><td>div with tabindex="-1"</td><td>elem.tabIndex</td><td>-1</td></tr>
324<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>-1</td></tr>
325<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
326<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>-1</td></tr>
327<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
328<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>-1</td></tr>
329<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
330<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>-1</td></tr>
331<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
332<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
333<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
334<tr><td>div with tabindex removed</td><td>elem.tabindex</td><td>undefined</td></tr>
335<tr><td>div with tabindex removed</td><td>elem.tabIndex</td><td>-1</td></tr>
336<tr><td>div with tabindex removed</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
337<tr><td>div with tabindex removed</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
338<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
339<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
340<tr><td>input with no tabindex</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
341<tr><td>input with no tabindex</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
342<tr><td>input with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
343<tr><td>input with no tabindex</td><td>elem.tabIndex</td><td>0</td></tr>
344<tr><td>input with no tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
345<tr><td>input with no tabindex</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
346<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
347<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
348<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
349<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>1</td></tr>
350<tr><td>input with tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
351<tr><td>input with tabindex="1"</td><td>elem.tabIndex</td><td>1</td></tr>
352<tr><td>input with tabindex="1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
353<tr><td>input with tabindex="1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
354<tr><td>input with tabindex="1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>1</td></tr>
355<tr><td>input with tabindex="1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
356<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
357<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
358<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>1</td></tr>
359<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
360<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>-1</td></tr>
361<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>-1</td></tr>
362<tr><td>input with tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
363<tr><td>input with tabindex="-1"</td><td>elem.tabIndex</td><td>-1</td></tr>
364<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>-1</td></tr>
365<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
366<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>-1</td></tr>
367<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
368<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>-1</td></tr>
369<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
370<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>-1</td></tr>
371<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
372<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
373<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
374<tr><td>input with tabindex removed</td><td>elem.tabindex</td><td>undefined</td></tr>
375<tr><td>input with tabindex removed</td><td>elem.tabIndex</td><td>0</td></tr>
376<tr><td>input with tabindex removed</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
377<tr><td>input with tabindex removed</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
378<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
379<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
380</tbody></table>
381
382<h2>XHTML Firefox 2.0.0.11 Windows XP</h2>
383<p>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11</p>
384<h2>Results</h2>
385<table><thead><tr><th>Element</th><th>Mechanism</th><th>Value</th></tr></thead><tbody>
386<tr><td>div with no tabindex</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
387<tr><td>div with no tabindex</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
388<tr><td>div with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
389<tr><td>div with no tabindex</td><td>elem.tabIndex</td><td>-1</td></tr>
390<tr><td>div with no tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
391<tr><td>div with no tabindex</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
392<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
393<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
394<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
395<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
396<tr><td>div with tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
397<tr><td>div with tabindex="1"</td><td>elem.tabIndex</td><td>1</td></tr>
398<tr><td>div with tabindex="1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
399<tr><td>div with tabindex="1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
400<tr><td>div with tabindex="1"</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
401<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
402<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
403<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
404<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>-1</td></tr>
405<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
406<tr><td>div with tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
407<tr><td>div with tabindex="-1"</td><td>elem.tabIndex</td><td>-1</td></tr>
408<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>-1</td></tr>
409<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
410<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
411<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>-1</td></tr>
412<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
413<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
414<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
415<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
416<tr><td>div with tabindex removed</td><td>elem.tabindex</td><td>undefined</td></tr>
417<tr><td>div with tabindex removed</td><td>elem.tabIndex</td><td>1</td></tr>
418<tr><td>div with tabindex removed</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
419<tr><td>div with tabindex removed</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
420<tr><td>div with tabindex removed</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
421<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
422<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
423<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
424<tr><td>input with no tabindex</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
425<tr><td>input with no tabindex</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
426<tr><td>input with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
427<tr><td>input with no tabindex</td><td>elem.tabIndex</td><td>0</td></tr>
428<tr><td>input with no tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
429<tr><td>input with no tabindex</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
430<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
431<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
432<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
433<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
434<tr><td>input with tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
435<tr><td>input with tabindex="1"</td><td>elem.tabIndex</td><td>1</td></tr>
436<tr><td>input with tabindex="1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
437<tr><td>input with tabindex="1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
438<tr><td>input with tabindex="1"</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
439<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
440<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
441<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
442<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>-1</td></tr>
443<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
444<tr><td>input with tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
445<tr><td>input with tabindex="-1"</td><td>elem.tabIndex</td><td>-1</td></tr>
446<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>-1</td></tr>
447<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
448<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
449<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>-1</td></tr>
450<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
451<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
452<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
453<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
454<tr><td>input with tabindex removed</td><td>elem.tabindex</td><td>undefined</td></tr>
455<tr><td>input with tabindex removed</td><td>elem.tabIndex</td><td>1</td></tr>
456<tr><td>input with tabindex removed</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
457<tr><td>input with tabindex removed</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
458<tr><td>input with tabindex removed</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
459<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
460<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
461<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
462</tbody></table>
463
464<h2>HTML Minefield nightly 3.0b3pre 2008010705 Windows XP</h2>
465<p>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b3pre) Gecko/2008010705 Minefield/3.0b3pre</p>
466<h2>Results</h2>
467<table><thead><tr><th>Element</th><th>Mechanism</th><th>Value</th></tr></thead><tbody>
468<tr><td>div with no tabindex</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
469<tr><td>div with no tabindex</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
470<tr><td>div with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
471<tr><td>div with no tabindex</td><td>elem.tabIndex</td><td>-1</td></tr>
472<tr><td>div with no tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
473<tr><td>div with no tabindex</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
474<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
475<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
476<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
477<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>1</td></tr>
478<tr><td>div with tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
479<tr><td>div with tabindex="1"</td><td>elem.tabIndex</td><td>1</td></tr>
480<tr><td>div with tabindex="1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
481<tr><td>div with tabindex="1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
482<tr><td>div with tabindex="1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>1</td></tr>
483<tr><td>div with tabindex="1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
484<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
485<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
486<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>1</td></tr>
487<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
488<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>-1</td></tr>
489<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>-1</td></tr>
490<tr><td>div with tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
491<tr><td>div with tabindex="-1"</td><td>elem.tabIndex</td><td>-1</td></tr>
492<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>-1</td></tr>
493<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
494<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>-1</td></tr>
495<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
496<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>-1</td></tr>
497<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
498<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>-1</td></tr>
499<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
500<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
501<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
502<tr><td>div with tabindex removed</td><td>elem.tabindex</td><td>undefined</td></tr>
503<tr><td>div with tabindex removed</td><td>elem.tabIndex</td><td>-1</td></tr>
504<tr><td>div with tabindex removed</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
505<tr><td>div with tabindex removed</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
506<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
507<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
508<tr><td>input with no tabindex</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
509<tr><td>input with no tabindex</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
510<tr><td>input with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
511<tr><td>input with no tabindex</td><td>elem.tabIndex</td><td>0</td></tr>
512<tr><td>input with no tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
513<tr><td>input with no tabindex</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
514<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
515<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
516<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
517<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>1</td></tr>
518<tr><td>input with tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
519<tr><td>input with tabindex="1"</td><td>elem.tabIndex</td><td>1</td></tr>
520<tr><td>input with tabindex="1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
521<tr><td>input with tabindex="1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
522<tr><td>input with tabindex="1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>1</td></tr>
523<tr><td>input with tabindex="1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
524<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
525<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
526<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>1</td></tr>
527<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
528<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>-1</td></tr>
529<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>-1</td></tr>
530<tr><td>input with tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
531<tr><td>input with tabindex="-1"</td><td>elem.tabIndex</td><td>-1</td></tr>
532<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>-1</td></tr>
533<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
534<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>-1</td></tr>
535<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
536<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>-1</td></tr>
537<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
538<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>-1</td></tr>
539<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
540<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
541<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
542<tr><td>input with tabindex removed</td><td>elem.tabindex</td><td>undefined</td></tr>
543<tr><td>input with tabindex removed</td><td>elem.tabIndex</td><td>0</td></tr>
544<tr><td>input with tabindex removed</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
545<tr><td>input with tabindex removed</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
546<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
547<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
548</tbody></table>
549
550<h2>XHTML Minefield nightly 3.0b3pre 2008010705 Windows XP</h2>
551<p>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b3pre) Gecko/2008010705 Minefield/3.0b3pre</p>
552<h2>Results</h2>
553<table><thead><tr><th>Element</th><th>Mechanism</th><th>Value</th></tr></thead><tbody>
554<tr><td>div with no tabindex</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
555<tr><td>div with no tabindex</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
556<tr><td>div with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
557<tr><td>div with no tabindex</td><td>elem.tabIndex</td><td>-1</td></tr>
558<tr><td>div with no tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
559<tr><td>div with no tabindex</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
560<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
561<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
562<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
563<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
564<tr><td>div with tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
565<tr><td>div with tabindex="1"</td><td>elem.tabIndex</td><td>1</td></tr>
566<tr><td>div with tabindex="1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
567<tr><td>div with tabindex="1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
568<tr><td>div with tabindex="1"</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
569<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
570<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
571<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
572<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>-1</td></tr>
573<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
574<tr><td>div with tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
575<tr><td>div with tabindex="-1"</td><td>elem.tabIndex</td><td>-1</td></tr>
576<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>-1</td></tr>
577<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
578<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
579<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>-1</td></tr>
580<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
581<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
582<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
583<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
584<tr><td>div with tabindex removed</td><td>elem.tabindex</td><td>undefined</td></tr>
585<tr><td>div with tabindex removed</td><td>elem.tabIndex</td><td>1</td></tr>
586<tr><td>div with tabindex removed</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
587<tr><td>div with tabindex removed</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
588<tr><td>div with tabindex removed</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
589<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
590<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
591<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
592<tr><td>input with no tabindex</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
593<tr><td>input with no tabindex</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
594<tr><td>input with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
595<tr><td>input with no tabindex</td><td>elem.tabIndex</td><td>0</td></tr>
596<tr><td>input with no tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
597<tr><td>input with no tabindex</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
598<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
599<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
600<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
601<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
602<tr><td>input with tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
603<tr><td>input with tabindex="1"</td><td>elem.tabIndex</td><td>1</td></tr>
604<tr><td>input with tabindex="1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
605<tr><td>input with tabindex="1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
606<tr><td>input with tabindex="1"</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
607<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
608<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
609<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
610<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>-1</td></tr>
611<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
612<tr><td>input with tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
613<tr><td>input with tabindex="-1"</td><td>elem.tabIndex</td><td>-1</td></tr>
614<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>-1</td></tr>
615<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
616<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
617<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>-1</td></tr>
618<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
619<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
620<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
621<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
622<tr><td>input with tabindex removed</td><td>elem.tabindex</td><td>undefined</td></tr>
623<tr><td>input with tabindex removed</td><td>elem.tabIndex</td><td>1</td></tr>
624<tr><td>input with tabindex removed</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
625<tr><td>input with tabindex removed</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
626<tr><td>input with tabindex removed</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
627<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
628<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
629<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
630</tbody></table>
631
632<h2>HTML Safari 3.0.4 Mac OS X 10.5.1</h2>
633<p>Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.10.3
634(KHTML, like Gecko) Version/3.0.4 Safari/523.10</p>
635<h2>Results</h2>
636<table><thead><tr><th>Element</th><th>Mechanism</th><th>Value</th></tr></thead><tbody>
637<tr><td>div with no
638tabindex</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
639<tr><td>div with no
640tabindex</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
641<tr><td>div with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
642<tr><td>div with no tabindex</td><td>elem.tabIndex</td><td>undefined</td></tr>
643<tr><td>div with no
644tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
645<tr><td>div with no
646tabindex</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
647<tr><td>div with no
648tabindex</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
649<tr><td>div with no
650tabindex</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
651<tr><td>div with
652tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
653<tr><td>div with
654tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>1</td></tr>
655<tr><td>div with tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
656<tr><td>div with tabindex="1"</td><td>elem.tabIndex</td><td>undefined</td></tr>
657<tr><td>div with
658tabindex="1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
659<tr><td>div with
660tabindex="1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
661<tr><td>div with
662tabindex="1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>1</td></tr>
663<tr><td>div with
664tabindex="1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
665<tr><td>div with
666tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
667<tr><td>div with
668tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
669<tr><td>div with
670tabindex="1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>1</td></tr>
671<tr><td>div with
672tabindex="1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
673<tr><td>div with
674tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>-1</td></tr>
675<tr><td>div with
676tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>-1</td></tr>
677<tr><td>div with tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
678<tr><td>div with tabindex="-1"</td><td>elem.tabIndex</td><td>undefined</td></tr>
679<tr><td>div with
680tabindex="-1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>-1</td></tr>
681<tr><td>div with
682tabindex="-1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
683<tr><td>div with
684tabindex="-1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>-1</td></tr>
685<tr><td>div with
686tabindex="-1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
687<tr><td>div with
688tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>-1</td></tr>
689<tr><td>div with
690tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
691<tr><td>div with
692tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>-1</td></tr>
693<tr><td>div with
694tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
695<tr><td>div with tabindex
696removed</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
697<tr><td>div with tabindex
698removed</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
699<tr><td>div with tabindex
700removed</td><td>elem.tabindex</td><td>undefined</td></tr>
701<tr><td>div with tabindex
702removed</td><td>elem.tabIndex</td><td>undefined</td></tr>
703<tr><td>div with tabindex
704removed</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
705<tr><td>div with tabindex
706removed</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
707<tr><td>div with tabindex
708removed</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
709<tr><td>div with tabindex
710removed</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
711<tr><td>input with no
712tabindex</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
713<tr><td>input with no
714tabindex</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
715<tr><td>input with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
716<tr><td>input with no tabindex</td><td>elem.tabIndex</td><td>0</td></tr>
717<tr><td>input with no
718tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
719<tr><td>input with no
720tabindex</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
721<tr><td>input with no
722tabindex</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
723<tr><td>input with no
724tabindex</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
725<tr><td>input with
726tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
727<tr><td>input with
728tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>1</td></tr>
729<tr><td>input with
730tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
731<tr><td>input with tabindex="1"</td><td>elem.tabIndex</td><td>1</td></tr>
732<tr><td>input with
733tabindex="1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
734<tr><td>input with
735tabindex="1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
736<tr><td>input with
737tabindex="1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>1</td></tr>
738<tr><td>input with
739tabindex="1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
740<tr><td>input with
741tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
742<tr><td>input with
743tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
744<tr><td>input with
745tabindex="1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>1</td></tr>
746<tr><td>input with
747tabindex="1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
748<tr><td>input with
749tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>-1</td></tr>
750<tr><td>input with
751tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>-1</td></tr>
752<tr><td>input with
753tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
754<tr><td>input with tabindex="-1"</td><td>elem.tabIndex</td><td>-1</td></tr>
755<tr><td>input with
756tabindex="-1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>-1</td></tr>
757<tr><td>input with
758tabindex="-1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
759<tr><td>input with
760tabindex="-1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>-1</td></tr>
761<tr><td>input with
762tabindex="-1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
763<tr><td>input with
764tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>-1</td></tr>
765<tr><td>input with
766tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
767<tr><td>input with
768tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>-1</td></tr>
769<tr><td>input with
770tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
771<tr><td>input with tabindex
772removed</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
773<tr><td>input with tabindex
774removed</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
775<tr><td>input with tabindex
776removed</td><td>elem.tabindex</td><td>undefined</td></tr>
777<tr><td>input with tabindex removed</td><td>elem.tabIndex</td><td>1</td></tr>
778<tr><td>input with tabindex
779removed</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
780<tr><td>input with tabindex
781removed</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
782<tr><td>input with tabindex
783removed</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
784<tr><td>input with tabindex
785removed</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
786</tbody></table>
787
788<h2>XHTML Safari 3.0.4 Mac OS X 10.5.1</h2>
789<p>Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/523.10.3
790(KHTML, like Gecko) Version/3.0.4 Safari/523.10</p>
791<h2>Results</h2>
792<table><thead><tr><th>Element</th><th>Mechanism</th><th>Value</th></tr></thead><tbody>
793<tr><td>div with no
794tabindex</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
795<tr><td>div with no
796tabindex</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
797<tr><td>div with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
798<tr><td>div with no tabindex</td><td>elem.tabIndex</td><td>undefined</td></tr>
799<tr><td>div with no
800tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
801<tr><td>div with no
802tabindex</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
803<tr><td>div with no
804tabindex</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
805<tr><td>div with no
806tabindex</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
807<tr><td>div with
808tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
809<tr><td>div with
810tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
811<tr><td>div with tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
812<tr><td>div with tabindex="1"</td><td>elem.tabIndex</td><td>undefined</td></tr>
813<tr><td>div with
814tabindex="1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
815<tr><td>div with
816tabindex="1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
817<tr><td>div with
818tabindex="1"</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
819<tr><td>div with
820tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
821<tr><td>div with
822tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
823<tr><td>div with
824tabindex="1"</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
825<tr><td>div with
826tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>-1</td></tr>
827<tr><td>div with
828tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
829<tr><td>div with tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
830<tr><td>div with tabindex="-1"</td><td>elem.tabIndex</td><td>undefined</td></tr>
831<tr><td>div with
832tabindex="-1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>-1</td></tr>
833<tr><td>div with
834tabindex="-1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
835<tr><td>div with
836tabindex="-1"</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
837<tr><td>div with
838tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>-1</td></tr>
839<tr><td>div with
840tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
841<tr><td>div with
842tabindex="-1"</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
843<tr><td>div with tabindex
844removed</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
845<tr><td>div with tabindex
846removed</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
847<tr><td>div with tabindex
848removed</td><td>elem.tabindex</td><td>undefined</td></tr>
849<tr><td>div with tabindex
850removed</td><td>elem.tabIndex</td><td>undefined</td></tr>
851<tr><td>div with tabindex
852removed</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
853<tr><td>div with tabindex
854removed</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
855<tr><td>div with tabindex
856removed</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
857<tr><td>div with tabindex
858removed</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
859<tr><td>div with tabindex
860removed</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
861<tr><td>div with tabindex
862removed</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
863<tr><td>input with no
864tabindex</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
865<tr><td>input with no
866tabindex</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
867<tr><td>input with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
868<tr><td>input with no tabindex</td><td>elem.tabIndex</td><td>0</td></tr>
869<tr><td>input with no
870tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
871<tr><td>input with no
872tabindex</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
873<tr><td>input with no
874tabindex</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
875<tr><td>input with no
876tabindex</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
877<tr><td>input with
878tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
879<tr><td>input with
880tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
881<tr><td>input with
882tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
883<tr><td>input with tabindex="1"</td><td>elem.tabIndex</td><td>1</td></tr>
884<tr><td>input with
885tabindex="1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
886<tr><td>input with
887tabindex="1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
888<tr><td>input with
889tabindex="1"</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
890<tr><td>input with
891tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
892<tr><td>input with
893tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
894<tr><td>input with
895tabindex="1"</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
896<tr><td>input with
897tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>-1</td></tr>
898<tr><td>input with
899tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
900<tr><td>input with
901tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
902<tr><td>input with tabindex="-1"</td><td>elem.tabIndex</td><td>-1</td></tr>
903<tr><td>input with
904tabindex="-1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>-1</td></tr>
905<tr><td>input with
906tabindex="-1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
907<tr><td>input with
908tabindex="-1"</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
909<tr><td>input with
910tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>-1</td></tr>
911<tr><td>input with
912tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
913<tr><td>input with
914tabindex="-1"</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
915<tr><td>input with tabindex
916removed</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
917<tr><td>input with tabindex
918removed</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
919<tr><td>input with tabindex
920removed</td><td>elem.tabindex</td><td>undefined</td></tr>
921<tr><td>input with tabindex removed</td><td>elem.tabIndex</td><td>1</td></tr>
922<tr><td>input with tabindex
923removed</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
924<tr><td>input with tabindex
925removed</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
926<tr><td>input with tabindex
927removed</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
928<tr><td>input with tabindex
929removed</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
930<tr><td>input with tabindex
931removed</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
932<tr><td>input with tabindex
933removed</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
934</tbody></table>
935
936<h2>HTML Opera 9.25 Windows XP</h2>
937<p>Opera/9.25 (Windows NT 5.1; U; en)</p>
938<h2>Results</h2>
939<table><thead><tr><th>Element</th><th>Mechanism</th><th>Value</th></tr></thead><tbody>
940<tr><td>div with no tabindex</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
941<tr><td>div with no tabindex</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
942<tr><td>div with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
943<tr><td>div with no tabindex</td><td>elem.tabIndex</td><td>undefined</td></tr>
944<tr><td>div with no tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
945<tr><td>div with no tabindex</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
946<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
947<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
948<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
949<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>1</td></tr>
950<tr><td>div with tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
951<tr><td>div with tabindex="1"</td><td>elem.tabIndex</td><td>undefined</td></tr>
952<tr><td>div with tabindex="1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
953<tr><td>div with tabindex="1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
954<tr><td>div with tabindex="1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>1</td></tr>
955<tr><td>div with tabindex="1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
956<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
957<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
958<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>1</td></tr>
959<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
960<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>0</td></tr>
961<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>0</td></tr>
962<tr><td>div with tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
963<tr><td>div with tabindex="-1"</td><td>elem.tabIndex</td><td>undefined</td></tr>
964<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>0</td></tr>
965<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
966<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>0</td></tr>
967<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
968<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>0</td></tr>
969<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
970<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>0</td></tr>
971<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
972<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
973<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
974<tr><td>div with tabindex removed</td><td>elem.tabindex</td><td>undefined</td></tr>
975<tr><td>div with tabindex removed</td><td>elem.tabIndex</td><td>undefined</td></tr>
976<tr><td>div with tabindex removed</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
977<tr><td>div with tabindex removed</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
978<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
979<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
980<tr><td>input with no tabindex</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
981<tr><td>input with no tabindex</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
982<tr><td>input with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
983<tr><td>input with no tabindex</td><td>elem.tabIndex</td><td>0</td></tr>
984<tr><td>input with no tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
985<tr><td>input with no tabindex</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
986<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
987<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
988<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
989<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>1</td></tr>
990<tr><td>input with tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
991<tr><td>input with tabindex="1"</td><td>elem.tabIndex</td><td>1</td></tr>
992<tr><td>input with tabindex="1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
993<tr><td>input with tabindex="1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
994<tr><td>input with tabindex="1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>1</td></tr>
995<tr><td>input with tabindex="1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
996<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
997<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
998<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>1</td></tr>
999<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
1000<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>0</td></tr>
1001<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>0</td></tr>
1002<tr><td>input with tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
1003<tr><td>input with tabindex="-1"</td><td>elem.tabIndex</td><td>0</td></tr>
1004<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>0</td></tr>
1005<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
1006<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabIndex"].nodeValue</td><td>0</td></tr>
1007<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabIndex"].specified</td><td>true</td></tr>
1008<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>0</td></tr>
1009<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
1010<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").nodeValue</td><td>0</td></tr>
1011<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex").specified</td><td>true</td></tr>
1012<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
1013<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
1014<tr><td>input with tabindex removed</td><td>elem.tabindex</td><td>undefined</td></tr>
1015<tr><td>input with tabindex removed</td><td>elem.tabIndex</td><td>0</td></tr>
1016<tr><td>input with tabindex removed</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
1017<tr><td>input with tabindex removed</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
1018<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
1019<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
1020</tbody></table>
1021
1022<h2>XHTML Opera 9.25 Windows XP</h2>
1023<p>Opera/9.25 (Windows NT 5.1; U; en)</p>
1024<h2>Results</h2>
1025<table><thead><tr><th>Element</th><th>Mechanism</th><th>Value</th></tr></thead><tbody>
1026<tr><td>div with no tabindex</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
1027<tr><td>div with no tabindex</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
1028<tr><td>div with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
1029<tr><td>div with no tabindex</td><td>elem.tabIndex</td><td>undefined</td></tr>
1030<tr><td>div with no tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
1031<tr><td>div with no tabindex</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
1032<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
1033<tr><td>div with no tabindex</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
1034<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
1035<tr><td>div with tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
1036<tr><td>div with tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
1037<tr><td>div with tabindex="1"</td><td>elem.tabIndex</td><td>undefined</td></tr>
1038<tr><td>div with tabindex="1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
1039<tr><td>div with tabindex="1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
1040<tr><td>div with tabindex="1"</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
1041<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
1042<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
1043<tr><td>div with tabindex="1"</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
1044<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>0</td></tr>
1045<tr><td>div with tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
1046<tr><td>div with tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
1047<tr><td>div with tabindex="-1"</td><td>elem.tabIndex</td><td>undefined</td></tr>
1048<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>0</td></tr>
1049<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
1050<tr><td>div with tabindex="-1"</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
1051<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>0</td></tr>
1052<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
1053<tr><td>div with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
1054<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
1055<tr><td>div with tabindex removed</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
1056<tr><td>div with tabindex removed</td><td>elem.tabindex</td><td>undefined</td></tr>
1057<tr><td>div with tabindex removed</td><td>elem.tabIndex</td><td>undefined</td></tr>
1058<tr><td>div with tabindex removed</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
1059<tr><td>div with tabindex removed</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
1060<tr><td>div with tabindex removed</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
1061<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
1062<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
1063<tr><td>div with tabindex removed</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
1064<tr><td>input with no tabindex</td><td>elem.getAttribute("tabindex")</td><td>null</td></tr>
1065<tr><td>input with no tabindex</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
1066<tr><td>input with no tabindex</td><td>elem.tabindex</td><td>undefined</td></tr>
1067<tr><td>input with no tabindex</td><td>elem.tabIndex</td><td>0</td></tr>
1068<tr><td>input with no tabindex</td><td>elem.attributes["tabindex"]</td><td>undefined</td></tr>
1069<tr><td>input with no tabindex</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
1070<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabindex")</td><td>null</td></tr>
1071<tr><td>input with no tabindex</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
1072<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
1073<tr><td>input with tabindex="1"</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
1074<tr><td>input with tabindex="1"</td><td>elem.tabindex</td><td>undefined</td></tr>
1075<tr><td>input with tabindex="1"</td><td>elem.tabIndex</td><td>1</td></tr>
1076<tr><td>input with tabindex="1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
1077<tr><td>input with tabindex="1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
1078<tr><td>input with tabindex="1"</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
1079<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
1080<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
1081<tr><td>input with tabindex="1"</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
1082<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabindex")</td><td>0</td></tr>
1083<tr><td>input with tabindex="-1"</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
1084<tr><td>input with tabindex="-1"</td><td>elem.tabindex</td><td>undefined</td></tr>
1085<tr><td>input with tabindex="-1"</td><td>elem.tabIndex</td><td>0</td></tr>
1086<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabindex"].nodeValue</td><td>0</td></tr>
1087<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
1088<tr><td>input with tabindex="-1"</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
1089<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>0</td></tr>
1090<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
1091<tr><td>input with tabindex="-1"</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
1092<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabindex")</td><td>1</td></tr>
1093<tr><td>input with tabindex removed</td><td>elem.getAttribute("tabIndex")</td><td>null</td></tr>
1094<tr><td>input with tabindex removed</td><td>elem.tabindex</td><td>undefined</td></tr>
1095<tr><td>input with tabindex removed</td><td>elem.tabIndex</td><td>1</td></tr>
1096<tr><td>input with tabindex removed</td><td>elem.attributes["tabindex"].nodeValue</td><td>1</td></tr>
1097<tr><td>input with tabindex removed</td><td>elem.attributes["tabindex"].specified</td><td>true</td></tr>
1098<tr><td>input with tabindex removed</td><td>elem.attributes["tabIndex"]</td><td>undefined</td></tr>
1099<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabindex").nodeValue</td><td>1</td></tr>
1100<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabindex").specified</td><td>true</td></tr>
1101<tr><td>input with tabindex removed</td><td>elem.getAttributeNode("tabIndex")</td><td>null</td></tr>
1102</tbody></table>
1103
1104
1105<!--
1106<h2>User agent</h2>
1107<p></p>
1108<h2>Results</h2>
1109-->
1110
1111</body>
1112
1113</html>
Note: See TracBrowser for help on using the browser.