diff options
Diffstat (limited to 'testing/web-platform/tests/custom-elements/form-associated/focusability.html')
-rw-r--r-- | testing/web-platform/tests/custom-elements/form-associated/focusability.html | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/testing/web-platform/tests/custom-elements/form-associated/focusability.html b/testing/web-platform/tests/custom-elements/form-associated/focusability.html new file mode 100644 index 0000000000..cc12b7d51b --- /dev/null +++ b/testing/web-platform/tests/custom-elements/form-associated/focusability.html @@ -0,0 +1,43 @@ +<!DOCTYPE html> +<title>Focusability of form-associated custom elements</title> +<link rel="author" title="Michael[tm] Smith" href="mailto:mike@w3.org"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<x-foo></x-foo> +<x-bar tabindex=0></x-bar> +<x-baz tabindex=0 disabled></x-baz> +<script> + test(() => { + customElements.define( + 'x-foo', + class Foo extends HTMLElement { + static formAssociated = true; + } + ); + const foo = document.querySelector('x-foo'); + foo.focus(); + assert_false(document.activeElement === foo, + "FACE without tabindex is not focusable."); + customElements.define( + 'x-bar', + class bar extends HTMLElement { + static formAssociated = true; + } + ); + const bar = document.querySelector('x-bar'); + bar.focus(); + assert_true(document.activeElement === bar, + "FACE with tabindex is focusable."); + customElements.define( + 'x-baz', + class baz extends HTMLElement { + static formAssociated = true; + } + ); + const baz = document.querySelector('x-baz'); + baz.focus(); + assert_false(document.activeElement === baz, + "Disabled FACE with tabindex is not focusable."); + }); +</script> +</html> |