Remove UIAccessibilityTraitKeyboardKey to fix touch typing#52333
Conversation
|
The original PR was made in 2018, so it could be that this changed in a newer version of iOS or something about how we do text input has changed? It's unclear to me. I only have an iOS 17 device to test with. @chunhtai Do you think it's worth wrapping in an |
chunhtai
left a comment
There was a problem hiding this comment.
Can you talk a bit more on why removing the trait fixes the issue? What is the observed behavior before and after?
Yes, the issue is that when touch typing is on, This is happening due to Flutter adding the According to Apple's documentation UIAccessibilityTraitKeyboardKey tells iOS that the "accessibility element behaves like a keyboard key". And if we look at the different typing modes, Touch typing reacts on a single tap on a keyboard key whereas Standard typing reacts on a double tap on a keyboard key:
So by treating By removing |
|
Thanks for explanation, yes this makes sense. According to the doc, that trait should probably not be on the Textfield semantics object. |
flutter-team-archive/engine@b5d5832...b30c0a7 2024-04-24 15619084+vashworth@users.noreply.github.com Remove UIAccessibilityTraitKeyboardKey to fix touch typing (flutter-team-archive/engine#52333) 2024-04-24 bdero@google.com [Impeller] Remove libtess2 from libflutter. (flutter-team-archive/engine#52357) 2024-04-24 skia-flutter-autoroll@skia.org Roll Skia from 510b6766d907 to afcc1db27593 (2 revisions) (flutter-team-archive/engine#52367) 2024-04-24 yjbanov@google.com [web:tests] switch to new HTML DOM matcher (flutter-team-archive/engine#52354) 2024-04-24 jonahwilliams@google.com [Impeller] use spec constant for gaussian shader, rename, and reuse vertex sources. (flutter-team-archive/engine#52361) 2024-04-24 jonahwilliams@google.com [Impeller] delete points compute shader. (flutter-team-archive/engine#52346) 2024-04-24 byoungchan.lee@gmx.com [darwin] Update pixel format handling in FlutterTexture (flutter-team-archive/engine#52326) 2024-04-24 jonahwilliams@google.com [Impeller] make drawAtlas always use porterduff or vertices_uber shader (flutter-team-archive/engine#52348) 2024-04-24 magder@google.com Migrate ios_surface files to ARC (flutter-team-archive/engine#52139) 2024-04-24 skia-flutter-autoroll@skia.org Roll Dart SDK from f470eaaf6e6d to 38c43a01a51e (1 revision) (flutter-team-archive/engine#52365) 2024-04-24 skia-flutter-autoroll@skia.org Roll Skia from b5dd23bd29df to 510b6766d907 (16 revisions) (flutter-team-archive/engine#52364) 2024-04-24 jason-simmons@users.noreply.github.com Fix some warnings reported by recent versions of clang-tidy (flutter-team-archive/engine#52349) 2024-04-24 skia-flutter-autoroll@skia.org Roll Skia from e15464e6e982 to b5dd23bd29df (1 revision) (flutter-team-archive/engine#52353) 2024-04-24 skia-flutter-autoroll@skia.org Roll Dart SDK from 5227dc5103f6 to f470eaaf6e6d (1 revision) (flutter-team-archive/engine#52359) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC jimgraham@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
UIAccessibilityTraitKeyboardKeywas added in #4575 so thatTextInputSemanticsObjectsupported VoiceOver gestures for text editing features, such as pinch to select text, and up/down fling to move cursor. After experimenting with it, I found that those features were still available even after removingUIAccessibilityTraitKeyboardKey.Fixes flutter/flutter#94465.
In Touch Typing Mode:
touch_typing.mov
In Standard Typing Mode:
standard_typing.mov
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.