do not apply aria-modal in demo mode (#3227)

When you have a `role="dialog"` and an `aria-modal="true"` at the same
time, then Safari will focus the first focusable element inside the
dialog.

This is not ideal, because in demo mode this means that the focus is
moved around to various DOM elements.

This commit ensures that the `aria-modal` is not applied when demo mode
is enabled to prevent that behavior in Safari.
This commit is contained in:
Robin Malfait
2024-05-22 14:57:57 +02:00
committed by GitHub
parent 045f2bc761
commit 7fcb410be4
@@ -357,7 +357,7 @@ function DialogFn<TTag extends ElementType = typeof DEFAULT_DIALOG_TAG>(
id,
role,
tabIndex: -1,
'aria-modal': dialogState === DialogStates.Open ? true : undefined,
'aria-modal': __demoMode ? undefined : dialogState === DialogStates.Open ? true : undefined,
'aria-labelledby': state.titleId,
'aria-describedby': describedby,
}