-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Description
After the changes implemented in issue #94465, there seems to be a regression in VoiceOver accessibility for text editing on iOS.
While I cannot be certain that this issue directly caused the problem, I noticed the regression after this change was implemented, suggesting a potential correlation.
This issue significantly impacts the user experience for visually impaired users.
Current behavior:
- When a user activates an editable text field and the keyboard appears, they must first focus on the keyboard with VoiceOver before using the rotor to access editing options like "Select All" and "Paste".
- If VoiceOver focus is on the text field instead of the keyboard, using the rotor to navigate to "Edit" only shows "Scan Text" option.
Expected behavior (previous functionality):
Users could immediately use the VoiceOver rotor to access editing options like "Select All" and "Paste" after activating the text field, without needing to focus on the keyboard first.
This change makes it much more difficult for visually impaired users to perform common text editing tasks. Previously, they could easily paste text using the rotor immediately after activating the text field. Now, they must first navigate to the keyboard, which can be problematic, especially if the keyboard input mode is set to "Touch Typing". In this mode, any touch on the keyboard immediately activates keys, potentially inserting unwanted characters.
To reproduce:
- Enable VoiceOver on an iOS device.
- Run the following minimal example:
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('VoiceOver Test')),
body: const Center(
child: Padding(
padding: EdgeInsets.all(16.0),
child: TextField(
decoration: InputDecoration(
hintText: 'Enter text here',
),
),
),
),
),
);
}
}- Activate the text field.
- Attempt to use the VoiceOver rotor to access editing options.
Flutter version: Flutter (Channel master, 3.23.0-13.0.pre.298)