From cc978e73b48fb3565b23b211a0090c82e5e76a0e Mon Sep 17 00:00:00 2001 From: Alexander Bocken Date: Mon, 5 Jan 2026 16:14:35 +0100 Subject: [PATCH] feat: improve accessibility and update color scheme based on PageSpeed insights MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add aria-labels to icon-only links (add button, edit button, logo, nav toggle) - Add main landmark element for better page structure - Fix heading hierarchy on recipe pages (h1 → h2 → h3 progression) - Add role="status" to loading placeholders to allow aria-label usage - Update link colors from red to blue for better contrast in both light and dark modes - Change hover colors from orange/red to light blue across all interactive elements - Reduce font size of section labels (Season, Keywords) while maintaining semantic structure These changes address PageSpeed accessibility recommendations including low-contrast text, missing accessible names, prohibited ARIA attributes, missing landmarks, and improper heading order. --- src/app.css | 8 ++--- src/lib/components/ActionButton.svelte | 3 +- src/lib/components/AddButton.svelte | 2 +- src/lib/components/Card.svelte | 2 +- src/lib/components/CardAdd.svelte | 2 +- src/lib/components/EditButton.svelte | 2 +- src/lib/components/Header.svelte | 14 ++++---- src/lib/components/IngredientsPage.svelte | 24 +++++++++---- src/lib/components/InstructionsPage.svelte | 34 +++++++++++++------ src/lib/components/LazyCategory.svelte | 1 + src/lib/components/Symbol.svelte | 2 +- src/lib/css/nordtheme.css | 8 ++++- .../[name]/+page.svelte | 13 ++++--- 13 files changed, 77 insertions(+), 38 deletions(-) diff --git a/src/app.css b/src/app.css index 2203969..e5b6fed 100644 --- a/src/app.css +++ b/src/app.css @@ -100,9 +100,9 @@ --color-border-hover: var(--nord3); /* Link Colors */ - --color-link: var(--nord11); + --color-link: var(--nord10); --color-link-visited: var(--nord15); - --color-link-hover: var(--color-accent-hover); + --color-link-hover: var(--nord9); /* Status Colors */ --color-success: var(--nord14); @@ -168,9 +168,9 @@ --color-border-hover: var(--nord3); /* Link Colors */ - --color-link: #d07179; + --color-link: var(--nord8); --color-link-visited: #c89fb6; - --color-link-hover: var(--color-accent-hover); + --color-link-hover: var(--nord7); } } diff --git a/src/lib/components/ActionButton.svelte b/src/lib/components/ActionButton.svelte index 1259936..00f5a40 100644 --- a/src/lib/components/ActionButton.svelte +++ b/src/lib/components/ActionButton.svelte @@ -1,5 +1,6 @@ @@ -78,6 +79,6 @@ box-shadow: 0em 0em 0.5em 0.5em rgba(0,0,0,0.2); } } - + diff --git a/src/lib/components/AddButton.svelte b/src/lib/components/AddButton.svelte index 756d472..29b91a1 100644 --- a/src/lib/components/AddButton.svelte +++ b/src/lib/components/AddButton.svelte @@ -3,6 +3,6 @@ import ActionButton from "./ActionButton.svelte"; export let href: string; - + diff --git a/src/lib/components/Card.svelte b/src/lib/components/Card.svelte index b685a68..7bd447a 100644 --- a/src/lib/components/Card.svelte +++ b/src/lib/components/Card.svelte @@ -190,7 +190,7 @@ const img_name = $derived( .tag:focus-visible { transform: scale(1.04, 1.04); - background-color: var(--orange); + background-color: var(--nord8); box-shadow: 0.2em 0.2em 0.2em 0.1em rgba(0, 0, 0, 0.3); } .tag:focus{ diff --git a/src/lib/components/CardAdd.svelte b/src/lib/components/CardAdd.svelte index 0e66511..c25ef07 100644 --- a/src/lib/components/CardAdd.svelte +++ b/src/lib/components/CardAdd.svelte @@ -267,7 +267,7 @@ input::placeholder{ .card .tag:focus-within { transform: scale(1.04, 1.04); - background-color: var(--orange); + background-color: var(--nord8); box-shadow: 0.2em 0.2em 0.2em 0.1em rgba(0, 0, 0, 0.3); } diff --git a/src/lib/components/EditButton.svelte b/src/lib/components/EditButton.svelte index 3b93ce8..4f02124 100644 --- a/src/lib/components/EditButton.svelte +++ b/src/lib/components/EditButton.svelte @@ -2,6 +2,6 @@ import ActionButton from "./ActionButton.svelte"; export let href - + diff --git a/src/lib/components/Header.svelte b/src/lib/components/Header.svelte index 71e4b58..811f865 100644 --- a/src/lib/components/Header.svelte +++ b/src/lib/components/Header.svelte @@ -131,7 +131,7 @@ nav[hidden]{ :global(.entry:focus-visible) { cursor: pointer; - color: var(--red); + color: var(--nord8); } :global(.site_header) { padding-block: 1.5rem; @@ -151,7 +151,7 @@ nav[hidden]{ position: absolute; bottom: 1.2rem; height: 2px; - background-color: var(--red); + background-color: var(--nord8); transition: left 300ms ease-out, width 300ms ease-out; pointer-events: none; } @@ -300,7 +300,7 @@ footer{ } :global(.nav_site .site_header a.active) { text-decoration: underline; - text-decoration-color: var(--red); + text-decoration-color: var(--nord8); text-decoration-thickness: 2px; text-underline-offset: 0.3rem; } @@ -310,14 +310,14 @@ footer{
- +
{@render language_selector_mobile?.()} - +
+
{@render children?.()} +