-
-
Notifications
You must be signed in to change notification settings - Fork 167
Description
Notice for Stack compile error
* Replace all Stack.overflow to Stack.clipBehavior.
* The removal of [Stack.overflow][https://api.flutter.dev/flutter/widgets/Stack/overflow.html] is not a good idea, and the Flutter team has noticed that it would take time to remove all the usage without breaking Google.
Since the overflow has been removed in 1.20 and be rolled back now(perhaps 1.22? not for sure). It's hard to say when it will be removed again, so just replace all overflow with clipBehavior.
Please search the issue list and FAQ list before opening any issues!!
Describe the bug
When using iOS's Voice Over tool, we have to do 2 flicks on the buttons to get to the next button, while on the other elements only need 1 flick and that should be the expected behaviour.
From the 2 flick needed, 1 reads the semanticsLabel text, and the other doesn't.
I did a test on a new project: https://www.youtube.com/shorts/OzDu_mWDKXQ
Environment details
Paste the flutter environment detail.
flutter doctor
[✓] Flutter (Channel stable, 2.5.0, on macOS 14.5 23F79 darwin-arm, locale en-ES)
[✗] Android toolchain - develop for Android devices
✗ Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
If the Android SDK has been installed to a custom location, please use
flutter config --android-sdk to update to that location.
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.2)
[✓] VS Code (version 1.91.1)
[✓] Connected device (1 available)
flutter --version
Flutter 2.10.4 • channel stable • [email protected]:flutter/flutter.git
Framework • revision c860cba910 (2 years, 9 months ago) • 2022-03-25 00:23:12 -0500
Engine • revision 57d3bac3dd
Tools • Dart 2.16.2 • DevTools 2.9.2
Paste the package version.
dependencies:
convex_bottom_bar:
git:
ref: 4aafe7ccdb771a0dd82954a39f2d833a2fbd4d32
url: [email protected]:nayarsystems/convex_bottom_bar.git
To Reproduce
Steps to reproduce the behavior:
Create the basic flutter project and add the convex_bottom_bar dependency, here is the code:
import 'package:convex_bottom_bar/convex_bottom_bar.dart';
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: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({Key? key, required this.title}) : super(key: key);
final String title;
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> with TickerProviderStateMixin {
int _counter = 0;
late TabController tabController;
@override
void initState() {
super.initState();
tabController = TabController(length: 3, vsync: this);
}
void _incrementCounter() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
bottomNavigationBar: ConvexAppBar(
style: TabStyle.react,
controller: tabController,
backgroundColor: Colors.blue,
items: const [
TabItem(icon: Icons.settings, semanticLabel: "Settings"),
TabItem(icon: Icons.home, semanticLabel: "Home"),
TabItem(icon: [Icons.info](http://icons.info/), semanticLabel: "Info"),
]),
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const Text(
'You have pushed the button this many times:',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.headline4,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: const Icon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
);
}
}
- Enable Voice Over on the iOS device
- Check that the behaviour is not working as expected
Expected behavior
In the current behaviour, we need 2 flicks of the Voice Over to switch from one TabItem to the next, and also 1 of the flicks doesn't read the semanticsLabel text.
The behaviour should be, with 1 flick of the Voice Over we move to the next TabItem, and that TabItem's semanticsLabes is read.
Screenshots
Here is a video of the current behaviour: https://www.youtube.com/shorts/OzDu_mWDKXQ
Additional context
Add any other context about the problem here.