diff --git a/packages/react-native-web/src/exports/Modal/__tests__/index-test.js b/packages/react-native-web/src/exports/Modal/__tests__/index-test.js
index 78f5d94f12..9e82fcc5ba 100644
--- a/packages/react-native-web/src/exports/Modal/__tests__/index-test.js
+++ b/packages/react-native-web/src/exports/Modal/__tests__/index-test.js
@@ -309,6 +309,32 @@ describe('components/Modal', () => {
expect(document.activeElement).toBe(insideElement);
});
+ test('focus is not trapped after closing modal', () => {
+ const { rerender } = render(
+ <>
+
+ Outside
+
+
+ >
+ );
+
+ const outsideElement = document.querySelector('[data-testid="outside"]');
+ const onDismissCallback = jest.fn(() => outsideElement.focus());
+
+ rerender(
+ <>
+
+ Outside
+
+
+ >
+ );
+
+ expect(onDismissCallback).toBeCalledTimes(1);
+ expect(document.activeElement).toBe(outsideElement);
+ });
+
test('focus is brought back to the element that triggered modal after closing', () => {
const { rerender } = render(
<>