-
Notifications
You must be signed in to change notification settings - Fork 6k
Remove UIAccessibilityTraitKeyboardKey to fix touch typing #52333
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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, engine/shell/platform/darwin/ios/framework/Source/accessibility_text_entry.mm Lines 262 to 267 in 33c828f
This is happening due to Flutter adding the engine/shell/platform/darwin/ios/framework/Source/accessibility_text_entry.mm Lines 307 to 312 in 33c828f
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. |
chunhtai
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
…147336) flutter/engine@b5d5832...b30c0a7 2024-04-24 15619084+vashworth@users.noreply.github.com Remove UIAccessibilityTraitKeyboardKey to fix touch typing (flutter/engine#52333) 2024-04-24 bdero@google.com [Impeller] Remove libtess2 from libflutter. (flutter/engine#52357) 2024-04-24 skia-flutter-autoroll@skia.org Roll Skia from 510b6766d907 to afcc1db27593 (2 revisions) (flutter/engine#52367) 2024-04-24 yjbanov@google.com [web:tests] switch to new HTML DOM matcher (flutter/engine#52354) 2024-04-24 jonahwilliams@google.com [Impeller] use spec constant for gaussian shader, rename, and reuse vertex sources. (flutter/engine#52361) 2024-04-24 jonahwilliams@google.com [Impeller] delete points compute shader. (flutter/engine#52346) 2024-04-24 byoungchan.lee@gmx.com [darwin] Update pixel format handling in FlutterTexture (flutter/engine#52326) 2024-04-24 jonahwilliams@google.com [Impeller] make drawAtlas always use porterduff or vertices_uber shader (flutter/engine#52348) 2024-04-24 magder@google.com Migrate ios_surface files to ARC (flutter/engine#52139) 2024-04-24 skia-flutter-autoroll@skia.org Roll Dart SDK from f470eaaf6e6d to 38c43a01a51e (1 revision) (flutter/engine#52365) 2024-04-24 skia-flutter-autoroll@skia.org Roll Skia from b5dd23bd29df to 510b6766d907 (16 revisions) (flutter/engine#52364) 2024-04-24 jason-simmons@users.noreply.github.com Fix some warnings reported by recent versions of clang-tidy (flutter/engine#52349) 2024-04-24 skia-flutter-autoroll@skia.org Roll Skia from e15464e6e982 to b5dd23bd29df (1 revision) (flutter/engine#52353) 2024-04-24 skia-flutter-autoroll@skia.org Roll Dart SDK from 5227dc5103f6 to f470eaaf6e6d (1 revision) (flutter/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.