diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/html/semantics/interactive-elements/commands | |
parent | Initial commit. (diff) | |
download | firefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/html/semantics/interactive-elements/commands')
9 files changed, 155 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/interactive-elements/commands/common/accesskey.js b/testing/web-platform/tests/html/semantics/interactive-elements/commands/common/accesskey.js new file mode 100644 index 0000000000..f08761be8c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/interactive-elements/commands/common/accesskey.js @@ -0,0 +1,36 @@ +setup({explicit_done: true, explicit_timeout: true}); + +const NOTRUN = 3; +let status = NOTRUN; +function notrun() { + return status === NOTRUN; +} +add_completion_callback(tests => { + status = tests[0].status; +}); + +function pass() { + // Wait a couple of frames in case fail() is also called. + requestAnimationFrame(() => { + requestAnimationFrame(() => { + if (notrun()) { + test(() => {}); + done(); + } + }); + }); +} + +function fail(msg) { + if (notrun()) { + test(() => { assert_unreached(msg); }); + done(); + } +} + +document.addEventListener('DOMContentLoaded', () => { + const accessKeyElement = document.querySelector('[accesskey]'); + if (accessKeyElement.accessKeyLabel) { + document.querySelector('kbd').textContent = accessKeyElement.accessKeyLabel; + } +}); diff --git a/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/first-input-after-legend-manual.html b/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/first-input-after-legend-manual.html new file mode 100644 index 0000000000..521b4bb975 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/first-input-after-legend-manual.html @@ -0,0 +1,10 @@ +<!doctype html> +<title>First input after the legend</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=../common/accesskey.js></script> +<p>Press the access key combination for "a". <kbd></kbd></p> +<fieldset> + <legend accesskey=a>legend</legend> + <input onfocus="pass()"> +</fieldset> diff --git a/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/first-input-before-legend-manual.html b/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/first-input-before-legend-manual.html new file mode 100644 index 0000000000..1c40cc7b81 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/first-input-before-legend-manual.html @@ -0,0 +1,13 @@ +<!doctype html> +<title>First input before the legend</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=../common/accesskey.js></script> +<p>Press the access key combination for "a". <kbd></kbd></p> +<fieldset> + <input onfocus="pass()"> + <legend accesskey=a>legend + <input onfocus="fail('input in legend was focused')"> + </legend> + <input onfocus="fail('input after legend was focused')"> +</fieldset> diff --git a/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/first-input-inside-legend-manual.html b/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/first-input-inside-legend-manual.html new file mode 100644 index 0000000000..abd3a3b2df --- /dev/null +++ b/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/first-input-inside-legend-manual.html @@ -0,0 +1,12 @@ +<!doctype html> +<title>First input inside the legend</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=../common/accesskey.js></script> +<p>Press the access key combination for "a". <kbd></kbd></p> +<fieldset> + <legend accesskey=a>legend + <input onfocus="pass()"> + </legend> + <input onfocus="fail('input after legend was focused')"> +</fieldset> diff --git a/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/focusable-legend-manual.html b/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/focusable-legend-manual.html new file mode 100644 index 0000000000..e2880a77bf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/focusable-legend-manual.html @@ -0,0 +1,14 @@ +<!doctype html> +<title>Focusable legend</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=../common/accesskey.js></script> +<p>Press the access key combination for "a". <kbd></kbd></p> +<fieldset> + <legend tabindex=0 onclick="fail('unexpected click event on legend')" + onfocus="fail('legend was focused')" accesskey=a> + legend + <input onfocus="pass()"> + </legend> + <input onfocus="fail('input after legend was focused')"> +</fieldset> diff --git a/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/focusable-legend-sibling-manual.html b/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/focusable-legend-sibling-manual.html new file mode 100644 index 0000000000..49dcaaf7d5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/focusable-legend-sibling-manual.html @@ -0,0 +1,17 @@ +<!doctype html> +<title>Focusable legend sibling</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=../common/accesskey.js></script> +<p>Press the access key combination for "a". <kbd></kbd></p> +<fieldset> + <legend accesskey=a>first legend</legend> + <legend tabindex=0 onfocus="fail('sibling legend was focused')">second legend</legend> +</fieldset> +<script> + onkeyup = e => { + if (e.keyCode === 65) { + pass(); + } + } +</script> diff --git a/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/input-outside-fieldset-manual.html b/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/input-outside-fieldset-manual.html new file mode 100644 index 0000000000..dc6af48323 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/input-outside-fieldset-manual.html @@ -0,0 +1,17 @@ +<!doctype html> +<title>Input outside fieldset</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=../common/accesskey.js></script> +<p>Press the access key combination for "a". <kbd></kbd></p> +<fieldset> + <legend accesskey=a>legend</legend> +</fieldset> +<input onfocus="fail('input outside fieldset was focused')"> +<script> + onkeyup = e => { + if (e.keyCode === 65) { + pass(); + } + } +</script> diff --git a/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/label-sibling-manual.html b/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/label-sibling-manual.html new file mode 100644 index 0000000000..8a7b20565f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/label-sibling-manual.html @@ -0,0 +1,18 @@ +<!doctype html> +<title>Label sibling</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=../common/accesskey.js></script> +<p>Press the access key combination for "a". <kbd></kbd></p> +<input id=x onfocus="fail('input associated with the label was focused')"> +<fieldset> + <legend accesskey=a>legend</legend> + <label for=x onclick="fail('label received a click event')">label</label> +</fieldset> +<script> + onkeyup = e => { + if (e.keyCode === 65) { + pass(); + } + } +</script> diff --git a/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/no-fieldset-parent-manual.html b/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/no-fieldset-parent-manual.html new file mode 100644 index 0000000000..e7abb71454 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/interactive-elements/commands/legend/no-fieldset-parent-manual.html @@ -0,0 +1,18 @@ +<!doctype html> +<title>No fieldset parent</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=../common/accesskey.js></script> +<p>Press the access key combination for "a". <kbd></kbd></p> +<legend accesskey=a> + legend + <input onfocus="fail('input in legend was focused')"> +</legend> +<input onfocus="fail('input after legend was focused')"> +<script> + onkeyup = e => { + if (e.keyCode === 65) { + pass(); + } + } +</script> |