Skip to content

Nine surfaces declare a keyboard widget; zero implement one #107

Description

@mpstaton

Context:

Nine surfaces across seven members declare role="menu", role="listbox" or role="radiogroup". None implements arrow-key navigation.

chat/ChatSurface                    arrowkeys=0
org-workbench/OrgSearch             arrowkeys=0
response-reviewer/ConnectorPalette  arrowkeys=0
sort-filter-lens/App                arrowkeys=0
search-and-add/ProviderPalette      arrowkeys=0
pack-runner/ConnectorPalette        arrowkeys=0
shell/DevelopersMenu                arrowkeys=0
shell/JumboPopdown                  arrowkeys=0
shell/WorkspaceSwitcher             arrowkeys=0

Two declare role="menu" with no menuitem children; one declares role="radiogroup" containing no radios — a widget a screen reader announces as structurally broken.

Each role is a promise: this is a widget you navigate with arrows, and Tab takes you out of it. All nine deliver a plain list of tab stops.

Selector--Listbox is built with 17 tests written before it (packages/shared-ui/test/selector.test.ts). Selector--Menu next. No --Radio: zero sightings.

Per-member adoption: failing test first, then refactor, then green.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions