From 3efb7e175d748e2c468b9a0d013ecff3e46de025 Mon Sep 17 00:00:00 2001 From: Anders Olsson Date: Mon, 8 Jun 2026 18:49:27 +0200 Subject: [PATCH 1/4] docs(specs): accessibility defect bundle (#62) --- .../2026-06-08-a11y-defect-bundle-design.md | 163 ++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 docs/superpowers/specs/2026-06-08-a11y-defect-bundle-design.md diff --git a/docs/superpowers/specs/2026-06-08-a11y-defect-bundle-design.md b/docs/superpowers/specs/2026-06-08-a11y-defect-bundle-design.md new file mode 100644 index 0000000..abaf853 --- /dev/null +++ b/docs/superpowers/specs/2026-06-08-a11y-defect-bundle-design.md @@ -0,0 +1,163 @@ +# Accessibility Defect Bundle — Design + +**Date:** 2026-06-08 +**Status:** Approved (brainstorming) — ready for implementation planning. +**Issue:** #62 (label-id collision, invalid table row semantics, unnamed drawer, unannounced table states, last untranslated strings). + +## Context + +A frontend deep audit (post the #52 a11y pass, which is verified correct) found five remaining +accessibility gaps. They are independent, low-risk fixes; no new dependency. The #52 work (focus ring, +skip link, route focus, authority nav links, lang group, `` sync) stays untouched. + +## Components + +### 1. `components/label-editor.tsx` — id collision → `useId()` +`LabelEditor` hardcodes `