From a8f5c17ef3499fb368968469189a214cf94f0afc Mon Sep 17 00:00:00 2001 From: Joseph Replin Date: Wed, 5 Jul 2023 14:01:55 -0500 Subject: [PATCH 1/4] Move text into aria-label --- templates/drawer.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/drawer.hbs b/templates/drawer.hbs index 6b6f0a45..937e64fe 100644 --- a/templates/drawer.hbs +++ b/templates/drawer.hbs @@ -1,6 +1,6 @@
- {{_globals._accessibility._ariaLabels.drawer}} +
From e21f8dd9b7790a4475b3f9363c33f50d68ade2a8 Mon Sep 17 00:00:00 2001 From: Brad Simpson Date: Wed, 27 May 2026 09:06:12 -0600 Subject: [PATCH 2/4] Revert template --- templates/drawer.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/drawer.hbs b/templates/drawer.hbs index 937e64fe..6b6f0a45 100644 --- a/templates/drawer.hbs +++ b/templates/drawer.hbs @@ -1,6 +1,6 @@
- + {{_globals._accessibility._ariaLabels.drawer}}
From 99c3c23de6cf275717659a2714314ee5aea9cc13 Mon Sep 17 00:00:00 2001 From: Brad Simpson Date: Wed, 27 May 2026 09:10:34 -0600 Subject: [PATCH 3/4] Change focusFirst to defer false --- js/views/drawerView.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/views/drawerView.js b/js/views/drawerView.js index 87d8b5a1..621f69fa 100644 --- a/js/views/drawerView.js +++ b/js/views/drawerView.js @@ -295,7 +295,7 @@ class DrawerView extends Backbone.View { this.$el.addClass('anim-show-before'); // focus on first tabbable element in drawer - a11y.focusFirst(this.$el, { defer: true }); + a11y.focusFirst(this.$el, { defer: false }); await transitionNextFrame(); this.$el.addClass('anim-show-after'); await transitionsEnded(this.$el); From 160c4f0d7b01aa271687d1c5593000301aeebede Mon Sep 17 00:00:00 2001 From: Brad Simpson Date: Wed, 27 May 2026 09:30:44 -0600 Subject: [PATCH 4/4] Fix: Prevent duplicate drawer heading announcement in screen readers --- js/views/drawerView.js | 6 ++++-- templates/drawer.hbs | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/js/views/drawerView.js b/js/views/drawerView.js index 621f69fa..5ff14fb2 100644 --- a/js/views/drawerView.js +++ b/js/views/drawerView.js @@ -294,8 +294,10 @@ class DrawerView extends Backbone.View { Adapt.trigger('drawer:opened'); this.$el.addClass('anim-show-before'); - // focus on first tabbable element in drawer - a11y.focusFirst(this.$el, { defer: false }); + // focus the drawer dialog itself so its accessible name (aria-labelledby) + // is announced once on open; focusing the heading element directly caused + // a duplicate announcement (label + focused element) + a11y.focus(this.$el, { defer: false }); await transitionNextFrame(); this.$el.addClass('anim-show-after'); await transitionsEnded(this.$el); diff --git a/templates/drawer.hbs b/templates/drawer.hbs index 6b6f0a45..7b8731d9 100644 --- a/templates/drawer.hbs +++ b/templates/drawer.hbs @@ -1,6 +1,6 @@
- {{_globals._accessibility._ariaLabels.drawer}} +