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)found in release: 2.10Found to occur in 2.10Found to occur in 2.10found in release: 2.13Found to occur in 2.13Found to occur in 2.13has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onp: material_uimaterial_ui package in flutter/packagesmaterial_ui package in flutter/packagespackageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.platform-iosiOS applications specificallyiOS applications specificallyteam-designOwned by Design Languages teamOwned by Design Languages teamtriaged-designTriaged by Design Languages teamTriaged by Design Languages team
Description
Steps to Reproduce
- Execute
flutter runon the code sample - Turn on VoiceOver. (Only VoiceOver, No problem with Talkback)
- Focus to Item.
- Double tap + Long press to reorder item.
- Releasing the finger moves the focus to an incorrect position.
Expected results: Focus should be on Item.
Actual results: Step 5 will move the focus to the incorrect position and tapping on the Item will no longer focus it. (See attached video, the focus has shifted to the upper-left. It will be easier to understand if you turn off the mute.)
RPReplay_Final1648522463.MP4
Code sample
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(
title: 'Reorder Test',
theme: ThemeData(primarySwatch: Colors.blue),
home: const MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({Key? key}) : super(key: key);
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
final _itemKey = const ValueKey(1);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Reorder Test')),
body: ReorderableListView(
children: [
ListTile(
key: _itemKey,
title: const Text('Item'),
),
],
onReorder: (oldIndex, newIndex) {},
),
);
}
}Logs
No particular log is displayed during operation.
flutter analyze reporting to no Issues.
[✓] Flutter (Channel stable, 2.10.3, on macOS 12.2.1 21D62 darwin-arm, locale ja-JP)
• Flutter version 2.10.3 at /Users/ttada/devlib/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 7e9793dee1 (4 weeks ago), 2022-03-02 11:23:12 -0600
• Engine revision bd539267b4
• Dart version 2.16.1
• DevTools version 2.9.2
[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
• Android SDK at /Users/ttada/Library/Android/sdk
• Platform android-32, build-tools 32.1.0-rc1
• ANDROID_SDK_ROOT = /Users/ttada/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• CocoaPods version 1.11.2
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2021.1)
• 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 11.0.11+0-b60-7772763)
[✓] VS Code (version 1.65.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.36.0
[✓] Connected device (2 available)
• iPhoneX (mobile) • 39c14bdf121be47ecbcdd1113502f9ff63d04afe • ios • iOS 14.6 18F72
• Chrome (web) • chrome • web-javascript • Google Chrome 99.0.4844.83
[✓] HTTP Host Availability
• All required HTTP hosts are available
• No issues found!
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)found in release: 2.10Found to occur in 2.10Found to occur in 2.10found in release: 2.13Found to occur in 2.13Found to occur in 2.13has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onp: material_uimaterial_ui package in flutter/packagesmaterial_ui package in flutter/packagespackageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.platform-iosiOS applications specificallyiOS applications specificallyteam-designOwned by Design Languages teamOwned by Design Languages teamtriaged-designTriaged by Design Languages teamTriaged by Design Languages team
Activity
darshankawar commentedon Mar 29, 2022
@ttada
It could be happening because there's no other item in the listview to focus on, so the focus goes back to back button by default. Also, accessibility on iOS works differently from Android.
Can you try to add more items in the list view and then follow the steps to see if the focus moves to next item on the list or goes back to the top ?
darshankawar commentedon Mar 29, 2022
Thanks for the update. I do see the same behavior, ie, after reordering the items from the listview, the semantics focus moves to the top of the screen, beyond appbar.
stable, master flutter doctor -v
darshankawar commentedon Mar 29, 2022
/cc @chunhtai
10 remaining items
Add iOS reorder semantics regression test
Preserve reparented iOS semantics children
Add iOS reorder semantics regression test
Preserve reparented iOS semantics children
Add iOS reorder semantics regression test
Preserve reparented iOS semantics children
[iOS] Preserve semantics parents after reparenting (flutter#189686)
github-actions commentedon Sep 15, 2026
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.