From 990d26c92c262daef872a907ce1ea13c9bd21b02 Mon Sep 17 00:00:00 2001 From: SandObserver <260779319+SandObserver@users.noreply.github.com> Date: Sat, 5 Sep 2026 22:14:33 -0400 Subject: [PATCH 1/2] Fix: keep preview frame content out of the tab order The Now Playing previews received an href in their static config, so the widget promoted its root to role="link" with tabindex="0". That content sat inside an iframe carrying tabindex="-1" and was unreachable by keyboard, failing WCAG 2.1.1. Drop href from the four preview configs used in tabindex="-1" frames, and clear the wordmark alt text that duplicated the visually hidden site title. --- astro.config.mjs | 2 +- public/api/widget-config/cc-np-a | 2 +- public/api/widget-config/cc-np-b | 2 +- public/api/widget-config/cc-np-c | 2 +- public/api/widget-config/w-nowplaying | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/astro.config.mjs b/astro.config.mjs index 6e92b23..df8cdb5 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -24,7 +24,7 @@ export default defineConfig({ logo: { light: './public/img/stackyard-wordmark-light.svg', dark: './public/img/stackyard-wordmark-dark.svg', - alt: 'Stackyard', + alt: '', replacesTitle: true, }, favicon: '/favicon.svg', diff --git a/public/api/widget-config/cc-np-a b/public/api/widget-config/cc-np-a index cc8eb0b..6591633 100644 --- a/public/api/widget-config/cc-np-a +++ b/public/api/widget-config/cc-np-a @@ -1 +1 @@ -{"widgetSize": "small", "widgetConfig": {"provider": "jellyfin", "jellyfinUrl": "https://media.example.com", "href": "https://media.example.com"}} \ No newline at end of file +{"widgetSize": "small", "widgetConfig": {"provider": "jellyfin", "jellyfinUrl": "https://media.example.com"}} diff --git a/public/api/widget-config/cc-np-b b/public/api/widget-config/cc-np-b index cc8eb0b..6591633 100644 --- a/public/api/widget-config/cc-np-b +++ b/public/api/widget-config/cc-np-b @@ -1 +1 @@ -{"widgetSize": "small", "widgetConfig": {"provider": "jellyfin", "jellyfinUrl": "https://media.example.com", "href": "https://media.example.com"}} \ No newline at end of file +{"widgetSize": "small", "widgetConfig": {"provider": "jellyfin", "jellyfinUrl": "https://media.example.com"}} diff --git a/public/api/widget-config/cc-np-c b/public/api/widget-config/cc-np-c index cc8eb0b..6591633 100644 --- a/public/api/widget-config/cc-np-c +++ b/public/api/widget-config/cc-np-c @@ -1 +1 @@ -{"widgetSize": "small", "widgetConfig": {"provider": "jellyfin", "jellyfinUrl": "https://media.example.com", "href": "https://media.example.com"}} \ No newline at end of file +{"widgetSize": "small", "widgetConfig": {"provider": "jellyfin", "jellyfinUrl": "https://media.example.com"}} diff --git a/public/api/widget-config/w-nowplaying b/public/api/widget-config/w-nowplaying index e763795..6591633 100644 --- a/public/api/widget-config/w-nowplaying +++ b/public/api/widget-config/w-nowplaying @@ -1 +1 @@ -{"widgetSize":"small","widgetConfig":{"provider":"jellyfin","jellyfinUrl":"https://media.example.com","href":"https://media.example.com"}} +{"widgetSize": "small", "widgetConfig": {"provider": "jellyfin", "jellyfinUrl": "https://media.example.com"}} From 23b15bcb16db0b60b58b421594c57a0f429637e3 Mon Sep 17 00:00:00 2001 From: SandObserver <260779319+SandObserver@users.noreply.github.com> Date: Sat, 5 Sep 2026 22:19:43 -0400 Subject: [PATCH 2/2] Fix: make the Now Playing widget-page previews inert Drop href from the np-plex, np-jellyfin and np-emby preview configs. Each preview was a keyboard tab stop whose only action opened a placeholder domain. --- public/api/widget-config/np-emby | 2 +- public/api/widget-config/np-jellyfin | 2 +- public/api/widget-config/np-plex | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/public/api/widget-config/np-emby b/public/api/widget-config/np-emby index 58d6df5..eab70e5 100644 --- a/public/api/widget-config/np-emby +++ b/public/api/widget-config/np-emby @@ -1 +1 @@ -{"widgetSize": "small", "widgetConfig": {"provider": "emby", "jellyfinUrl": "https://media.example.com", "href": "https://media.example.com"}} \ No newline at end of file +{"widgetSize": "small", "widgetConfig": {"provider": "emby", "jellyfinUrl": "https://media.example.com"}} diff --git a/public/api/widget-config/np-jellyfin b/public/api/widget-config/np-jellyfin index cc8eb0b..6591633 100644 --- a/public/api/widget-config/np-jellyfin +++ b/public/api/widget-config/np-jellyfin @@ -1 +1 @@ -{"widgetSize": "small", "widgetConfig": {"provider": "jellyfin", "jellyfinUrl": "https://media.example.com", "href": "https://media.example.com"}} \ No newline at end of file +{"widgetSize": "small", "widgetConfig": {"provider": "jellyfin", "jellyfinUrl": "https://media.example.com"}} diff --git a/public/api/widget-config/np-plex b/public/api/widget-config/np-plex index a867435..ab65599 100644 --- a/public/api/widget-config/np-plex +++ b/public/api/widget-config/np-plex @@ -1 +1 @@ -{"widgetSize": "small", "widgetConfig": {"provider": "plex", "jellyfinUrl": "https://media.example.com", "href": "https://media.example.com"}} \ No newline at end of file +{"widgetSize": "small", "widgetConfig": {"provider": "plex", "jellyfinUrl": "https://media.example.com"}}