Onboarding: make the model-card info (ⓘ) icon a real button with a click-to-open popover#465
Open
geekrebel wants to merge 1 commit into
Open
Conversation
…-open popover The info icon on each voice-engine card in onboarding was a static Image whose details were only reachable via the hover help tag. The glyph reads as an interactive control but had no click action and was not keyboard/VoiceOver focusable, so the information was effectively hover-only. Wrap it in a Button that toggles a popover (reusing the existing info-popover pattern from CustomDictionaryView), keep the help tag as a supplement, and give it a proper accessibility label and hint. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
On the onboarding "Choose your voice engine" step, each model card has an info (ⓘ) glyph in its top-right corner. Today that glyph is a static
Imagewhose details are only revealed through the macOS help tag (tooltip) after hovering the pointer for a moment.That has a few problems:
This PR turns the glyph into an actual
Buttonthat toggles a small.popoverwith the model's name, engine + download size, and description. The help tag is kept as a supplement, and the control now has a proper accessibility label and hint.It reuses the project's existing info-popover pattern from
CustomDictionaryView(the "About Vocabulary Boosting" button), so it's consistent with how the rest of the app already surfaces contextual help.Reasoning (Apple Human Interface Guidelines)
Imageis not focusable; aButtonis keyboard-focusable, Space/Return-activatable, gets a focus ring, and is exposed to VoiceOver as a button with a hint rather than as a static image.Type of Change
Testing
swiftlint --strictswiftformatI wasn't able to run the full app, SwiftLint, or SwiftFormat in my environment (no full Xcode toolchain / the linters aren't installed here), so I've left those boxes unchecked rather than claim them. The change is small and isolated to
OnboardingFlowView, uses only APIs already present in this file, and mirrors the existingCustomDictionaryViewpopover pattern, so it should sail through CI's build. Happy to adjust styling to match SwiftFormat/SwiftLint output if CI flags anything.Notes
Screenshots / Video
I couldn't build/run locally to capture a recording. The change adds a click-triggered popover to the existing ⓘ on each onboarding model card; the popover contains the model name, engine + download size, and description (the same content previously shown only in the hover tooltip).