76 lines
2.9 KiB
HTML
76 lines
2.9 KiB
HTML
<script>
|
|
if (window.testRunner)
|
|
testRunner.waitUntilDone();
|
|
|
|
var p1Focused = false;
|
|
var p2Focused = false;
|
|
var p3Focused = false;
|
|
var p4Focused = false;
|
|
var p5Focused = false;
|
|
var p6Focused = false;
|
|
var p7Focused = false;
|
|
|
|
function test(focusHappened, focusWasExpected, spanNum)
|
|
{
|
|
var tabindexSpan = document.getElementById("sp"+spanNum);
|
|
var resultSpan = document.createElement("span");
|
|
if (focusHappened == focusWasExpected) {
|
|
resultSpan.setAttribute("style","color:green");
|
|
resultSpan.innerHTML = "PASSED";
|
|
} else {
|
|
resultSpan.setAttribute("style","color:red");
|
|
resultSpan.innerHTML = "FAILED";
|
|
}
|
|
tabindexSpan.parentNode.insertBefore(resultSpan, tabindexSpan.parentNode.firstChild.nextSibling);
|
|
tabindexSpan.innerHTML = ".tabIndex=" + tabindexSpan.parentNode.tabIndex + " getAttribute('tabindex')='" + tabindexSpan.parentNode.getAttribute('tabindex')+"'";
|
|
}
|
|
|
|
function autoTest()
|
|
{
|
|
if (!window.testRunner)
|
|
return;
|
|
|
|
var allParagraphs = document.getElementsByTagName("p");
|
|
for(var i=0; i < allParagraphs.length; ++i) {
|
|
eventSender.mouseMoveTo(allParagraphs[i].offsetLeft+5,allParagraphs[i].offsetTop+5);
|
|
eventSender.mouseDown();
|
|
eventSender.mouseUp();
|
|
}
|
|
testRunner.dumpAsText();
|
|
testRunner.notifyDone();
|
|
}
|
|
|
|
</script>
|
|
|
|
<body onload="autoTest()">
|
|
From HTML5 spec:<blockquote>
|
|
The tabindex attribute, if specified, must have a value that is a valid
|
|
integer. If the attribute is specified, it must be parsed using the rules
|
|
for parsing integers. If parsing the value returns an error, the attribute
|
|
is ignored for the purposes of focus management (as if it wasn't specified).
|
|
</blockquote>
|
|
|
|
<p tabindex=" 10" onfocus="p1Focused=true" onclick="test(p1Focused,true,1)">This element should be focusable <br>
|
|
<span id="sp1">Click to test manually</span>
|
|
</p>
|
|
<p tabindex="one" onfocus="p2Focused=true" onclick="test(p2Focused,false,2)">This element shouldn't be focusable <br>
|
|
<span id="sp2">Click to test manually</span>
|
|
</p>
|
|
<p tabindex="007" onfocus="p3Focused=true" onclick="test(p3Focused,true,3)">This element should be focusable <br>
|
|
<span id="sp3">Click to test manually</span>
|
|
</p>
|
|
<p tabindex="1px" onfocus="p4Focused=true" onclick="test(p4Focused,true,4)">This element should be focusable <br>
|
|
<span id="sp4">Click to test manually</span>
|
|
</p>
|
|
<p tabindex="-0" onfocus="p5Focused=true" onclick="test(p5Focused,true,5)">This element should be focusable <br>
|
|
<span id="sp5">Click to test manually</span>
|
|
</p>
|
|
<p tabindex="" onfocus="p6Focused=true" onclick="test(p6Focused,false,6)">This element shouldn't be focusable <br>
|
|
<span id="sp6">Click to test manually</span>
|
|
</p>
|
|
<p tabindex="-004" onfocus="p7Focused=true" onclick="test(p7Focused,true,7)">This element should be focusable <br>
|
|
<span id="sp7">Click to test manually</span>
|
|
</p>
|
|
<pre id="result"></pre>
|
|
</body>
|