akshathjain / sliding_up_panel

A draggable Flutter widget that makes implementing a SlidingUpPanel much easier!
https://pub.dartlang.org/packages/sliding_up_panel
Other
1.38k stars 381 forks source link

No accessibility support (Talkback), if backdropEnabled is true #168

Open nilsreichardt opened 4 years ago

nilsreichardt commented 4 years ago

Description

If backdropEnabled is true, all widgets behind the SlidingUpPanel can't be detected by a screen reader anymore. This is very cricitle, because the whole app (except the SlidingUpPanel widget) can't be used with a screen reader. With this bug it's nearly impossible to get featured by Apple...

Demo

backdropEnabled is true (no accessibility support ❌ ) ![talkbackVideo](https://user-images.githubusercontent.com/24459435/87851504-9d518a00-c8f9-11ea-8d3b-65157a64abfa.gif)
backdropEnabled is false (accessibility support ✅ ) ![TalkbackWorking](https://user-images.githubusercontent.com/24459435/87851543-06390200-c8fa-11ea-8be1-5603c182aeef.gif)

Steps to reproduce

Code to reproduce ``` import 'package:flutter/material.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Demo', home: Scaffold( appBar: AppBar( title: Text("SlidingUpPanelExample"), ), body: SlidingUpPanel( backdropEnabled: true, // <-- This is the problem panel: Center( child: Text("This is the sliding Widget"), ), body: Center( child: Text("This Text can't be read by screen readers :("), ), ), ), ); } } ```
  1. Copy code to reproduce
  2. Run app
  3. Enable a screen reader (like Talkback on Android)
  4. Try to focus Text("This is the sliding Widget") with a screen reader --> impossible