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 <noreply@anthropic.com>
This commit is contained in:
2026-03-13 22:28:46 +01:00
parent d9f07dcd63
commit 2b915f5a43
12 changed files with 72 additions and 119 deletions

View File

@@ -99,4 +99,11 @@
left: auto;
transform: translate(calc(-1 * (var(--tooltip-offset) - 2px)), -50%) rotate(45deg);
}
@media (prefers-reduced-motion: reduce) {
[data-tooltip]::after,
[data-tooltip]::before {
transition: none;
}
}
}