From 6fa674339ed0c89591c1bafec93417173e135d05 Mon Sep 17 00:00:00 2001 From: daimond113 Date: Tue, 26 Aug 2025 17:37:21 +0200 Subject: [PATCH 01/17] Begin A11y improvements --- src/demos.md | 2 +- src/lib/containers/ListItem.svelte | 53 ++++++++++++------------------ src/routes/5.svelte | 2 +- static/llms.txt | 2 +- 4 files changed, 24 insertions(+), 35 deletions(-) diff --git a/src/demos.md b/src/demos.md index 8edd70c9..1238d902 100644 --- a/src/demos.md +++ b/src/demos.md @@ -328,7 +328,7 @@ let supporting = $derived( {"<" + type + ">"} {#snippet demo()} -
+
{#snippet leading()} {#if type == "label"}
diff --git a/src/lib/containers/ListItem.svelte b/src/lib/containers/ListItem.svelte index 57b7e21d..0ef58465 100644 --- a/src/lib/containers/ListItem.svelte +++ b/src/lib/containers/ListItem.svelte @@ -10,7 +10,15 @@ | ({ label: true } & NotButton) | ({ href: string } & NotButton); - let props: { + let { + leading, + overline = "", + headline = "", + supporting = "", + trailing, + lines = overline && supporting ? 3 : overline || supporting ? 2 : 1, + ..._props + }: { leading?: Snippet; overline?: string; headline?: string; @@ -18,19 +26,11 @@ trailing?: Snippet; lines?: number; } & ActionProps = $props(); - let _lines = $derived( - props.lines || - (props.overline && props.supporting ? 3 : props.overline || props.supporting ? 2 : 1), - ); + + let props = $derived({ role: "listitem", "aria-label": headline, ..._props }); -{#snippet content( - leading: Snippet | undefined, - overline: string, - headline: string, - supporting: string, - trailing: Snippet | undefined, -)} +{#snippet content()} {#if leading}
{@render leading()} @@ -54,35 +54,24 @@ {/snippet} {#if "label" in props} - {@const { - leading, - overline = "", - headline = "", - supporting = "", - trailing, - label: _, - ...extra - } = props} -