-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
Labels
a: accessibilityAccessibility, e.g. VoiceOver or TalkBack. (aka a11y)Accessibility, e.g. VoiceOver or TalkBack. (aka a11y)c: regressionIt was better in the past than it is nowIt was better in the past than it is nowteam-accessibilityOwned by Framework Accessibility team (i.e. responsible for accessibility code in flutter/flutter)Owned by Framework Accessibility team (i.e. responsible for accessibility code in flutter/flutter)
Description
Steps to reproduce
- Enable TalkBack on an Android device.
- Move accessibility focus to the first/last visible ListTile.
- Perform the
Previous item/Next itemgesture (Swipe Left/Right).
Expected results
The focus should move to the previous / next ListTile, scrolling the ListView to make it visible.
Actual results
Semantic focus move to the SliverAppBar / TalkBack shortcut instead.
Code sample
Code sample
import 'package:flutter/material.dart';
void main() => runApp(const MaterialApp(home: MyApp()));
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: CustomScrollView(
slivers: <Widget>[
const SliverAppBar(
pinned: true,
expandedHeight: 100.0,
title: Text('Pinned Semantic Focus'),
backgroundColor: Colors.blue,
),
// The List
SliverList(
delegate: SliverChildBuilderDelegate((BuildContext context, int index) {
return ListTile(title: Text('Item $index'), subtitle: const Text('Scroll down then navigate back up'));
}, childCount: 50),
),
],
),
);
}
}Screenshots or Video
Screenshots / Video demonstration
scroll_semantics_issue.mp4
Logs
No response
Flutter Doctor output
Doctor output
[✓] Flutter (Channel master, 3.39.0-1.0.pre-408, on macOS 15.7.2 24G325 darwin-arm64, locale fr-FR) [3,2s]
• Flutter version 3.39.0-1.0.pre-408 on channel master at /Users/emmanuel_lefebvre/fvm/versions/master
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision b3770ec6f4 (4 hours ago), 2025-12-04 05:15:39 -0500
• Engine revision b3770ec6f4
• Dart version 3.11.0 (build 3.11.0-200.1.beta)
• DevTools version 2.53.0
• Pub download mirror https://artifact.socrate.vsct.fr/artifactory/api/pub/all-pub
• Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop, enable-windows-desktop, enable-android, enable-ios, cli-animations, enable-native-assets, omit-legacy-version-file,
enable-lldb-debugging, enable-uiscene-migration
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.1) [3,8s]
• Android SDK at /Users/emmanuel_lefebvre/Library/Android/sdk
• Emulator version 36.2.12.0 (build_id 14214601) (CL:N/A)
• Platform android-36, build-tools 35.0.1
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
This is the JDK bundled with the latest Android Studio installation on this machine.
To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
• Java version OpenJDK Runtime Environment (build 21.0.8+-14196175-b1038.72)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 26.1.1) [3,1s]
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 17B100
• CocoaPods version 1.16.2
[✓] Chrome - develop for the web [6ms]
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Connected device (3 available) [13,2s]
• Pixel 7 Pro (mobile) • 35061FDH30024V • android-arm64 • Android 16 (API 36)
• macOS (desktop) • macos • darwin-arm64 • macOS 15.7.2 24G325 darwin-arm64
• Chrome (web) • chrome • web-javascript • Google Chrome 143.0.7499.41
[✓] Network resources [187ms]
• All expected network resources are available.Metadata
Metadata
Assignees
Labels
a: accessibilityAccessibility, e.g. VoiceOver or TalkBack. (aka a11y)Accessibility, e.g. VoiceOver or TalkBack. (aka a11y)c: regressionIt was better in the past than it is nowIt was better in the past than it is nowteam-accessibilityOwned by Framework Accessibility team (i.e. responsible for accessibility code in flutter/flutter)Owned by Framework Accessibility team (i.e. responsible for accessibility code in flutter/flutter)