Flutter无障碍文本插件accessible_text_span的使用
Flutter无障碍文本插件accessible_text_span的使用
标题
Flutter无障碍文本插件accessible_text_span的使用
内容
此README描述了该包。如果您将此包发布到pub.dev,则此README的内容将出现在您的包的着陆页上。
有关如何编写良好的包README,请参阅撰写包页面的指南(写作包页面)。
有关开发包的一般信息,请参阅Dart指南(创建库包和Flutter指南(开发包和插件)。
![focusable.gif](https://github.com/SilentCatD/accessible_text_span/blob/main/assets/focusable.gif?raw=true)Features #
首先导入该组件。
import 'package:accessible_text_span/accessible_text_span.dart';
在实现无障碍功能时,使交互元素支持键盘导航至关重要。
然而,由于当前限制([Flutter问题#1138692](https://github.com/flutter/flutter/issues/1138692)),尚未支持对TextSpan
进行导航和交互。
此包旨在通过提供解决方案来解决这一限制,使其能够使TextSpan
对于TalkBack和键盘导航都变得可用,当用户按下TAB或ENTER时。
Usage #
AccessibleRichText(
TextSpan(
children: [
TextSpan(
text: "link 1",
recognizer: TapGestureRecognizer()
..onTap = () {
// on link tap or activated by keyboard
},
),
const TextSpan(
text: "and ",
),
TextSpan(
text: "link 2",
recognizer: TapGestureRecognizer()
..onTap = () {
// on link tap or activated by keyboard
},
),
],
),
focusedStyle: (context, spanStyle) {
return (spanStyle ?? DefaultTextStyle.of(context).style.copyWith(
decoration: TextDecoration.underline,
backgroundColor: Colors.grey,
color: Colors.purple,
);
},
),
用AccessibleRichText
替换应用程序中的Text.rich
或RichText
组件。
要使特定的TextSpan
可聚焦,必须包含一个TextSpan.recognizer
类型的TapGestureRecognizer
。
可聚焦TextSpan
的视觉表示可以使用AccessibleRichText.focusedStyle
属性自定义。
对于手动操作和管理FocusNode
,您可以创建并提供自己的FocusableTextSpanBuilder
实例。
按压TAB将导航到创建的可聚焦TextSpan
,而ENTER将激活关联的TapGestureRecognizer.onTap
函数。
示例代码
更多关于Flutter无障碍文本插件accessible_text_span的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html