【问题标题】:AcessibilityEvent in Flutter / DartFlutter / Dart 中的 AcessibilityEvent
【发布时间】:2019-06-15 10:11:20
【问题描述】:

我花了 3 周时间寻找如何将辅助功能事件与 dart 一起使用,有人得到了什么吗?我在文档中没有找到任何内容

【问题讨论】:

  • 这不准确

标签: android dart flutter


【解决方案1】:

可通过Semantics 小部件提供辅助功能信息。 Material 和 Cupertino 库中的大多数小部件已经提供相关语义,例如将MaterialButtons 标识为按钮等。 Semantics 小部件仅在您使用原始布局或画家创建自己的小部件时才是必需的。

例如,假设您想制作自己的按钮并从 Text 小部件和手势检测器开始。

Widget build(_) {
  return Container(
    child: GestureDetector(
      onTap: () { ... }
      child: Text('MY BUTTON'),
    )
  );
}

这将包含来自TextGestureDetector 小部件的一些语义信息。在运行应用程序时,如果启用了 TalkBack 或 VoiceOver,则可以按S(大写“S”)打印当前语义树。

[   +6 ms] I/flutter ( 6511): SemanticsNode#0
[        ] I/flutter ( 6511):  │ Rect.fromLTRB(0.0, 0.0, 1080.0, 1794.0)
[        ] I/flutter ( 6511):  │
[        ] I/flutter ( 6511):  └─SemanticsNode#1
[        ] I/flutter ( 6511):      Rect.fromLTRB(0.0, 0.0, 79.0, 16.0) with transform
[        ] I/flutter ( 6511):        [2.625,0.0,0.0,436.3125; 0.0,2.625,0.0,876.0; 0.0,0.0,1.0,0.0;
[        ] I/flutter ( 6511):        0.0,0.0,0.0,1.0]
[        ] I/flutter ( 6511):      actions: tap
[        ] I/flutter ( 6511):      label: "MY BUTTON"
[        ] I/flutter ( 6511):      textDirection: ltr

在这种情况下,要将其明确标识为按钮,您可以使用 Semantics 小部件包装小部件并提供 button: truecontainer: true

Widget build(_) {
  return Semantics(
    container: true,
    button: true,
    child: Container(
      child: GestureDetector(
        onTap: () { ... }
        child: Text('MY BUTTON'),
      )
    )
  );
}

【讨论】:

    【解决方案2】:

    不,我的意思是可访问性事件,以自动化我的 Gizmo 并在未来在 Flutter 上制作团队查看器

    发送点击等。

    【讨论】:

      【解决方案3】:

      查看此链接。它在颤振中引入了可访问性桥,可用于实现您想要的。

      https://api.flutter.dev/javadoc/io/flutter/view/AccessibilityBridge.html

      【讨论】:

      • 虽然这在理论上可以回答问题,it would be preferable 在此处包含答案的基本部分,并提供链接以供参考。
      猜你喜欢
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 2021-06-03
      • 2022-01-24
      • 2020-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多