From e09c2a9c022107c986ec1ffaafe37681928d3cda Mon Sep 17 00:00:00 2001 From: Frederic Cabassut Date: Mon, 9 Mar 2026 02:37:00 +0100 Subject: [PATCH] fix: resolve all svelte-check warnings (a11y + state_referenced_locally) - Add svelte-ignore for intentional state_referenced_locally patterns - Wrap clickable images in button elements for keyboard accessibility - Add proper ARIA roles (dialog, textbox) with tabindex and focus management - Fix lightbox Escape key handling to not close parent editor overlay Co-Authored-By: Claude Opus 4.6 --- src/lib/components/Checklist.svelte | 1 + src/lib/components/ImageLightbox.svelte | 15 ++++++++++++--- src/lib/components/ImageUpload.svelte | 16 ++++++++++------ src/lib/components/NoteCard.svelte | 19 ++++++++++++------- src/lib/components/NoteEditor.svelte | 1 + src/lib/components/TiptapEditor.svelte | 5 ++++- src/routes/(app)/settings/+page.svelte | 2 ++ src/routes/(app)/settings/users/+page.svelte | 1 + src/routes/(auth)/login/+page.svelte | 1 + 9 files changed, 44 insertions(+), 17 deletions(-) diff --git a/src/lib/components/Checklist.svelte b/src/lib/components/Checklist.svelte index 07e4c06..3d8cb42 100644 --- a/src/lib/components/Checklist.svelte +++ b/src/lib/components/Checklist.svelte @@ -19,6 +19,7 @@ let { content, onChange }: Props = $props(); + // svelte-ignore state_referenced_locally let items = $state(parseChecklist(content)); let doneExpanded = $state(true); const flipDurationMs = 150; diff --git a/src/lib/components/ImageLightbox.svelte b/src/lib/components/ImageLightbox.svelte index 8369f2b..cd58225 100644 --- a/src/lib/components/ImageLightbox.svelte +++ b/src/lib/components/ImageLightbox.svelte @@ -9,6 +9,8 @@ const { src, alt, onClose }: Props = $props(); + let dialogEl: HTMLDivElement | undefined = $state(); + function handleKeydown(e: KeyboardEvent) { if (e.key === 'Escape') { e.stopPropagation(); @@ -21,14 +23,21 @@ onClose(); } } + + $effect(() => { + dialogEl?.focus(); + }); - - -