如何使用Flutter检查屏幕阅读器是否打开

vwkv1x7d  于 2023-02-13  发布在  Flutter
关注(0)|答案(1)|浏览(149)

我们需要为使用屏幕阅读器的用户处理不同级别的用户体验。
只有在启用屏幕阅读器时,我们才需要实现某些逻辑。

if(isScreenReaderOn){
    logic A goes here
} else {
    logic B goes here
}

但我无法在Flutter中找到检查设备的屏幕阅读器是否打开的方法。
我浏览了以下链接,但我无法找到一个明确的解决方案。

他们似乎在内部使用它,但我不能清楚地意识到它适用于我的情况。
真的很感激如果你能支持这一点。

r6l8ljro

r6l8ljro1#

下面是一个示例代码

void main(){
  runApp(MaterialApp(
    home: MyWidget(),
  ));
}

class MyWidget extends StatelessWidget {

  Widget build(BuildContext context) {
    // retrieve the mediaQuery data
    final mediaQueryData = MediaQuery.of(context);
    if (mediaQueryData.accessibleNavigation) {
      return Text('Screen reader is on');
    } else {
      return Text('Screen reader is off');
    }
  }

}
    • 更新日期:**

我测试了启用放大和选择发言功能的代码..但输出没有发生任何变化。由于它源自[Window. AccessibilityFeatures]的accessibleNavigation属性,.它会导致是否有正在运行的辅助功能服务正在更改设备的交互模型。我认为它只是在寻找屏幕阅读器。

相关问题