diff --git a/html/semantics/popovers/popover-events.html b/html/semantics/popovers/popover-events.html
index b299424570024c..b0df2f20baba64 100644
--- a/html/semantics/popovers/popover-events.html
+++ b/html/semantics/popovers/popover-events.html
@@ -20,7 +20,7 @@
window.onload = () => {
for(const method of ["listener","attribute"]) {
promise_test(async t => {
- const popover = document.querySelector('[popover]');
+ const {popover,signal} = getPopoverAndSignal(t);
assert_false(popover.matches(':open'));
let showCount = 0;
let afterShowCount = 0;
@@ -59,10 +59,9 @@
};
switch (method) {
case "listener":
- const {signal} = getPopoverAndSignal(t);
- // These events bubble.
- document.addEventListener('beforetoggle', listener, {signal});
- document.addEventListener('toggle', listener, {signal});
+ // These events do *not* bubble.
+ popover.addEventListener('beforetoggle', listener, {signal});
+ popover.addEventListener('toggle', listener, {signal});
break;
case "attribute":
assert_false(popover.hasAttribute('onbeforetoggle'));