From 2349fec917bab232413d6704c20eb01af2c19d0c Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Wed, 18 Mar 2020 17:19:18 -0700 Subject: [PATCH] Removed a text input trait that causes VoiceOver to be incorrect when tapping a text input. --- .../ios/framework/Source/accessibility_text_entry.mm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/shell/platform/darwin/ios/framework/Source/accessibility_text_entry.mm b/shell/platform/darwin/ios/framework/Source/accessibility_text_entry.mm index 0bf0a6963606f..9fb441413b665 100644 --- a/shell/platform/darwin/ios/framework/Source/accessibility_text_entry.mm +++ b/shell/platform/darwin/ios/framework/Source/accessibility_text_entry.mm @@ -7,6 +7,8 @@ #include "flutter/shell/platform/darwin/ios/framework/Source/accessibility_bridge.h" #include "flutter/shell/platform/darwin/ios/framework/Source/accessibility_text_entry.h" +static const UIAccessibilityTraits UIAccessibilityTraitUndocumentedEmptyLine = 0x800000000000; + @implementation FlutterInactiveTextInput { } @@ -284,8 +286,13 @@ - (UIAccessibilityTraits)accessibilityTraits { // Adding UIAccessibilityTraitKeyboardKey to the trait list so that iOS treats it like // a keyboard entry control, thus adding support for text editing features, such as // pinch to select text, and up/down fling to move cursor. - return [super accessibilityTraits] | [self textInputSurrogate].accessibilityTraits | - UIAccessibilityTraitKeyboardKey; + UIAccessibilityTraits results = [super accessibilityTraits] | + [self textInputSurrogate].accessibilityTraits | + UIAccessibilityTraitKeyboardKey; + // We remove an undocumented flag to get rid of a bug where single-tapping + // a text input field incorrectly says "empty line". + // See also: https://github.com/flutter/flutter/issues/52487 + return results & (~UIAccessibilityTraitUndocumentedEmptyLine); } #pragma mark - UITextInput overrides