uttrflow / uttrflow/uttrflow-swift

There is no ⌘F: the page search field in the main window can't be reached by shortcut

Open
#527 0 comments 0 reactions 0 assignees View on GitHub
accessibility area:general enhancement P2
Dominant language
Swift
Stars
4
Forks
17
Avg merge
3h 32m
Merged PRs (30d)
277

Description

## What happens

Five pages of the main window have a search field in the page header (History, Dictation, Dictionary, Snippets and Corrections: `MainSearchField` in `Sources/UttrflowUX/HistoryPresentation.swift:134` used from `MainWindowView.swift:81-85`, `MainDictationPresentation.swift:188`, `DictionaryPresentation.swift:206`, `SnippetsPresentation.swift:205`, `CorrectionsPresentation.swift:176`). There is no ⌘F to get to it:

- The app's menu bar (`Sources/Uttrflow/MainMenu.swift`) has no Find item. Its Edit menu stops at Select All (lines 47-59).
- `MainSearchControl` (`Sources/Uttrflow/Main/MainWindowView.swift:220-240`) has no `@FocusState`, and nothing in the window can move focus to it. A grep for `FocusState` and `.focused` across `Sources/Uttrflow` (outside the panel) returns nothing.

The only ways into the field are clicking it, or tabbing through the sidebar's page buttons and the header first with Full Keyboard Access on.

## Why it matters

⌘F is the standard way into search in every Mac app, and people reach for it without looking. Keyboard-only and VoiceOver users otherwise have to walk through the whole sidebar to reach the field.

## How to reproduce

Open the main window, go to History, and press ⌘F. Nothing happens, and focus doesn't move.

## Acceptance criteria

- Edit, Find (⌘F) is in the menu bar. It's enabled when the current page has a search field and disabled otherwise.
- Choosing it focuses and selects the current page's search field.
- Escape in a focused, non-empty search field clears it.
- `Tests/UttrflowTests/MainMenuTests.swift` covers the new item and its key equivalent.

Contributor guide

Open the contributing guide

Research direction

Start with Sources/Uttrflow/MainMenu.swift and MainWindowView.swift, including MainSearchControl and the five page presentations named in the issue. Read Tests/UttrflowTests/MainMenuTests.swift and reproduce ⌘F on the History page. Done means Edit > Find is conditionally enabled, focuses and selects the page search field, Escape clears non-empty input, and the menu test covers the key equivalent.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, swift
Domain
accessibility, desktop-dev
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.