diff --git a/packages/@headlessui-react/src/test-utils/interactions.ts b/packages/@headlessui-react/src/test-utils/interactions.ts index 214073e82e..f83ad29204 100644 --- a/packages/@headlessui-react/src/test-utils/interactions.ts +++ b/packages/@headlessui-react/src/test-utils/interactions.ts @@ -190,6 +190,10 @@ export async function click( if (!cancelled) { fireEvent.mouseDown(element, options) } + + // Ensure to trigger a `focus` event if the element is focusable + if ((element as HTMLElement)?.matches(focusableSelector)) fireEvent.focus(element, options) + fireEvent.pointerUp(element, options) if (!cancelled) { fireEvent.mouseUp(element, options) diff --git a/packages/@headlessui-vue/src/test-utils/interactions.ts b/packages/@headlessui-vue/src/test-utils/interactions.ts index a2ca4c66f5..b1cd77a8b5 100644 --- a/packages/@headlessui-vue/src/test-utils/interactions.ts +++ b/packages/@headlessui-vue/src/test-utils/interactions.ts @@ -190,6 +190,10 @@ export async function click( if (!cancelled) { fireEvent.mouseDown(element, options) } + + // Ensure to trigger a `focus` event if the element is focusable + if ((element as HTMLElement)?.matches(focusableSelector)) fireEvent.focus(element, options) + fireEvent.pointerUp(element, options) if (!cancelled) { fireEvent.mouseUp(element, options)