Skip to content

[Fix] Model search fields have no accessible name - #3605

Open
roomote-roomote[bot] wants to merge 1 commit into
developfrom
fix/model-search-context-name-1k5z9hnl597nc
Open

roomote-roomote[bot] wants to merge 1 commit into
developfrom
fix/model-search-context-name-1k5z9hnl597nc

Conversation

@roomote-roomote

@roomote-roomote roomote-roomote Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

​Opened on behalf of @daniel-lxs. Follow up by mentioning @roomote-roomote, in the web UI, or in Telegram.

What changed

The searchable model picker now names its focused search input using the picker's existing context, such as “Environment setup model” or “Environment edit model.” The fallback remains “Model.”

Why this change was made

On current develop (eb9dc4b4), opening the real model popover focuses an unnamed combobox. Its generated label is empty even though the closed trigger has a name. The placeholder does not provide that context in the accessibility tree.

Impact

Assistive navigation can identify which model field is being searched. One existing label prop supplies the name; there are no visible UI, state, dependency, search-scoring or handler changes. The small-catalog Select path retains its existing behavior.

How it was tested

  • Three new real-cmdk tests fail before the fix and pass afterward, covering the fallback and two caller-specific names. All 32 focused ModelSelect and CreateEnvironmentPage tests pass, including existing search, selection, empty-option, disabled/loading, small-catalog, scrolling and nested-dialog controls. One existing CreateEnvironmentPage test emits an act warning.
  • Actual local desktop (1440×1000) and mobile (390×844) accessibility trees now identify the focused input as “Environment edit model”; the Create environment input is similarly named “Environment setup model.” Search, keyboard selection and Escape preserve selection and restore trigger focus. No environment was saved or agent launched.
  • This is a semantic-only change: screenshots cannot demonstrate the accessible name, so no screenshot package is claimed. Existing handset parent-page overflow remains separate; the Create action-row case is addressed by the linked responsive PR. OS screen-reader narration and mobile software-keyboard behavior were not exercised.
  • Pre-push oxlint, residual lint, fast repository typechecks and knip passed. The optional local Judgement evaluator could not collect evidence; full hosted checks and exact-head automated review subsequently passed at 16918b25.

Checklist

  • The PR title follows the repo convention: [Fix], [Feat], [Improve], [Refactor], [Docs], or [Chore] followed by a user-facing description
  • This PR is small and scoped to one change
  • pnpm lint and pnpm check-types pass locally — repository-recommended fast gates passed
  • I added tests or included a clear manual validation note above
  • I removed secrets, tokens, private keys, and customer data from code, logs, and screenshots
  • If this change should appear in the changelog, I ran pnpm changeset — no changeset added

Related PRs

@roomote-community

roomote-community Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

No code issues found. See session

Reviewed 16918b2

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant