Repository navigation
Closed
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work lista: accessibilityAccessibility, e.g. VoiceOver or TalkBack. (aka a11y)Accessibility, e.g. VoiceOver or TalkBack. (aka a11y)f: routesNavigator, Router, and related APIs.Navigator, Router, and related APIs.found in release: 3.3Found to occur in 3.3Found to occur in 3.3found in release: 3.7Found to occur in 3.7Found to occur in 3.7frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-frameworkOwned by Framework teamOwned by Framework teamtriaged-frameworkTriaged by Framework teamTriaged by Framework team
Description
After navigating the semantics nodes with a screen reader (right/left swipes), entering a new page (Navigator.push), and returning from it (Navigator.pop), the screen reader is focused on the beginning of a route instead of on the last focused node.
This is an issue that the accessibility consultant from my project pointed out and it's a big blocker for people with disabilities to effectively use the application that has forms with full-page pickers.
I tested it only on iPhone's VoiceOver.
Test environment
iPhone 13 Pro, iOS 16.0.2
[✓] Flutter (Channel stable, 3.3.8, on macOS 13.1 22C65 darwin-arm, locale en-PL)
• Flutter version 3.3.8 on channel stable at /Users/albert/fvm/versions/3.3.8
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 52b3dc25f6 (9 weeks ago), 2022-11-09 12:09:26 +0800
• Engine revision 857bd6b74c
• Dart version 2.18.4
• DevTools version 2.15.0
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 14C18
• CocoaPods version 1.11.3
Demo
Those videos have audio with VoiceOver voice.
Sample Flutter app
IMG_0105.MOV
iOS Settings app
IMG_0107.MOV
Sample app code
import 'package:flutter/material.dart';
void main() {
runApp(
const MaterialApp(home: RootWidget()),
);
}
class RootWidget extends StatelessWidget {
const RootWidget({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Root route'),
),
body: Column(
children: [
ListTile(
title: const Text('A'),
onTap: () => Navigator.of(context).push(
MaterialPageRoute(
builder: (_) => const ChildPage(text: 'A'),
),
),
),
ListTile(
title: const Text('B'),
onTap: () => Navigator.of(context).push(
MaterialPageRoute(
builder: (_) => const ChildPage(text: 'B'),
),
),
),
],
),
);
}
}
class ChildPage extends StatelessWidget {
const ChildPage({super.key, required this.text});
final String text;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Child route: $text'),
),
body: Center(
child: Text('Hello there: $text'),
),
);
}
}Reacted by Bartek Pacia, Krzysztof Mamak, Marcin Chudy, Piotr Rogulski, Tom Koter, Kamil Sztandur, Oskar Zając, Michał Kucharski, Jakub Tarkowski, Filip Tuzimek and 8 more
Metadata
Metadata
Assignees
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work lista: accessibilityAccessibility, e.g. VoiceOver or TalkBack. (aka a11y)Accessibility, e.g. VoiceOver or TalkBack. (aka a11y)f: routesNavigator, Router, and related APIs.Navigator, Router, and related APIs.found in release: 3.3Found to occur in 3.3Found to occur in 3.3found in release: 3.7Found to occur in 3.7Found to occur in 3.7frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-frameworkOwned by Framework teamOwned by Framework teamtriaged-frameworkTriaged by Framework teamTriaged by Framework team
Activity
Albert221 commentedon Jan 12, 2023
I may try to fix that if that's considered a bug and not intended behavior, but I'd like some minimal guidance on where to cache the semantics focus position and where/how this focus is maintained
darshankawar commentedon Jan 13, 2023
Thanks for the report. I see the same behavior upon navigating back from
childtorootscreen, the focus goes to the app heading. Verified on iPhone 6s.Although it could be related to #97747
stable, master flutter doctor -v
darshankawar commentedon Jan 13, 2023
/cc @chunhtai
2 remaining items
Paulik8 commentedon Jan 30, 2025
Hello!
I wanted to work on this issue but was pleased to find that it is no longer reproducible from the 3.27.2 version of Flutter!
Most likely, the issue was resolved in the following pull request: #135771
Could you please check if the issue is still relevant?
fvm flutter doctor -v
[✓] Flutter (Channel stable, 3.27.2, on macOS 14.7.2 23H311 darwin-arm64, locale en) • Flutter version 3.27.2 on channel stable at /Users/khotinp/fvm/versions/stable • Upstream repository https://github.com/flutter/flutter.git • Framework revision 68415ad (2 weeks ago), 2025-01-13 10:22:03 -0800 • Engine revision e672b006cb • Dart version 3.6.1 • DevTools version 2.40.2[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.1)
• Android SDK at /Users/khotinp/Library/Android/sdk
• Platform android-35, build-tools 35.0.1
• ANDROID_HOME = /Users/khotinp/Library/Android/sdk
• Java binary at: /opt/homebrew/opt/openjdk@17/bin/java
• Java version OpenJDK Runtime Environment Homebrew (build 17.0.13+0)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 16.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 16C5032a
• CocoaPods version 1.16.2
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2023.3)
• 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 17.0.10+0-17.0.10b1087.21-11572160)
[✓] IntelliJ IDEA Ultimate Edition (version 2022.3.3)
• IntelliJ at /Applications/IntelliJ IDEA.app
• Flutter plugin version 77.1.1
• Dart plugin version 223.8977
[✓] IntelliJ IDEA Community Edition (version 2024.2.4)
• IntelliJ at /Applications/IntelliJ IDEA CE.app
• Flutter plugin version 83.0.3
• Dart plugin version 242.24931!
cc @darshankawar @Piinks
chunhtai commentedon Jan 30, 2025
yes, this should be fixed by that pr, closing this one
github-actions commentedon Feb 14, 2025
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.