-
Notifications
You must be signed in to change notification settings - Fork 28.6k
Full Keyboard Access on iOS Breaks External Keyboard Navigation in Flutter App #166683
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hey @SaadSafan, Thanks for filing the issue. What device are you seeing this issue on is that a physical device? I tried to reproduce it on iphone 16 plus simulator IOS 18 and I was not able to reproduce it Screen.Recording.2025-04-07.at.18.59.16.movflutter doctor -vmaster ✓] Flutter (Channel master, 3.31.0-1.0.pre.345, on macOS 15.1.1 24B2091 darwin-arm64, locale en-US) [2.6s]
• Flutter version 3.31.0-1.0.pre.345 on channel master at /Users/mahesh/Development/flutter_master
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 9ce60b743d (2 hours ago), 2025-03-31 23:50:27 +0300
• Engine revision 9ce60b743d
• Dart version 3.8.0 (build 3.8.0-245.0.dev)
• DevTools version 2.45.0-dev.0
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0) [3.1s]
• Android SDK at /Users/mahesh/Library/Android/sdk
• Platform android-35, build-tools 35.0.0
• ANDROID_HOME = /Users/mahesh/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
This is the JDK bundled with the latest Android Studio installation on this machine.
To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
• Java version OpenJDK Runtime Environment (build 21.0.5+-12932927-b750.29)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 16.0) [1,745ms]
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 16A242d
• CocoaPods version 1.16.2
[✓] Chrome - develop for the web [147ms]
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2024.3) [146ms]
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 21.0.5+-12932927-b750.29)
[✓] IntelliJ IDEA Community Edition (version 2021.2.1) [144ms]
• IntelliJ at /Applications/IntelliJ IDEA CE.app
• Flutter plugin version 61.2.4
• Dart plugin version 212.5080.8
[✓] VS Code (version 1.96.2) [19ms]
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.102.0
[✓] Connected device (2 available) [7.0s]
• macOS (desktop) • macos • darwin-arm64 • macOS 15.1.1 24B2091 darwin-arm64
• Chrome (web) • chrome • web-javascript • Google Chrome 131.0.6778.265
[✓] Network resources [688ms]
• All expected network resources are available.
• No issues found! stable [✓] Flutter (Channel stable, 3.29.2, on macOS 15.1.1 24B2091 darwin-arm64, locale en-US) [822ms]
• Flutter version 3.29.2 on channel stable at /Users/mahesh/Development/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision c236373904 (2 weeks ago), 2025-03-13 16:17:06 -0400
• Engine revision 18b71d647a
• Dart version 3.7.2
• DevTools version 2.42.3
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0) [3.2s]
• Android SDK at /Users/mahesh/Library/Android/sdk
• Platform android-35, build-tools 35.0.0
• ANDROID_HOME = /Users/mahesh/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
This is the JDK bundled with the latest Android Studio installation on this machine.
To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
• Java version OpenJDK Runtime Environment (build 21.0.5+-12932927-b750.29)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 16.0) [3.1s]
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 16A242d
• CocoaPods version 1.16.2
[✓] Chrome - develop for the web [136ms]
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2024.3) [135ms]
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 21.0.5+-12932927-b750.29)
[✓] IntelliJ IDEA Community Edition (version 2021.2.1) [134ms]
• IntelliJ at /Applications/IntelliJ IDEA CE.app
• Flutter plugin version 61.2.4
• Dart plugin version 212.5080.8
[✓] VS Code (version 1.96.2) [18ms]
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.102.0
[✓] Connected device (4 available) [6.7s]
• iPad Pro 11-inch (M4) (mobile) • A97192B5-5CFD-4164-BF2A-A6E2972614FF • ios • com.apple.CoreSimulator.SimRuntime.iOS-18-0
(simulator)
• macOS (desktop) • macos • darwin-arm64 • macOS 15.1.1 24B2091 darwin-arm64
• Mac Designed for iPad (desktop) • mac-designed-for-ipad • darwin • macOS 15.1.1 24B2091 darwin-arm64
• Chrome (web) • chrome • web-javascript • Google Chrome 131.0.6778.265
[✓] Network resources [294ms]
• All expected network resources are available.
! Doctor found issues in 1 category. |
Hey @maheshj01, thank you for testing. Screen.Recording.2025-04-08.at.10.mp4 |
Thanks for the details @SaadSafan, Unfortunately I am unable to reproduce it on my end. Given that you are able to reproduce on some of the devices I am going to label this issue as device specific for further investigation. Screen.Recording.2025-04-08.at.19.43.32.movflutter doctor -vmaster ✓] Flutter (Channel master, 3.31.0-1.0.pre.345, on macOS 15.1.1 24B2091 darwin-arm64, locale en-US) [2.6s]
• Flutter version 3.31.0-1.0.pre.345 on channel master at /Users/mahesh/Development/flutter_master
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 9ce60b743d (2 hours ago), 2025-03-31 23:50:27 +0300
• Engine revision 9ce60b743d
• Dart version 3.8.0 (build 3.8.0-245.0.dev)
• DevTools version 2.45.0-dev.0
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0) [3.1s]
• Android SDK at /Users/mahesh/Library/Android/sdk
• Platform android-35, build-tools 35.0.0
• ANDROID_HOME = /Users/mahesh/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
This is the JDK bundled with the latest Android Studio installation on this machine.
To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
• Java version OpenJDK Runtime Environment (build 21.0.5+-12932927-b750.29)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 16.0) [1,745ms]
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 16A242d
• CocoaPods version 1.16.2
[✓] Chrome - develop for the web [147ms]
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2024.3) [146ms]
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 21.0.5+-12932927-b750.29)
[✓] IntelliJ IDEA Community Edition (version 2021.2.1) [144ms]
• IntelliJ at /Applications/IntelliJ IDEA CE.app
• Flutter plugin version 61.2.4
• Dart plugin version 212.5080.8
[✓] VS Code (version 1.96.2) [19ms]
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.102.0
[✓] Connected device (2 available) [7.0s]
• macOS (desktop) • macos • darwin-arm64 • macOS 15.1.1 24B2091 darwin-arm64
• Chrome (web) • chrome • web-javascript • Google Chrome 131.0.6778.265
[✓] Network resources [688ms]
• All expected network resources are available.
• No issues found! |
FYI @LongCatIsLooong from triage (who is out for the moment). |
Uh oh!
There was an error while loading. Please reload this page.
Description
Basic support for Full Keyboard Access (FKA) should now be available as noted here:
Originally posted by @LongCatIsLooong in #76497
However, there is an issue when using an external keyboard with Full Keyboard Access enabled:
When connecting an external keyboard to an iOS device, Flutter apps typically function correctly. However, once "Full Keyboard Access" is enabled in iOS Accessibility settings, the external keyboard stops responding. The app becomes unresponsive to keyboard inputs, making navigation and button interactions impossible.
Steps to reproduce
Expected results
The app should continue to function normally and accept external keyboard input for navigation and actions even when Full Keyboard Access is enabled.
Actual results
Enabling Full Keyboard Access causes the app to lose responsiveness to external keyboard events. Neither navigation nor button clicks work, making the app unusable for keyboard users.
Code sample
Code sample
Screenshots or Video
Screenshots / Video demonstration
FKA.deactivated.mov
FKA.activated.mov
Flutter Doctor output
Doctor output
The text was updated successfully, but these errors were encountered: