diff --git a/frontend/src/lib/components/AnnotationLayer.svelte b/frontend/src/lib/components/AnnotationLayer.svelte index e4c911c2..f2e3a993 100644 --- a/frontend/src/lib/components/AnnotationLayer.svelte +++ b/frontend/src/lib/components/AnnotationLayer.svelte @@ -120,6 +120,7 @@ const containerStyle = $derived( data-annotation role="button" tabindex="0" + aria-label="Kommentare anzeigen" onclick={() => onAnnotationClick?.(annotation.id)} onkeydown={(e) => { if (e.key === 'Enter' || e.key === ' ') onAnnotationClick?.(annotation.id); }} onmouseenter={() => (hoveredId = annotation.id)} diff --git a/frontend/src/routes/documents/[id]/+page.server.ts b/frontend/src/routes/documents/[id]/+page.server.ts index dce5f89f..01777b9a 100644 --- a/frontend/src/routes/documents/[id]/+page.server.ts +++ b/frontend/src/routes/documents/[id]/+page.server.ts @@ -10,7 +10,7 @@ export async function load({ params, fetch }) { const [docResult, commentsRes] = await Promise.all([ api.GET('/api/documents/{id}', { params: { path: { id } } }), - fetch(`${base}/api/documents/${id}/comments`) + fetch(`${base}/api/documents/${id}/comments`).catch(() => null) ]); if (docResult.response.status === 401) throw redirect(302, '/login'); @@ -20,7 +20,14 @@ export async function load({ params, fetch }) { throw error(docResult.response.status, getErrorMessage(code)); } - const comments = commentsRes.ok ? await commentsRes.json() : []; + let comments: unknown[] = []; + if (commentsRes?.ok) { + try { + comments = await commentsRes.json(); + } catch { + // ignore invalid response + } + } return { document: docResult.data!, comments }; }