| OLD | NEW |
| 1 <html> | 1 <html> |
| 2 <head> | 2 <head> |
| 3 <style> |
| 4 input { display: none; } |
| 5 </style> |
| 3 <script> | 6 <script> |
| 4 function log(msg) { | 7 function log(msg) { |
| 5 document.getElementById('log').appendChild(document.createTextNode(m
sg + '\n')); | 8 document.getElementById('log').appendChild(document.createTextNode(m
sg + '\n')); |
| 6 } | 9 } |
| 7 | 10 |
| 8 function logTabIndex(elem) { | 11 function logTabIndex(elem) { |
| 9 log('getAttribute("tabindex") = ' + elem.getAttribute('tabindex') +
'; tabIndex = ' + elem.tabIndex); | 12 log('getAttribute("tabindex") = ' + elem.getAttribute('tabindex') +
'; tabIndex = ' + elem.tabIndex); |
| 10 } | 13 } |
| 11 | 14 |
| 12 function test() { | 15 function test() { |
| 13 if (window.testRunner) { | 16 if (window.testRunner) { |
| 14 testRunner.dumpAsText(); | 17 testRunner.dumpAsText(); |
| 15 } | 18 } |
| 16 | 19 |
| 17 log('Testing input elements in the page'); | 20 log('Testing input elements in the page'); |
| 18 | 21 |
| 19 var inputs = document.getElementsByTagName('input'); | 22 var inputs = document.getElementsByTagName('input'); |
| 20 for (var i = 0; i < inputs.length; ++i) { | 23 for (var i = 0; i < inputs.length; ++i) { |
| 21 logTabIndex(inputs[i]); | 24 logTabIndex(inputs[i]); |
| 22 } | 25 } |
| 23 | 26 |
| 24 var indices = [40000, 32768, 32767, 32766, 0, -1, -32767, -32768, -4
0000]; | 27 var indices = [3147483648, 2147483648, 2147483647, 2147483646, 0, -1
, -2147483647, -2147483648, -3147483648, "", "foo"]; |
| 25 | 28 |
| 26 log('Testing setAttribute on an anchor element made with document.cr
eateElement'); | 29 log('Testing setAttribute on an anchor element made with document.cr
eateElement'); |
| 27 | 30 |
| 28 var elem = document.createElement('a'); | 31 var elem = document.createElement('a'); |
| 29 for (var i = 0; i < indices.length; ++i) { | 32 for (var i = 0; i < indices.length; ++i) { |
| 30 elem.setAttribute('tabindex', indices[i]); | 33 elem.setAttribute('tabindex', indices[i]); |
| 31 logTabIndex(elem); | 34 logTabIndex(elem); |
| 32 } | 35 } |
| 33 | 36 |
| 34 log('Testing tabIndex on an area element made with document.createEl
ement'); | 37 log('Testing tabIndex on an area element made with document.createEl
ement'); |
| 35 | 38 |
| 36 var elem = document.createElement('area'); | 39 var elem = document.createElement('area'); |
| 37 for (var i = 0; i < indices.length; ++i) { | 40 for (var i = 0; i < indices.length; ++i) { |
| 38 elem.tabIndex = indices[i]; | 41 elem.tabIndex = indices[i]; |
| 39 logTabIndex(elem); | 42 logTabIndex(elem); |
| 40 } | 43 } |
| 41 } | 44 } |
| 42 </script> | 45 </script> |
| 43 </head> | 46 </head> |
| 44 <body onload="test()"> | 47 <body onload="test()"> |
| 45 <p>This page tests that the <tt>tabindex</tt> attribute is clamped to | 48 <p>This page tests that the <tt>tabindex</tt> attribute is accepted for |
| 46 values between -32768 and 32767. Values outside of this range should be | 49 values between -2147483648 and 2147483647. Values outside of this range will |
| 47 clamped to the range limits.</p> | 50 make the tabIndex reflected value zero.</p> |
| 48 | 51 |
| 49 <input tabindex="40000"> | 52 <input tabindex="3147483648"> |
| 50 <input tabindex="32768"> | 53 <input tabindex="2147483648"> |
| 51 <input tabindex="32767"> | 54 <input tabindex="2147483647"> |
| 52 <input tabindex="32766"> | 55 <input tabindex="2147483646"> |
| 53 <input tabindex="0"> | 56 <input tabindex="0"> |
| 54 <input tabindex="-1"> | 57 <input tabindex="-1"> |
| 55 <input tabindex="-32767"> | 58 <input tabindex="-2147483647"> |
| 56 <input tabindex="-32768"> | 59 <input tabindex="-2147483648"> |
| 57 <input tabindex="-32769"> | 60 <input tabindex="-2147483649"> |
| 58 <input tabindex="-40000"> | 61 <input tabindex="-3147483648"> |
| 59 | 62 |
| 60 <pre id="log"></pre> | 63 <pre id="log"></pre> |
| 61 </body> | 64 </body> |
| 62 </html> | 65 </html> |
| OLD | NEW |