我试图添加一个标题,类似于HTML h1
标签,到我的登录网页创建的Dart/Flutter。这是为了符合WCAG可访问性准则。为了实现这一点,我利用语义小部件,并设置头属性为true->
Widget _buildTitle(BuildContext context) {
return SizedBox(
height: 56,
width: double.infinity,
child: Semantics(
header: true,
label: context.loc.semanticsLogInText,
child: Text(
context.loc.semanticsLogInText,
style: Theme.of(context).textTheme.headlineLarge,
textAlign: TextAlign.left,
),
),
);
}
字符串
但仍然不工作屏幕阅读器(在我的Mac上的画外音)没有得到任何结构的页面。也测试了波和相同的结果->
x1c 0d1x的数据
Voice over MAC ->
的
1条答案
按热度按时间ubby3x7f1#
经过广泛的研究,我发现这个问题很可能是因为WAVE专门搜索HTML头部元素(如,等),这些元素在网页结构中是标准的。然而,Flutter的小部件,包括Text和Semantics,在为Web编译时不会直接转换为这些HTML元素。为了解决这个问题,我设计了一种方法,使用universal_html包来处理HTML元素。->
字符串
在那之后,波工具确定了我的标题和所有好!
x1c 0d1x的数据