From 0b39ca6ca27661391e93b262c30895ca029e1362 Mon Sep 17 00:00:00 2001 From: Cory LaViska Date: Tue, 14 Oct 2025 14:06:13 -0400 Subject: [PATCH] focus dialog on open; fixes #1302 --- packages/webawesome/docs/docs/resources/changelog.md | 1 + packages/webawesome/src/components/dialog/dialog.ts | 2 ++ packages/webawesome/src/components/drawer/drawer.ts | 2 ++ 3 files changed, 5 insertions(+) diff --git a/packages/webawesome/docs/docs/resources/changelog.md b/packages/webawesome/docs/docs/resources/changelog.md index 6556ad423..edfb5f421 100644 --- a/packages/webawesome/docs/docs/resources/changelog.md +++ b/packages/webawesome/docs/docs/resources/changelog.md @@ -20,6 +20,7 @@ Components with the Experimental badge sh - Fixed focus outline styles in ``, ``, and `` [issue:1484] - Fixed a bug that caused icon button labels to not render in frameworks [issue:1542] - Fixed a bug in `` that caused the `name` property not to reflect [pr:1538] +- Fixed a bug in `` and `` that prevented focus from being set on the dialog/drawer when opened [issue:1302] ## 3.0.0-beta.6 diff --git a/packages/webawesome/src/components/dialog/dialog.ts b/packages/webawesome/src/components/dialog/dialog.ts index cb7663ec0..297f498df 100644 --- a/packages/webawesome/src/components/dialog/dialog.ts +++ b/packages/webawesome/src/components/dialog/dialog.ts @@ -197,6 +197,8 @@ export default class WaDialog extends WebAwesomeElement { const elementToFocus = this.querySelector('[autofocus]'); if (elementToFocus && typeof elementToFocus.focus === 'function') { elementToFocus.focus(); + } else { + this.dialog.focus(); } }); diff --git a/packages/webawesome/src/components/drawer/drawer.ts b/packages/webawesome/src/components/drawer/drawer.ts index 6622dc2ec..c13b8a52f 100644 --- a/packages/webawesome/src/components/drawer/drawer.ts +++ b/packages/webawesome/src/components/drawer/drawer.ts @@ -210,6 +210,8 @@ export default class WaDrawer extends WebAwesomeElement { const elementToFocus = this.querySelector('[autofocus]'); if (elementToFocus && typeof elementToFocus.focus === 'function') { elementToFocus.focus(); + } else { + this.drawer.focus(); } });