Flutter有大量的widget,可以用来描述应用程序的UI组建和行为。
若您使用Flutter构建了应用程序,那么您可能对它们非常熟悉。
您可能不知道的是Flutter还有一个widget,可以用来描述UI,这个widget就是Semantics。
想象一下联系人应用程序的屏幕,它的堆栈中有两个widget背景和一个圆形头像
其中一个widget非常重要,另一个则不太重要,这对屏幕阅读器、搜索引擎和其他语义分析工具来说非常重要。
你可以通过Semantics包装每个widget来提供该信息
Semantics(
child: FaceImage(
file: '$name.png',
),
)
Semantics具有许多属性,例如文本描述label
是否该启用或关闭widget,enabled
或它所代表的是输入元素还是仅限读取的字段 readOnly
Semantics(
child: FaceImage(
file: '$name.png',
),
label: 'An image of $name.',
enabled: true,
readOnly: true,
)
Semantics有近50个属性可用于为UI提供额外的含义
如果想了解有关Semantics的内容,或者关于Flutter的其他功能,请访问flutter.dev
原文翻译自视频:视频地址