如何防止屏幕阅读器在使用 JSX 表达式时宣布 DOM 节点的数量?

问题描述

我正在研究 ReactJS 应用的屏幕阅读器可访问性,并且一直在使用 VoiceOver 进行测试。

我有一段文字,上面写着“嗨,詹姆斯!”

JSX 看起来像这样:

<h1 tabindex="-1">Hi {name}!</h1>

问题是 VoiceOver 会像这样宣布这个元素: “标题级别 1 3 项,嗨,詹姆斯!”

之所以说“3 项”,是因为渲染的 HTML 在 DOM 中包含 3 个单独的文本节点:

DOM

我可以将 JSX 更改为模板文字解决这个问题,但这会使代码变得不必要地冗长:

<h1 tabindex="-1">{`Hi ${name}!`}</h1>

有没有更简洁的方法解决这个问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)