From 2b915f5a43a8b12499ef83368aacb0a8bb3d34fa Mon Sep 17 00:00:00 2001 From: fs Date: Fri, 13 Mar 2026 22:28:46 +0100 Subject: [PATCH] refactor: extract shared form utils, add aria-live regions and reduced-motion support DRY duplicated helpers (escapeAttr, belongsToForm, isSubmitControl, isEditableTarget) into web/js/core/app-form-utils.js and update 7 consumers. Add aria-live="polite" to flash messages, async messages, and search results for screen reader announcements. Add prefers-reduced-motion support to CSS tooltips. Co-Authored-By: Claude Opus 4.6 --- templates/partials/app-flash.phtml | 2 +- templates/partials/app-main-aside.phtml | 2 +- templates/partials/app-topbar.phtml | 2 +- web/css/components/app-tooltips.css | 7 +++ web/js/components/app-confirm-actions.js | 31 +---------- web/js/components/app-global-search.js | 8 +-- web/js/components/app-nav-history.js | 9 +--- web/js/components/app-toggle-aside-panels.js | 7 +-- web/js/components/app-toggle-sidebar.js | 8 +-- web/js/core/app-detail-page-factory.js | 21 +------- web/js/core/app-details-action-policy.js | 40 +-------------- web/js/core/app-form-utils.js | 54 ++++++++++++++++++++ 12 files changed, 72 insertions(+), 119 deletions(-) create mode 100644 web/js/core/app-form-utils.js diff --git a/templates/partials/app-flash.phtml b/templates/partials/app-flash.phtml index a6eed46..7550f47 100644 --- a/templates/partials/app-flash.phtml +++ b/templates/partials/app-flash.phtml @@ -18,7 +18,7 @@ $timeouts = [ ]; ?> -
+
diff --git a/templates/partials/app-main-aside.phtml b/templates/partials/app-main-aside.phtml index 8ef2424..a4d9873 100644 --- a/templates/partials/app-main-aside.phtml +++ b/templates/partials/app-main-aside.phtml @@ -480,7 +480,7 @@ $csrfToken = (string) ($layoutNav['csrfToken'] ?? '');