diff --git a/src/lib/components/common/ConfirmDialog.svelte b/src/lib/components/common/ConfirmDialog.svelte index 8a336aa441..2cba06b70f 100644 --- a/src/lib/components/common/ConfirmDialog.svelte +++ b/src/lib/components/common/ConfirmDialog.svelte @@ -36,6 +36,7 @@ } let modalElement = null; + let confirmButtonElement: HTMLButtonElement | null = null; let mounted = false; let focusTrap: FocusTrap.FocusTrap | null = null; @@ -81,7 +82,10 @@ $: if (mounted) { if (show && modalElement) { document.body.appendChild(modalElement); - focusTrap = FocusTrap.createFocusTrap(modalElement); + focusTrap = FocusTrap.createFocusTrap(modalElement, { + initialFocus: () => + modalElement.querySelector('input, textarea, select') ?? confirmButtonElement ?? undefined + }); focusTrap.activate(); window.addEventListener('keydown', handleKeyDown); @@ -195,6 +199,7 @@ {cancelLabel}