From cdf55990075a23efe154b989b3af617642a953ea Mon Sep 17 00:00:00 2001
From: Olivia206 <olivia.simonet@mmibordeaux.com>
Date: Wed, 26 Apr 2023 12:22:01 +0200
Subject: [PATCH] fixed a11y inner focus for modal

---
 assets/js/theme/design-system/modal.js | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/assets/js/theme/design-system/modal.js b/assets/js/theme/design-system/modal.js
index 054006bb..335853d3 100644
--- a/assets/js/theme/design-system/modal.js
+++ b/assets/js/theme/design-system/modal.js
@@ -29,15 +29,16 @@ class Modal {
         this.closeButtons.forEach(button => {
             button.addEventListener('click', () => {
                 this.toggle(false);
+                this.button.focus()
             });
         });
 
         window.addEventListener('keydown', (event) => {
             if (event.keyCode === 27 || event.key === 'Escape') {
                 this.toggle(false);
-            } else if (event.key === "Tab") {
-                // TODO fix a11y inner focus
-                // this.innerFocus(event);
+            } else if (this.state.isOpened && event.key === "Tab") {
+                this.innerFocus(event);
+                event.preventDefault();
             }
         });
 
@@ -67,7 +68,8 @@ class Modal {
             firstFocusable.focus();
         }
 
-        this.closeButtons[0].focus();
+        // this.closeButtons[0].focus();
+        firstFocusable.focus();
     }
 
     toggle(open = !this.state.isOpened) {
@@ -77,9 +79,9 @@ class Modal {
         this.element.setAttribute('aria-hidden', !this.state.isOpened);
         document.documentElement.classList[classAction](CLASSES.modalOpened);
 
-        if (!this.state.isOpened) {
-            this.button.focus();
-        }
+        // if (!this.state.isOpened) {
+            // this.button.focus();
+        // }
     }
 
 }
-- 
GitLab