From 4c75680977c92da1fe38391001bdb861f1f1d971 Mon Sep 17 00:00:00 2001 From: Marcel Date: Tue, 9 Jun 2026 08:05:38 +0200 Subject: [PATCH] refactor(radiogroupnav): remove aria-checked setAttribute calls The action was writing aria-checked directly and then firing onChange, which also triggered Svelte's own aria-checked={selected === type} binding. Double-ownership: action now only calls focus() + onChange(value); Svelte owns the attribute update. Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/lib/shared/actions/radioGroupNav.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/frontend/src/lib/shared/actions/radioGroupNav.ts b/frontend/src/lib/shared/actions/radioGroupNav.ts index 65721e3a..25a6d3d9 100644 --- a/frontend/src/lib/shared/actions/radioGroupNav.ts +++ b/frontend/src/lib/shared/actions/radioGroupNav.ts @@ -18,8 +18,6 @@ export function radioGroupNav( const delta = event.key === 'ArrowRight' ? 1 : -1; const next = (current + delta + radios.length) % radios.length; - radios[current].setAttribute('aria-checked', 'false'); - radios[next].setAttribute('aria-checked', 'true'); radios[next].focus(); onChangeFn?.(radios[next].getAttribute('value') ?? ''); }