Arrow navigation was bound to `autoFocus`, so the dropdowns that open with the keyboard on their trigger — the composer's permission seat, the settings pickers, the workspace and preset chips — had no walk at all, and a walk that read its position from `document.activeElement` alternated between the first and last row as soon as a row refused focus. The walk now works either way and resumes from the index it last focused. The keyboard returns to the anchor on Escape and on a selection — unless the owner moved it itself, as a presented file card does for its preview button — and the focused row wears the hover fill instead of the browser's ring. An open menu takes the first Escape from the dialog it sits in. The composer's trigger menu keeps its own Tab, which settles or drills the highlighted candidate; Escape and Shift+Tab leave it without settling, and a dismissed menu stays dismissed until its query changes. Opening it from the launcher button returns the keyboard to the editor first, since the menu is a combobox over that editor.
7 lines
442 B
YAML
7 lines
442 B
YAML
# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
|
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
# after editing either side, bring the other along and re-record with:
|
|
# pnpm run verify-translation-pairing --write packages/client/ui-input-trigger/README.md
|
|
README.md: 10c0f8df7b2cc0698ba7e10f695da09c1fa72a33
|
|
README.zh.md: fb0f0a969965c27bbd129e70381692c4b1297f5b
|