| <!DOCTYPE html> |
| <meta charset=utf-8> |
| <title>Disabled elements</title> |
| <link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org"> |
| <link rel=help href="https://html.spec.whatwg.org/multipage/#disabled-elements"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <div id="log"></div> |
| <button disabled>button</button> |
| <input disabled> |
| <select disabled> |
| <optgroup label="options" disabled> |
| <option value="option1" disabled>option1 |
| <option value="option2">option2 |
| </select> |
| <textarea disabled>textarea</textarea> |
| <fieldset disabled> |
| <input type=radio name=c value=0 checked> |
| <input type=radio name=c value=1> |
| </fieldset> |
| <a href="http://www.w3.org/" disabled>w3</a> |
| <span tabindex=0 disabled>foobar</span> |
| |
| <script> |
| test(function(){ |
| assert_equals(document.activeElement, document.body); |
| }, "The body element must be the active element if no element is focused"); |
| |
| ["button", "input", "select", "optgroup", "option", "textarea", "input[type=radio]"].forEach(function(el) { |
| test(function() { |
| var element = document.querySelector(el); |
| element.focus(); |
| assert_equals(document.activeElement, document.body, "activeElement after focus on a disabled <" + el + "> remains unchanged"); |
| }, "A disabled <" + el + "> should not be focusable"); |
| }); |
| |
| ["a", "span"].forEach(function(el) { |
| test(function() { |
| var element = document.querySelector(el); |
| element.focus(); |
| assert_equals(document.activeElement, element, "focus on a <" + el + "> with a disabled attribute should make it the activeElement"); |
| }, "A disabled <" + el + "> should be focusable"); |
| }); |
| </script> |