diff options
| author | Fuwn <[email protected]> | 2026-05-15 11:48:59 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-05-15 11:48:59 +0000 |
| commit | 9c77d2cb559757806b7fb30c5a63d1a2f99be22d (patch) | |
| tree | 78ed8ecffd36d46105de69897922193584ae0489 /src | |
| parent | perf(transitions): narrow the universal * selector (diff) | |
| download | due.moe-9c77d2cb559757806b7fb30c5a63d1a2f99be22d.tar.xz due.moe-9c77d2cb559757806b7fb30c5a63d1a2f99be22d.zip | |
fix(a11y): drop redundant alts and the landing em dash
Replace generic alt="Avatar" / alt="Character" with empty alts on
images that visually duplicate a name already present as adjacent text
(Wrapped activity avatar, Hololive stream icon, three Birthdays
covers); screen readers stop announcing "Avatar" / "Character" twice.
Also swap the em dash in the landing subheadline for a comma per the
project copy rule.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/Hololive/Stream.svelte | 2 | ||||
| -rw-r--r-- | src/lib/LandingHero.svelte | 2 | ||||
| -rw-r--r-- | src/lib/Tools/Birthdays.svelte | 2 | ||||
| -rw-r--r-- | src/lib/Tools/BirthdaysTemplate.svelte | 2 | ||||
| -rw-r--r-- | src/lib/Tools/UmaMusumeBirthdays.svelte | 2 | ||||
| -rw-r--r-- | src/lib/Tools/Wrapped/Top/Activity.svelte | 2 |
6 files changed, 6 insertions, 6 deletions
diff --git a/src/lib/Hololive/Stream.svelte b/src/lib/Hololive/Stream.svelte index d8122f50..1d464d7a 100644 --- a/src/lib/Hololive/Stream.svelte +++ b/src/lib/Hololive/Stream.svelte @@ -39,7 +39,7 @@ export let icon: string; <span class="opaque">|</span> {#if icon} <a href={root(`/hololive/${encodeURIComponent(live.streamer)}`)}> - <img src={icon} alt="Avatar" loading="lazy" decoding="async" class="stream-icon" /> + <img src={icon} alt="" loading="lazy" decoding="async" class="stream-icon" /> </a> {/if} <a href={root(`/hololive/${encodeURIComponent(live.streamer)}`)} class="streamer-link"> diff --git a/src/lib/LandingHero.svelte b/src/lib/LandingHero.svelte index 9f5d0368..c1d8a5aa 100644 --- a/src/lib/LandingHero.svelte +++ b/src/lib/LandingHero.svelte @@ -23,7 +23,7 @@ const scrollPastHero = () => { <h1 class="headline">Never miss what's due.</h1> <p class="subheadline"> - Track airing episodes, new manga chapters, and subtitle releases—all in one place. + Track airing episodes, new manga chapters, and subtitle releases, all in one place. <br /> <br /> diff --git a/src/lib/Tools/Birthdays.svelte b/src/lib/Tools/Birthdays.svelte index a41064f9..3f02eb97 100644 --- a/src/lib/Tools/Birthdays.svelte +++ b/src/lib/Tools/Birthdays.svelte @@ -155,7 +155,7 @@ async function resolveBirthdays( {birthday.name} <img src={birthday.image} - alt="Character (Large)" + alt="" class="character-image" loading="lazy" decoding="async" diff --git a/src/lib/Tools/BirthdaysTemplate.svelte b/src/lib/Tools/BirthdaysTemplate.svelte index 3dc5c4fd..8db7b442 100644 --- a/src/lib/Tools/BirthdaysTemplate.svelte +++ b/src/lib/Tools/BirthdaysTemplate.svelte @@ -86,7 +86,7 @@ onMount(() => clearAllParameters(["month", "day"])); {birthday.name} <img src={birthday.pictureURL} - alt="Character" + alt="" class="character-image" loading="lazy" decoding="async" diff --git a/src/lib/Tools/UmaMusumeBirthdays.svelte b/src/lib/Tools/UmaMusumeBirthdays.svelte index fc773bcb..ddb3045c 100644 --- a/src/lib/Tools/UmaMusumeBirthdays.svelte +++ b/src/lib/Tools/UmaMusumeBirthdays.svelte @@ -105,7 +105,7 @@ onMount(() => { {name} <img src={birthday.sns_icon} - alt="Character" + alt="" class="character-image" loading="lazy" decoding="async" diff --git a/src/lib/Tools/Wrapped/Top/Activity.svelte b/src/lib/Tools/Wrapped/Top/Activity.svelte index 15b646e0..16edeaec 100644 --- a/src/lib/Tools/Wrapped/Top/Activity.svelte +++ b/src/lib/Tools/Wrapped/Top/Activity.svelte @@ -15,7 +15,7 @@ const currentYear = new Date(Date.now()).getFullYear(); <div class="grid-item image-grid avatar-grid category top-category"> <a href={`https://anilist.co/user/${$identity.name}`} target="_blank"> - <img src={proxy(wrapped.avatar.large)} alt="User Avatar" loading="lazy" decoding="async" onload={updateWidth} /> + <img src={proxy(wrapped.avatar.large)} alt="" loading="lazy" decoding="async" onload={updateWidth} /> </a> <div> <div> |