diff --git a/packages/react/src/Overlay/Overlay.test.tsx b/packages/react/src/Overlay/Overlay.test.tsx
index 50715fae3e2..1125be5d866 100644
--- a/packages/react/src/Overlay/Overlay.test.tsx
+++ b/packages/react/src/Overlay/Overlay.test.tsx
@@ -303,4 +303,13 @@ describe('Overlay', () => {
expect(queryByRole('dialog')).not.toBeInTheDocument()
expect(queryByRole('none')).toBeInTheDocument()
})
+
+ it('should add `aria-modal` if `role="dialog"` is present', async () => {
+ const user = userEvent.setup()
+ const {getByText, queryByRole} = render()
+
+ await user.click(getByText('open overlay'))
+
+ expect(queryByRole('dialog')).toHaveAttribute('aria-modal')
+ })
})
diff --git a/packages/react/src/Overlay/Overlay.tsx b/packages/react/src/Overlay/Overlay.tsx
index 2982fabc873..d6f05a711fb 100644
--- a/packages/react/src/Overlay/Overlay.tsx
+++ b/packages/react/src/Overlay/Overlay.tsx
@@ -207,7 +207,7 @@ const Overlay = React.forwardRef(
const dialog = role && role !== 'dialog' ? true : false
useFocusTrap({
- containerRef: overlayRef, // only if `role="dialog"`, `aria-modal="true"` is true
+ containerRef: overlayRef,
disabled: !focusTrap || dialog,
})