mirror of
https://github.com/servo/servo.git
synced 2025-10-03 18:19:14 +01:00
62 lines
1.8 KiB
HTML
62 lines
1.8 KiB
HTML
<!DOCTYPE html>
|
|
<link rel="help" href="https://html.spec.whatwg.org/multipage/interaction.html#specially-focusable">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<body>
|
|
<div id="default-samples">
|
|
<a></a>
|
|
<a href=""></a>
|
|
<button></button>
|
|
<input type="hidden">
|
|
<input type="button">
|
|
<select><option>abc</option></select>
|
|
<textarea></textarea>
|
|
<summary id="summary-out"></summary>
|
|
<details open><summary id="summary-first"></summary><summary id="summary-second"></summary></details>
|
|
<div contenteditable="true"></div>
|
|
<iframe></iframe>
|
|
</div>
|
|
<script>
|
|
const defaultList = [
|
|
['a', false],
|
|
['a[href]', true],
|
|
['button', true],
|
|
['input[type="hidden"]', false],
|
|
['input[type="button"]', true],
|
|
['select', true],
|
|
['textarea', true],
|
|
['#summary-out', false],
|
|
['#summary-first', true],
|
|
['#summary-second', false],
|
|
['[contenteditable]', true],
|
|
['iframe', true],
|
|
];
|
|
for (entry of defaultList) {
|
|
test(() => {
|
|
var element = document.querySelector('#default-samples ' + entry[0]);
|
|
element.focus();
|
|
if (entry[1])
|
|
assert_equals(document.activeElement, element);
|
|
else
|
|
assert_not_equals(document.activeElement, element);
|
|
}, entry[0] + ' should ' + (entry[1] ? '' : 'not ') + 'be focusable by default.');
|
|
}
|
|
</script>
|
|
|
|
<div id="tabindex-0">
|
|
<a tabindex="0"></a>
|
|
<summary tabindex="0" id="summary-out-tabindex0"></summary>
|
|
<details open><summary id="summary-first"></summary><summary tabindex="0" id="summary-second-tabindex0"></summary></details>
|
|
</div>
|
|
<script>
|
|
for (element of document.querySelectorAll('#tabindex-0 [tabindex]')) {
|
|
var elementDesc = element.tagName;
|
|
if (element.id)
|
|
elementDesc += '#' + element.id;
|
|
test(() => {
|
|
element.focus();
|
|
assert_equals(document.activeElement, element);
|
|
}, elementDesc + ' with tabindex=0 should be focusable.');
|
|
}
|
|
</script>
|
|
</body>
|