Keyboard and Screen Reader Accessibility in Wispr Flow

Last updated: June 5, 2026

Available on: Mac, Windows, iOS, Android

Drive Flow entirely from your keyboard, use it with screen readers like VoiceOver, NVDA, JAWS, and TalkBack, and let Flow follow your system's reduced motion setting. Accessibility features are on by default — no setup needed.


What it is

Wispr Flow includes built-in keyboard navigation, screen reader support, and reduced motion handling across all platforms. The interface uses semantic HTML and ARIA attributes, ships with a visible focus ring, and respects system accessibility preferences without requiring any in-app configuration.


When to use it

Use Flow's accessibility features when you want to:

  • Drive the entire interface from the keyboard without reaching for a mouse.

  • Use Flow with VoiceOver, NVDA, JAWS, or TalkBack.

  • Reduce on-screen animation, including the Start Flow glow ring and onboarding toasts.

  • Apply a repolish style to selected text using a keyboard shortcut.


How it works in Flow

Overview

Flow ships with keyboard navigation, screen reader support, and reduced motion handling enabled by default. Behavior is consistent across desktop, with additional refinements on iOS and Android for touch input and assistive tech.

Keyboard navigation

Navigate Flow's interface entirely with your keyboard. A visible focus ring shows which element is currently selected.

  • Tab: Move focus between interactive elements.

  • Space or Enter: Activate the focused item.

  • Escape: Close menus and return focus to the previous element.

  • Cmd+[ / Cmd+] (Mac) or Ctrl+[ / Ctrl+] (Windows): Navigate back and forward in Hub history.

  • Option+2/3/4/5 (Mac) or Win+Alt+2/3/4/5 (Windows): Apply a repolish style to selected text, such as Prompt Engineer or Turn to list.

  • View changes hotkey (Mac): Customizable in the keyboard shortcuts settings dialog.

Important: Repolish shortcuts are not registered until you first visit the Transforms tab, click "Try it out," or toggle Transforms on. Until then, Option+key characters on international keyboards (such as ñ, ö) work normally.

Screen reader support

Flow uses semantic HTML and ARIA attributes for screen reader compatibility. It is tested with VoiceOver (Mac), NVDA and JAWS (Windows), and TalkBack (Android).

  • Interactive elements: States are announced correctly (expanded, collapsed, disabled).

  • Navigation landmarks: Main and secondary navigation regions help you understand page structure.

  • Active page: Announced via aria-current for orientation.

  • Focus management: Logical reading order is maintained throughout the app.

  • Decorative images: Hidden from screen readers to reduce noise.

  • Disabled controls: Communicated via the HTML disabled attribute and aria-disabled. Loading states show a "Loading" label.

  • Help menu: Uses a full ARIA dialog pattern. The Help button announces its expanded/collapsed state, the menu panel is announced as a dialog, and menu items are keyboard-focusable only when the menu is open.

Reduced motion

Flow respects your system's reduced motion preference. When enabled, animations are minimized — including the onboarding hold toast and the animated glow ring around the Start Flow button on the keyboard.

To enable reduced motion:

  • Mac: System Settings → Accessibility → Display → enable Reduce Motion.

  • Windows: Settings → Accessibility → Visual effects → turn off Animation effects.

Tip: Flow detects this preference automatically — no configuration needed in the app.

Platform-specific behaviors

Mobile platforms include additional refinements for touch input, on-screen keyboards, and background process management.

Android

Android screens are optimized for TalkBack, on-screen keyboards, and background process management.

  • Accessibility setup guide: The guide image shown during accessibility settings setup is announced by TalkBack with a proper description.

  • Dictionary screen: Search, word list, add/edit/delete actions, and filter chips (enterprise users only) are accessible with TalkBack. Swipe-to-edit and swipe-to-delete icons have proper labels.

  • Back button behavior: On the main Dashboard, pressing back first closes the navigation drawer if it's open. If the drawer is closed and you're on a non-home tab, the first back press dismisses the keyboard and the second returns you to the Home tab. On the Home tab, back dismisses the keyboard or exits the app as normal.

  • Navigation drawer and keyboard: Opening the navigation drawer automatically hides the on-screen keyboard to prevent overlap.

  • Flow Bubble visibility: The Flow Bubble appears when your on-screen keyboard opens and disappears when it closes. With an external keyboard, the on-screen keyboard does not open, so the bubble does not appear. In search fields, the bubble automatically shrinks so it stays out of the way.

  • Flow Bubble positioning: The bubble repositions correctly when you rotate your device to landscape.

  • Keyboard handling: In edit mode, the Done button and list fade stay above the on-screen keyboard so they remain reachable. Snooze state is also preserved when the keyboard opens.

  • Shake to unsnooze: Shaking your device while Flow is snoozed unsnoozes it immediately.

  • Auto-start after device boot: Flow starts automatically when your device boots, as long as accessibility permission is enabled.

  • Connection and permission recovery: Flow detects when the accessibility connection drops or permission is revoked and signals it on the Flow Bubble (pulsing spinner = reconnecting; warning triangle = needs attention). Tap the warning triangle to open the accessibility permission screen directly. Flow also auto-restarts after being force-stopped and retries text insertion when the connection to a text field is lost. If you revoke microphone permission, Flow continues running and the Flow Bubble stays visible — tap it to re-grant access without restarting.

iOS

The Wispr QWERTY keyboard on iOS includes refinements that make typing more accessible and forgiving.

  • Tap accuracy: Tapping in the gap between keys activates the nearest key instead of doing nothing.

  • Autocorrect: Corrects misspelled words when you press space, return, or punctuation — for example, typing "teh" produces "the." Acronyms and words containing digits are left unchanged. Toggle Keyboard Autocorrect in Settings (off by default).

  • Keyboard layout: Shift and Delete keys are smaller with gaps separating them from letter keys. The spacebar fills the full width of the bottom row, and double-tapping Space inserts a period followed by a space.

  • Globe button (small-screen iPhones): A globe (🌐) button appears on the bottom row of small-screen iPhone models such as iPhone SE (2nd and 3rd generation). Tap it to switch to another installed keyboard.

  • Space bar timing: Inserts a space when you lift your finger, matching the native iOS keyboard. Long-pressing the space bar to move the cursor still works as expected.

  • Typing performance: Reduced lag and fewer dropped keys during rapid typing.

  • Swipe back to activate mic (iOS 26.4 and later): When you need to swipe back to your previous app to activate the microphone, Flow shows a "Swipe back to your app" screen with a prompt and an animation guiding the gesture.


Examples

Navigating the Help menu with the keyboard

You do: Press Tab to the Help icon and press Space or Enter to open the menu. Tab through menu options and press Enter to select.

Result: The menu opens and each option receives focus in sequence. Press Escape to close the menu and return focus to the Help button.

Using Flow with VoiceOver on Mac

You do: Enable VoiceOver (Cmd+F5) and navigate to the Flow Bar.

Flow announces: Navigation landmarks, interactive element states, and the currently active page — letting you orient yourself without visual cues.

Editing a writing style with TalkBack on Android

You do: Open the Styles screen and use the category picker to browse style groups. Tap a style to open the editing sheet.

Flow announces: The sheet header with Cancel and Save buttons. Swipe to Save and double-tap to apply, or swipe to Cancel to discard changes.

Applying a repolish style with a keyboard shortcut

You do: Select some text, then press Option+2 (Mac) or Win+Alt+2 (Windows).

Result: Flow applies the selected polishing style (such as Prompt Engineer or Turn to list) without lifting your hands from the keyboard. Use Option/Win+Alt+3, +4, or +5 for the other available styles.


Common issues

Bugs fixed in recent Android updates

Several Android issues were resolved across recent updates. Update to the latest version to get all of these fixes:

  • Flow Bubble disappeared when microphone permission was revoked: A timing issue could bring down Flow's background service when mic permission was revoked, taking the Flow Bubble and accessibility connection with it. Flow's service now stays running, keeping the overlay and accessibility connection alive so you can tap the bubble to re-grant access.

  • Flow crashed repeatedly after revoking microphone permission on Android 14+: Flow no longer enters a crash loop when mic permission is revoked in System Settings. The Flow Bubble shows a prompt so you can tap to restore access without reinstalling.

  • Flow Bubble disappeared in the background: Android's memory manager and battery optimizers could stop Flow in the background. The bubble now reappears the next time you open the app, as long as you're signed in and accessibility permission is still granted.

  • Flow Bubble and text insertion stopped working even with accessibility permission enabled (fixed in 1.8.2): Some Android devices (OnePlus, Xiaomi, Huawei, Oppo, Vivo, Samsung) silently disabled Flow's accessibility permission in the background. Flow now detects this and sends a high-priority "Wispr Flow needs attention" notification linking directly to the relevant settings.

  • Flow didn't restart after being force-stopped or killed by the OS (fixed in 1.8.4): Flow now restarts automatically when you bring it back to the foreground and prompts you to re-grant accessibility permission if needed.

  • Dictated text wasn't inserted after switching apps or text fields (fixed in 1.8.8): Flow now detects a broken connection to the active text field and automatically retries text insertion.

  • Flow didn't start automatically after device boot (fixed in 1.9.8): Flow now starts on boot as long as accessibility permission is enabled.

  • No prompt to re-enable accessibility on cold launch (fixed in 1.9.8): The Repair bubble now appears immediately on launch whenever accessibility permission is missing, and stays visible until reconnected.

  • Text insertion was slow on Samsung devices (fixed in 1.9.8): Flow now recovers faster after a connection issue, so text is inserted more quickly.

  • Flow Bubble took up to 30 seconds to show a reconnecting indicator (fixed in 1.9.8): Lost connections are now detected immediately and signaled on the bubble (pulsing spinner = reconnecting; warning triangle = needs attention).

  • Snooze reset, got stuck, or didn't respond to shake (fixed in 1.9.8): Snooze state now persists when the keyboard opens, shake-to-unsnooze works reliably, and snooze cards are cleared after a force-stop and relaunch.

  • Flow Bubble positioning issues (fixed in 1.9.8): The bubble now repositions correctly after landscape rotation and shrinks automatically in search fields.

To get these fixes:

  1. Update Wispr Flow to the latest version.

  2. Restart your device once after updating.

  3. Re-grant accessibility or microphone permission if Flow prompts you.


FAQs

Can I use keyboard navigation alongside voice input?

Yes. Keyboard navigation and voice-to-text work independently. Use keyboard shortcuts to navigate the interface while dictating.

The Help menu isn't closing when I press Escape. What should I do?

Make sure the Help menu has focus before pressing Escape — Tab to it first, then press Escape. If it still doesn't close, click elsewhere in the app to dismiss it.

Why do I see a warning about accessibility shortcuts on Android?

During Android onboarding, Flow warns you not to enable the system accessibility shortcut. If it's already enabled, an error screen appears with an "Open settings" button. Turn the shortcut off and onboarding resumes automatically.

What does a pulsing or warning triangle bubble mean on Android?

Flow's accessibility connection has dropped. A pulsing bubble with a loading spinner means Flow is reconnecting automatically — wait a moment. A warning triangle means reconnection is taking longer than usual or permission may have been revoked; tap the bubble to open the accessibility settings screen and re-enable Flow.

What is the Repair bubble on Android, and why won't it go away?

The Repair bubble appears when Flow's accessibility permission is missing or disconnected, and stays visible until you restore that permission. This is intentional — Flow needs accessibility permission to work. Tap the bubble to open accessibility settings. Snooze is unavailable while the bubble is in this state.

What happens if I revoke microphone permission on Android?

On Android 14 and later, Flow continues to run instead of crashing. The Flow Bubble stays visible with a prompt to re-grant microphone access in Settings, and the accessibility connection remains active so you keep your place. Once you restore permission, Flow resumes dictation automatically — no restart required.

Can I turn off autocorrect on the iOS keyboard?

Yes. Open Settings in Wispr Flow and toggle off Keyboard Autocorrect. The toggle is only visible when the Wispr QWERTY keyboard is active, and autocorrect is off by default.

I can't switch away from the Wispr keyboard on my iPhone SE. What can I do?

Tap the globe (🌐) button on the bottom row of the Wispr keyboard. Make sure you have at least one other keyboard installed in Settings → General → Keyboard → Keyboards.

I don't see the repolish keyboard shortcuts. Why not?

Repolish shortcuts are available on Mac and Windows only. They activate after you first visit the Transforms tab, click "Try it out," or toggle Transforms on.

My Option+key special characters stopped working on an international keyboard. What happened?

Visiting the Transforms tab, clicking "Try it out," or toggling Transforms on activates the Transforms shortcuts (Option+1, Option+2, etc.). If these conflict with your layout's special characters (such as ñ or ö), customize or disable them in the keyboard shortcuts settings dialog.


Limitations and notes

  • Tested screen readers: VoiceOver (Mac), NVDA and JAWS (Windows), and TalkBack (Android). Other screen readers have not been tested.

  • Repolish shortcuts: Available on Mac and Windows only.

  • Hub top bar: The sidebar toggle, account panel, and notifications controls are not yet keyboard-accessible.

  • Collapsed sidebar: The floating tooltip on hover is mouse-only and does not appear on keyboard focus. Item labels remain in the DOM, so screen readers can still read them.

  • Tab controls: Tab controls throughout the app (e.g., Stats dialog tabs) are not yet keyboard-navigable or properly announced. The Settings sidebar navigation also lacks keyboard accessibility and ARIA roles.

  • Icon-only buttons: Some icon-only buttons (e.g., Dictionary search and sort) lack accessible labels.

  • Help menu focus: Clicking outside the Help menu closes it but does not return focus to the Help button. Press Escape instead to close it and properly return focus.

  • Hub stats bar: The streaks/words/WPM stats bar is not keyboard-accessible — it cannot be focused via Tab or activated via Enter.

  • Disabled tabs: Disabled tabs (e.g., "Coming soon") are only visually indicated — no aria-disabled attribute is exposed to screen readers.

  • Android Styles screen: Cancel and Save in the editing sheet are not semantically marked as buttons, so TalkBack may not announce standard button affordances. The Save button's disabled state is also not communicated to accessibility services.

  • Android accessibility shortcut error screen: The alert icon has a non-descriptive label ("Image") for TalkBack users.

  • Android back button behavior: The predictable back button behavior (closing the drawer, dismissing the keyboard, returning to Home) applies to the main Dashboard screen only.

  • Android version requirement: Wispr Flow requires Android 13 or later.

  • Android Flow Bubble connection recovery: Most relevant on Samsung One UI 6 and devices with aggressive battery or deep sleep management. The pulsing bubble is not tappable during automatic reconnection. If reconnection takes longer than usual, a warning triangle appears — tap it to open accessibility settings. The bubble indicator is suppressed while you are actively dictating.

  • Android Repair bubble: Stays visible until accessibility is restored — it cannot be dismissed by changing focus, typing, shaking the device, or other interactions. Attempting to snooze it shows: "Snooze is unavailable while accessibility needs attention."

  • Android microphone permission recovery: Available on Android 14 and later. If microphone permission is revoked, dictation is paused but the Flow Bubble and re-grant prompt remain visible. Dictation resumes automatically once access is restored.

  • Android auto-start on boot: Requires accessibility permission to be enabled. If accessibility is disabled at boot time, Flow will not start automatically — open the app and re-enable accessibility when prompted.

  • iOS autocorrect: Applies only when using the Wispr QWERTY keyboard. The Keyboard Autocorrect toggle only appears for users enrolled in the Wispr QWERTY keyboard rollout.

  • Globe button availability: Only appears on small-screen iPhone models (iPhone SE 2nd and 3rd generation, 4.7" screens). On larger iPhones, the system globe button is already available.

  • Start Flow button glow ring: Only visible when the Wispr QWERTY keyboard option is enabled.

  • Swipe back screen: The "Swipe back to your app" screen is available on iOS 26.4 and later only.