Skip to content

polish(ios): empty state actions and VoiceOver custom actions for swipe-only deletes#1180

Merged
datlechin merged 1 commit intomainfrom
polish/empty-states-and-accessibility
May 10, 2026
Merged

polish(ios): empty state actions and VoiceOver custom actions for swipe-only deletes#1180
datlechin merged 1 commit intomainfrom
polish/empty-states-and-accessibility

Conversation

@datlechin
Copy link
Copy Markdown
Member

Summary

Final UX consistency pass before the audit closes out. Two small categories of fixes.

Empty state polish

  • GroupManagementView empty state gains a "Create Group" button so the user does not need to find the toolbar + button
  • TagManagementView same: "Create Tag" button on the empty state
  • QueryEditorView "No Results" gets a description: "The query returned no rows." Matches the description-included shape used by every other empty state (Tables, Indexes, FKs, History)

VoiceOver custom actions

Audit revealed three rows whose only deletion path was a trailing swipe gesture, which VoiceOver users cannot trigger. Added .accessibilityAction(named:) so those deletions show up in the standard "Custom Actions" rotor:

  • DataBrowserView row → "Delete row"
  • GroupManagementView row → "Delete group"
  • TagManagementView row → "Delete tag" (only when not a preset tag)

ConnectionListView rows already expose Edit / Duplicate / Delete via context menu, which VoiceOver picks up automatically; no extra accessibility action needed there. QueryHistoryView uses .onDelete which provides the standard accessibility delete action for free.

Test plan

  • Open Groups with no groups created: empty state shows "Create Group" button, tapping opens the form sheet
  • Same for Tags
  • Run a SELECT that returns no rows: Query Editor shows "No Results" + description
  • VoiceOver on, navigate to a Data Browser row, swipe up on the rotor to "Custom Actions" → "Delete row" appears and triggers the delete confirmation
  • Same flow for a Group row and a non-preset Tag row

@datlechin datlechin merged commit 55f2850 into main May 10, 2026
3 checks passed
@datlechin datlechin deleted the polish/empty-states-and-accessibility branch May 10, 2026 07:30
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