<!DOCTYPE HTML><!-- webkit-test-runner [ enableKeygenElement=true ] -->
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<div id="container">
<!-- Focusable elements -->
<a id="anchor" href="tabindex-defaults.html">anchor</a>
<iframe id="iframe"></iframe>
<object id="object"></object>
<button id="button">button</button>
<input id="input">
<select id="select"></select>
<textarea id="textarea"></textarea>
<keygen id="keygen"></keygen>
<div id="editableDiv" contenteditable="true"></div>
<details><summary id="activeSummary"></summary></details>

<!-- Unfocusable element -->
<div id="normalDiv"></div>
<output id="output"></output>
<fieldset id="fieldset"></fieldset>
<video id="video"></video>
<video id="videoWithControls" controls></video>
<details><summary></summary><summary id="summary"></summary></details>
<iframe id="iframeForDesignMode"></iframe>
<svg><g id="g" onfocus="alert('fail')"></g></svg>
<math><mrow id="mrow" onfocus="alert('fail')"></mrow></math>
</div>

<script>
description('Default value of tabIndex IDL attribute');

var anchor = document.getElementById('anchor');
var iframe = document.getElementById('iframe');
iframe.contentDocument.open();
iframe.contentDocument.write('<!DOCTYPE><html><frameset cols="50%,50%"><frame></frame></frameset>');
var frame = iframe.contentDocument.querySelector('frame');
var object = document.getElementById('object');
var button = document.getElementById('button');
var input = document.getElementById('input');
var select = document.getElementById('select');
var textarea = document.getElementById('textarea');
var keygen = document.getElementById('keygen');
var editableDiv = document.getElementById('editableDiv');
var normalDiv = document.getElementById('normalDiv');
var output = document.getElementById('output');
var fieldset = document.getElementById('fieldset');
var video = document.getElementById('video');
var videoWithControls = document.getElementById('videoWithControls');
var summary = document.getElementById('summary');
var activeSummary = document.getElementById('activeSummary');
var iframeForDesignMode = document.getElementById('iframeForDesignMode');
iframeForDesignMode.contentDocument.designMode = 'on';
var bodyInDesignMode = iframeForDesignMode.contentDocument.body;
var g = document.getElementById('g');
var mrow = document.getElementById('mrow');

shouldBe('anchor.tabIndex', '0');
shouldBe('iframe.tabIndex', '0');
shouldBe('frame.tabIndex', '0');
shouldBe('object.tabIndex', '0');
shouldBe('button.tabIndex', '0');
shouldBe('input.tabIndex', '0');
shouldBe('select.tabIndex', '0');
shouldBe('textarea.tabIndex', '0');
shouldBe('keygen.tabIndex', '0');
shouldBe('activeSummary.tabIndex', '0');
shouldBe('editableDiv.tabIndex', '-1');
shouldBe('normalDiv.tabIndex', '-1');
shouldBe('output.tabIndex', '-1');
shouldBe('fieldset.tabIndex', '-1');
shouldBe('video.tabIndex', '-1');
shouldBe('videoWithControls.tabIndex', '-1');
shouldBe('summary.tabIndex', '-1');
shouldBe('bodyInDesignMode.tabIndex', '-1');
shouldBe('g.tabIndex', '-1');
shouldBe('mrow.tabIndex', '-1');

shouldBe('anchor.setAttribute("tabindex", "invalid"); anchor.tabIndex', '0');
shouldBe('iframe.setAttribute("tabindex", "invalid"); iframe.tabIndex', '0');
shouldBe('frame.setAttribute("tabindex", "invalid"); frame.tabIndex', '0');
shouldBe('object.setAttribute("tabindex", "invalid"); object.tabIndex', '0');
shouldBe('button.setAttribute("tabindex", "invalid"); button.tabIndex', '0');
shouldBe('input.setAttribute("tabindex", "invalid"); input.tabIndex', '0');
shouldBe('select.setAttribute("tabindex", "invalid"); select.tabIndex', '0');
shouldBe('textarea.setAttribute("tabindex", "invalid"); textarea.tabIndex', '0');
shouldBe('keygen.setAttribute("tabindex", "invalid"); keygen.tabIndex', '0');
shouldBe('activeSummary.setAttribute("tabindex", "invalid"); activeSummary.tabIndex', '0');
shouldBe('editableDiv.setAttribute("tabindex", "invalid"); editableDiv.tabIndex', '-1');
shouldBe('normalDiv.setAttribute("tabindex", "invalid"); normalDiv.tabIndex', '-1');
shouldBe('output.setAttribute("tabindex", "invalid"); output.tabIndex', '-1');
shouldBe('fieldset.setAttribute("tabindex", "invalid"); fieldset.tabIndex', '-1');
shouldBe('video.setAttribute("tabindex", "invalid"); video.tabIndex', '-1');
shouldBe('videoWithControls.setAttribute("tabindex", "invalid"); videoWithControls.tabIndex', '-1');
shouldBe('summary.setAttribute("tabindex", "invalid"); summary.tabIndex', '-1');
shouldBe('bodyInDesignMode.setAttribute("tabindex", "invalid"); bodyInDesignMode.tabIndex', '-1');
shouldBe('g.setAttribute("tabindex", "invalid"); g.tabIndex', '-1');
shouldBe('mrow.setAttribute("tabindex", "invalid"); mrow.tabIndex', '-1');

shouldBe('anchor.setAttribute("tabindex", "9999999999"); anchor.tabIndex', '0');
shouldBe('iframe.setAttribute("tabindex", "9999999999"); iframe.tabIndex', '0');
shouldBe('frame.setAttribute("tabindex", "9999999999"); frame.tabIndex', '0');
shouldBe('object.setAttribute("tabindex", "invalid"); object.tabIndex', '0');
shouldBe('button.setAttribute("tabindex", "9999999999"); button.tabIndex', '0');
shouldBe('input.setAttribute("tabindex", "9999999999"); input.tabIndex', '0');
shouldBe('select.setAttribute("tabindex", "9999999999"); select.tabIndex', '0');
shouldBe('textarea.setAttribute("tabindex", "9999999999"); textarea.tabIndex', '0');
shouldBe('keygen.setAttribute("tabindex", "9999999999"); keygen.tabIndex', '0');
shouldBe('activeSummary.setAttribute("tabindex", "9999999999"); activeSummary.tabIndex', '0');
shouldBe('editableDiv.setAttribute("tabindex", "9999999999"); editableDiv.tabIndex', '-1');
shouldBe('normalDiv.setAttribute("tabindex", "9999999999"); normalDiv.tabIndex', '-1');
shouldBe('output.setAttribute("tabindex", "9999999999"); output.tabIndex', '-1');
shouldBe('fieldset.setAttribute("tabindex", "9999999999"); fieldset.tabIndex', '-1');
shouldBe('video.setAttribute("tabindex", "9999999999"); video.tabIndex', '-1');
shouldBe('videoWithControls.setAttribute("tabindex", "9999999999"); videoWithControls.tabIndex', '-1');
shouldBe('summary.setAttribute("tabindex", "9999999999"); summary.tabIndex', '-1');
shouldBe('bodyInDesignMode.setAttribute("tabindex", "9999999999"); bodyInDesignMode.tabIndex', '-1');
shouldBe('g.setAttribute("tabindex", "9999999999"); g.tabIndex', '-1');
shouldBe('mrow.setAttribute("tabindex", "9999999999"); mrow.tabIndex', '-1');

document.getElementById('container').innerHTML = '';
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>
