From 28a97d9f5a16715ca8bba18998c280f31388b106 Mon Sep 17 00:00:00 2001 From: bboysoul Date: Wed, 23 Sep 2026 08:29:07 +0800 Subject: [PATCH] fix: sheet Escape & focus management, detail a11y, 44px touch targets - AppSheet: Escape closes any sheet branch; non-modal/inline sheets move focus into panel on open; modal<->inline transition keeps overlay stack - Task detail: initial focus on close button; note textarea aria-label - Global sr-only status region for toast announcements (visual toast hidden from AT to avoid double reading) - Focus view: drop duplicate topbar h1 (page keeps its own single h1) - Archived lists toggle hidden until loaded (no more 'archived 0' flash) - Touch: date-clear/time-remove 44px; edit/preview switch hit area 44px with 3px gap; calendar filter row gets a scroll-right mask hint --- frontend/src/App.vue | 13 ++++++---- frontend/src/CalendarPanel.vue | 8 ++++-- frontend/src/PomodoroIntegration.test.ts | 2 +- frontend/src/TodayEnvironment.test.ts | 2 +- frontend/src/calendar.css | 2 +- frontend/src/components/AppSheet.vue | 32 +++++++++++++++++------- frontend/src/style.css | 6 ++--- frontend/src/style.test.ts | 2 +- 8 files changed, 44 insertions(+), 23 deletions(-) diff --git a/frontend/src/App.vue b/frontend/src/App.vue index a37f38b..e6e06a4 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -45,6 +45,7 @@ const password = ref('') const folders = ref([]) const lists = ref([]) const archivedLists = ref([]) +const archivedListsLoaded = ref(false) const archivedListsExpanded = ref(false) const archivedListAction = ref(null) const archivedListsToggle = ref(null) @@ -1360,6 +1361,7 @@ async function deleteFolder(item: FolderItem) { } async function loadArchivedLists() { try { archivedLists.value = await api('/lists?archived=true') } catch { archivedLists.value = [] } + archivedListsLoaded.value = true } async function restoreList(item: TaskList) { archivedListAction.value = null @@ -1756,7 +1758,7 @@ onUnmounted(() => {
- +
{{list.name}}
@@ -1803,7 +1805,7 @@ onUnmounted(() => {
-

{{ activeName }}

+

{{ activeName }}