| <!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> |