Open
Description
Steps to reproduce
Using iOS 18.5
- Navigate to an unselected RadioButton
Expected results
- Navigate to an unselected RadioButton
- VoiceOver vocalizes the RadioButton state
Since Android (Talkback) does it, I would expect iOS to behave the same way — but maybe I'm wrong.
Actual results
- Navigate to an unselected RadioButton
- VoiceOver does not announce the RadioButton state
Code sample
Code sample
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: SafeArea(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Text('Select an option:'),
const SizedBox(height: 20),
const MyRadioButtons(),
],
),
),
),
);
}
}
class MyRadioButtons extends StatefulWidget {
const MyRadioButtons({super.key});
@override
State<MyRadioButtons> createState() => _MyRadioButtonsState();
}
class _MyRadioButtonsState extends State<MyRadioButtons> {
String? _selectedValue;
@override
Widget build(BuildContext context) {
return Column(
children: <Widget>[
RadioListTile<String>(
title: const Text('Option 1'),
value: 'option1',
groupValue: _selectedValue,
onChanged: (String? value) {
setState(() {
_selectedValue = value;
});
},
),
RadioListTile<String>(
title: const Text('Option 2'),
value: 'option2',
groupValue: _selectedValue,
onChanged: (String? value) {
setState(() {
_selectedValue = value;
});
},
),
Text('Selected: ${_selectedValue ?? "None"}'),
],
);
}
}
Screenshots or Video
Screenshots / Video demonstration
[Upload media here]
Logs
Logs
[Paste your logs here]
Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.29.2, on macOS 15.5 24F74 darwin-arm64, locale fr-FR) [12,2s]
• Flutter version 3.29.2 on channel stable at /Users/34080J/fvm/versions/3.29.2
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision c236373904 (3 months ago), 2025-03-13 16:17:06 -0400
• Engine revision 18b71d647a
• Dart version 3.7.2
• DevTools version 2.42.3
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.1) [4,7s]
• Android SDK at /Users/34080J/Library/Android/sdk
• Platform android-35, build-tools 35.0.1
• ANDROID_HOME = /Users/34080J/Library/Android/sdk
• Java binary at: /Library/Java/JavaVirtualMachines/openlogic-openjdk-17.jdk/Contents/Home/bin/java
This JDK is specified in your Flutter configuration.
To change the current JDK, run: `flutter config --jdk-dir="path/to/jdk"`.
• Java version OpenJDK Runtime Environment OpenLogic-OpenJDK (build 17.0.14+7-adhoc.admin.jdk17u)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 16.4) [1 876ms]
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 16F6
• CocoaPods version 1.16.2
[✓] Chrome - develop for the web [27ms]
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2024.2) [27ms]
• 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 21.0.5+-12932927-b750.29)
[✓] IntelliJ IDEA Ultimate Edition (version 2025.1) [26ms]
• IntelliJ at /Applications/IntelliJ IDEA.app
• 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
[✓] VS Code (version 1.98.2) [8ms]
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.108.0
[✓] Connected device (5 available) [6,1s]
• sdk gphone64 arm64 (mobile) • emulator-5554 • android-arm64 • Android 15 (API 35) (emulator)
• iPhone d’Alexandre (mobile) • 00008140-001539621E51801C • ios • iOS 18.5 22F76
• macOS (desktop) • macos • darwin-arm64 • macOS 15.5 24F74 darwin-arm64
• Mac Designed for iPad (desktop) • mac-designed-for-ipad • darwin • macOS 15.5 24F74 darwin-arm64
• Chrome (web) • chrome • web-javascript • Google Chrome 137.0.7151.69
[✓] Network resources [243ms]
• All expected network resources are available.
• No issues found!
Metadata
Metadata
Assignees
Labels
Accessibility, e.g. VoiceOver or TalkBack. (aka a11y)flutter/packages/flutter/material repository.Found to occur in 3.32Found to occur in 3.33flutter/packages/flutter repository. See also f: labels.The issue has been confirmed reproducible and is ready to work oniOS applications specificallyOwned by Framework Accessibility team (i.e. responsible for accessibility code in flutter/flutter)