Repository navigation
iOS Voice Control number label shown on parent widget with Semantic label when child widget is actionable #158477
Copy link
Copy link
Closed
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work lista: accessibilityAccessibility, e.g. VoiceOver or TalkBack. (aka a11y)Accessibility, e.g. VoiceOver or TalkBack. (aka a11y)customer: quake (g3)found in release: 3.24Found to occur in 3.24Found to occur in 3.24found in release: 3.27Found to occur in 3.27Found to occur in 3.27frameworkflutter/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 onplatform-iosiOS applications specificallyiOS applications specificallyr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-iosOwned by iOS platform teamOwned by iOS platform teamtriaged-iosTriaged by iOS platform teamTriaged by iOS platform team
Description
Steps to reproduce
- Create a parent widget, and wrap it in Semantics(label: 'Hello world)
- Add a child widget with an action, like TextButton
- Activate Voice Control on iOS
- Say "Show numbers"
- Notice a number is shown on the parent, and it has no actions
Expected results
The parent AND child widgets show a number label, even though the parent has no actions.
Actual results
Only child widget should show a number label, not the parent
Code sample
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Repro examples'),
),
body: Semantics(
label: 'Example',
container: true,
child: Center(
child: TextButton(
child: const Text('Hello World'),
onPressed: () {},
),
),
),
),
);
}
}Screenshots or Video
Logs
Logs
[Paste your logs here]Flutter Doctor output
Doctor output
[Paste your output here]Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work lista: accessibilityAccessibility, e.g. VoiceOver or TalkBack. (aka a11y)Accessibility, e.g. VoiceOver or TalkBack. (aka a11y)customer: quake (g3)found in release: 3.24Found to occur in 3.24Found to occur in 3.24found in release: 3.27Found to occur in 3.27Found to occur in 3.27frameworkflutter/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 onplatform-iosiOS applications specificallyiOS applications specificallyr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-iosOwned by iOS platform teamOwned by iOS platform teamtriaged-iosTriaged by iOS platform teamTriaged by iOS platform team

Activity
franciscojma86 commentedon Nov 11, 2024
b/368287225
franciscojma86 commentedon Nov 11, 2024
b/368205456
franciscojma86 commentedon Nov 12, 2024
b/367947743
Might be related. When creating a ListTile, and adding a button as a children, the whole tile gains a number label as well, even if its
onTapis nullIn this example, only the IconButton should show a number, not the whole cell.
huycozy commentedon Nov 12, 2024
I can reproduce this issue (similar to the demo screenshot at the 1st comment) on Flutter stable
3.24.4and beta3.27.0-0.1.pre(can't check on master because there is another error that prevents running app on iOS app)And I think the
actual resultandexpected resultin the first comment are reversed.Reproduced this on iOS with Voice Control. On Android with Voice Access, there is only one label on the button (as expected). This may be similar or has the same cause as #157630.
Flutter versions (stable and beta)
franciscojma86 commentedon Nov 12, 2024
Yeah, sorry, I mixed expected with actual :)
chunhtai commentedon Nov 14, 2024
cc @jmagman
I can't tell why voice control decides to give a label to a accessibilityElement without any action. We may need someone from iOS team to look into this.
This seems quite bad as the voice control users may see this a lot.
flutter-triage-bot commentedon Nov 15, 2024
The
fyi-ioslabel is redundant with theteam-ioslabel.Fix extra numbers showing up when enabling VoiceControl (#163593)
github-actions commentedon Mar 12, 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.