如何让屏幕阅读器不停地通过<span>



我有这个 span 元素:

<span>Select the <strong>START</strong> <span class="icon-start></span> button.</span>

这只是一行说"选择开始按钮",在单词"开始"后面有一个小图标。

目前,Microsoft讲述人(在扫描模式下(读取"选择开始",然后在图标处暂停并等待用户告诉它继续。 我试图让讲述人零中断地阅读整行,或者需要用户告诉它继续。

到目前为止,这是我尝试过的:

  • aria-hidden="true"tabindex="-1"role="presentation添加到图标的<span>

  • 将跨度包裹在<div>中,并赋予它aria-hidden="true"tabindex="-1"role="presentation

  • 在外跨度中添加了一个role="heading" - 这可以使讲述人不间断地阅读所有内容,但他首先宣布"标题级别 1"。 如果有办法阻止他说"标题",那么那也可以。

是否有角色或咏叹调属性告诉屏幕阅读器继续阅读而不停止?

听起来屏幕阅读器无法解析您的图标跨度——该跨度应该有aria-hidden=“true”

请注意,避免将文本项设置为标题,除非它们确实是标题。作为最佳实践,可访问的网页应只有一个本质上用作页面标题的<h1>元素。该单一<h1>下的其他标题应为<h2>,低于这些标题的任何标题应为<h3>等。因此,如果您要走这条路,我建议您仔细考虑您选择的标题级别。

我是这样解决这个问题的:

<span aria-label="Select the START button">
  <span aria-hidden="true">
    Select the <strong>START</strong> <span class="icon-start"></span> button.
  </span>
</span>

这将播报正确的文本并向屏幕阅读器隐藏演示文稿内容。

听起来"讲述人"的行为与 iOS 设备上的"旁白"类似。 如果您的元素包含嵌套元素,即使您想要将其视为一个元素,"旁白"通常也会在每个元素处停止。 您通常可以使用未记录role="text" 为 iOS 解决此问题。 我不知道它是否也适用于讲述人。

你会有这样的东西:

<span role="text">Select the <strong>START</strong> <span aria-hidden="true" class="icon-start></span> button.</span>

请注意,我还在图标上包含了aria-hidden,@garret明智地推荐,这样它就不会被读取。 使用role="text"时可能不需要aria-hidden,但由于该角色未记录且在技术上不受支持,因此您必须对其进行测试。

相关内容

  • 没有找到相关文章

最新更新