You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Proposal] Add keyboard support for CupertinoAlertDialog #165977
Hey @fedorstepanovv, Thanks for filing the issue. PlatformAlertDialog or showPlatformDialog doesn't seem to be part of material or cupertino package or the flutter sdk.
If that is a third party package/widget you will need to file the issue with the maintainer to add keyboard support.
Btw if you check AlertDialog it does support keyboard
changed the title [-]Keyboard navigation support issue in dialogs (Ipad, IOS)[/-][+]Keyboard navigation support issue in CupertinoAlertDialog (Ipad, IOS)[/+]on Apr 1, 2025
Hi @maheshj01. Thanks for your response. You are right that the following methods are not the part of a cupertino package directly, sorry for the misunderstanding. However the package that provide those methods is based on cupertino/material. I agree that there is no issue with AlertDialog. However when it comes to Cupertino, it seems like it doesn't provide a lot of keyboard support features. For example: CupertinoAlertDialog. I updated this issue to address this problem.
✓] 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.
I'd be interested to work on this if someone could assign it to me!
The real issue is not in CupertinoAlertDialog, its the widget that is passed to it as action. It does focus the actions just fine when eg. TextButton is used as action.
In the examples, it is the CupertinoDialogAction widget that is not focusable, thus making it seem like keyboard focus would not work on CupertinoAlertDialog. So the title of the issue could be changed to talk about adding keyboard focus support for CupertinoDialogAction.
This issue is assigned to @O-Hannonen but has had no recent status updates. Please consider unassigning this issue if it is not going to be addressed in the near future. This allows people to have a clearer picture of what work is actually planned. Thanks!
This issue was assigned to @O-Hannonen but has had no status updates in a long time. To remove any ambiguity about whether the issue is being worked on, the assignee was removed.
Activity
maheshj01 commentedon Mar 26, 2025
Hey @fedorstepanovv, Thanks for filing the issue.
PlatformAlertDialogorshowPlatformDialogdoesn't seem to be part of material or cupertino package or the flutter sdk.If that is a third party package/widget you will need to file the issue with the maintainer to add keyboard support.
Btw if you check AlertDialog it does support keyboard
code sample
Closing as invalid in case you disagree, please feel free to write in the comments, and we will reopen it
[-]Keyboard navigation support issue in dialogs (Ipad, IOS)[/-][+]Keyboard navigation support issue in CupertinoAlertDialog (Ipad, IOS)[/+]fedorstepanovv commentedon Apr 1, 2025
Hi @maheshj01. Thanks for your response. You are right that the following methods are not the part of a cupertino package directly, sorry for the misunderstanding. However the package that provide those methods is based on cupertino/material. I agree that there is no issue with AlertDialog. However when it comes to Cupertino, it seems like it doesn't provide a lot of keyboard support features. For example: CupertinoAlertDialog. I updated this issue to address this problem.
maheshj01 commentedon Apr 1, 2025
Thank you for the clarification @fedorstepanovv.
I'm going to label this as a proposal to add keyboard support for CupertinoAlertDialog
Screen.Recording.2025-04-01.at.19.23.32.mov
Screen.Recording.2025-04-01.at.19.26.28.mov
code sample (Cupertino Dialog)v
code sample(AlertDialog)
flutter doctor -v
master
stable
4 remaining items
O-Hannonen commentedon Apr 12, 2025
I'd be interested to work on this if someone could assign it to me!
The real issue is not in
CupertinoAlertDialog, its the widget that is passed to it as action. It does focus the actions just fine when eg.TextButtonis used as action.In the examples, it is the
CupertinoDialogActionwidget that is not focusable, thus making it seem like keyboard focus would not work onCupertinoAlertDialog. So the title of the issue could be changed to talk about adding keyboard focus support forCupertinoDialogAction.maheshj01 commentedon Apr 14, 2025
@O-Hannonen Thank you for your interest to contribute. I have assigned the issue to you.
visma-onnimanni-hannonen commentedon May 30, 2025
Just a small status update here too: most of the changes are already done, but the rest are pending on the changes from this PR.
flutter-triage-bot commentedon Aug 18, 2025
This issue is assigned to @O-Hannonen but has had no recent status updates. Please consider unassigning this issue if it is not going to be addressed in the near future. This allows people to have a clearer picture of what work is actually planned. Thanks!
flutter-triage-bot commentedon Oct 22, 2025
This issue was assigned to @O-Hannonen but has had no status updates in a long time. To remove any ambiguity about whether the issue is being worked on, the assignee was removed.