| <!doctype html> |
| <meta charset="utf-8" /> |
| <meta name="author" title="Keith Cirkel" href="mailto:keithamus@github.com" /> |
| <meta name="author" title="Luke Warlow" href="mailto:lwarlow@igalia.com" /> |
| <link rel="help" href="https://open-ui.org/components/invokers.explainer/" /> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/testdriver.js"></script> |
| <script src="/resources/testdriver-actions.js"></script> |
| <script src="/resources/testdriver-vendor.js"></script> |
| <script src="resources/invoker-utils.js"></script> |
| |
| <div id="interestee"></div> |
| <map id="map"> |
| <area href="/" shape="default" id="interestarea" interesttarget="interestee"> |
| </map> |
| <img src="/images/blue.png" usemap="#map"> |
| <button id="otherbutton">Other Button</button> |
| |
| <script> |
| promise_test(async function (t) { |
| t.add_cleanup(() => otherbutton.focus()); |
| let event = null; |
| interestee.addEventListener("interest", (e) => (event = e), { once: true }); |
| interestarea.focus(); |
| assert_true(event instanceof InterestEvent, "event is InterestEvent"); |
| assert_equals(event.type, "interest", "type"); |
| assert_equals(event.bubbles, false, "bubbles"); |
| assert_equals(event.composed, true, "composed"); |
| assert_equals(event.isTrusted, true, "isTrusted"); |
| assert_equals(event.action, "", "action"); |
| assert_equals(event.target, interestee, "target"); |
| assert_equals(event.invoker, interestarea, "invoker"); |
| }, "InterestEvent dispatches on area focus"); |
| |
| promise_test(async function (t) { |
| t.add_cleanup(() => otherbutton.focus()); |
| let event = null; |
| interestee.addEventListener("interest", (e) => (event = e), { once: true }); |
| await hoverOver(interestarea); |
| assert_true(event instanceof InterestEvent, "event is InterestEvent"); |
| assert_equals(event.type, "interest", "type"); |
| assert_equals(event.bubbles, false, "bubbles"); |
| assert_equals(event.composed, true, "composed"); |
| assert_equals(event.isTrusted, true, "isTrusted"); |
| assert_equals(event.action, "", "action"); |
| assert_equals(event.target, interestee, "target"); |
| assert_equals(event.invoker, interestarea, "invoker"); |
| }, "InterestEvent dispatches on area hover"); |
| </script> |