Javascript JAWS(在窗口上)未读取`<;上给出的aria标签;p>;`标签

Javascript JAWS(在窗口上)未读取`<;上给出的aria标签;p>;`标签,javascript,wai-aria,screen-readers,jaws-screen-reader,Javascript,Wai Aria,Screen Readers,Jaws Screen Reader,我在我的网页中为标记指定了一个特定的aria标签 <p aria-label="my custom text" className="inline">text</p> 文本 上面给出的aria标签在Mac screen reader上读得非常好,但在JAWS(windows)上却没有。是否必须添加任何特定设置/额外标签才能在JAWS中读取相同内容?有什么想法吗?您可以通过使用aria hidden=“true”属性将文本移动到中,而不是aria label来使用视觉隐

我在我的网页中为
标记指定了一个特定的aria标签

<p aria-label="my custom text" className="inline">text</p>

文本


上面给出的aria标签在Mac screen reader上读得非常好,但在JAWS(windows)上却没有。是否必须添加任何特定设置/额外标签才能在JAWS中读取相同内容?有什么想法吗?

您可以通过使用
aria hidden=“true”
属性将文本移动到
中,而不是
aria label
来使用视觉隐藏的文本

例如


通过将文本移动到具有
aria hidden=“true”
属性的
中,可以使用视觉隐藏文本,而不是
aria label

例如


如果要设置属性的元素没有指定的角色,则可以忽略
aria label
属性。在您的例子中,
除了文本之外没有任何语义含义

具体请参见第8项:

不要在任何其他非交互式内容上使用
aria标签
aria标签BY
,如
p
legend
li
ul
,因为它被忽略


另一方面,让段落文本以不同于视觉显示的方式阅读是有点不寻常的。因此,虽然您可以使用
aria hidden
和“visually hidden”类,但这将给依赖于通过运行屏幕阅读器和放大镜来增强web体验的低视力用户带来问题。他们将能够在屏幕上看到一些文本,但当他们听到这些文本时,它们将与他们看到的文本不匹配。

如果您正在设置的元素没有指定的角色,则
aria label
属性可能会被忽略。在您的例子中,
除了文本之外没有任何语义含义

具体请参见第8项:

不要在任何其他非交互式内容上使用
aria标签
aria标签BY
,如
p
legend
li
ul
,因为它被忽略

另一方面,让段落文本以不同于视觉显示的方式阅读是有点不寻常的。因此,虽然您可以使用
aria hidden
和“visually hidden”类,但这将给依赖于通过运行屏幕阅读器和放大镜来增强web体验的低视力用户带来问题。他们可以在屏幕上看到一些文字,但当他们听到时,这些文字与他们看到的不匹配

<p className="inline">
<span aria-hidden="true">text</span>
<span class="visually-hidden">my custom text</span>
</p>
.visually-hidden{
position: absolute; 
  overflow: hidden; 
  clip: rect(0 0 0 0); 
  height: 1px; width: 1px; 
  margin: -1px; padding: 0; border: 0; 
}