From f1c46b6a8e25363c244aa7857ce49050a4156196 Mon Sep 17 00:00:00 2001 From: Logan Date: Thu, 13 Aug 2026 02:30:05 -0400 Subject: [PATCH 01/14] fix(a11y): label Explore's search box with more than a placeholder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit a11y.26, the half of it that was still open — `search-bar` gained a computed aria-label some phases ago and this one did not. It is why the finding survived: a placeholder *is* an accname fallback, so the box was never unnamed and a sweep of the accessibility tree reported the whole view clean. It is a weak name all the same, since it disappears the moment anyone types, and it is the only thing that distinguishes catalog search from lyric search. --- .../components/explore-view/explore-view.ts | 3 ++ .../test/components/settings-names.test.ts | 28 +++++++++++++++++-- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/frontend/src/components/explore-view/explore-view.ts b/frontend/src/components/explore-view/explore-view.ts index 9600515..4172668 100644 --- a/frontend/src/components/explore-view/explore-view.ts +++ b/frontend/src/components/explore-view/explore-view.ts @@ -1518,6 +1518,9 @@ export class ExploreView extends ViewLifecycleMixin(LitElement) { ` sat right beside the control * with nothing associating the two. * - * Two of the fixes here are about a name that exists and does not + * Three of the fixes here are about a name that *exists* and does not * identify anything, which is `a11y.32`'s complaint one page over: - * three shortcut buttons announced themselves as "S", and thirty-six - * column arrows as "Move up" or "Move down". + * three shortcut buttons announced themselves as "S", thirty-six column + * arrows as "Move up" or "Move down", and — `a11y.26`, the audit's own + * finding — Explore's search box by a placeholder that disappears the + * moment anyone types into it. That last one is why the finding + * survived four phases: a placeholder is an accname fallback, so the + * AX sweep reported the view clean. */ import { describe, expect, it } from 'vitest'; import '@components/config-page/config-field'; import '@components/config-page/shortcut-capture'; +import '@components/explore-view/explore-view'; import { fixture, shadow } from '@test/support/render'; /** What the `