首页 文章

JAWS没有使用aria-label读取带有 Headers 的span内部的aria-label

提问于
浏览
3

我有一个span作为一个 Headers 内的按钮:

<h3 aria-label="Header Aria Label">
  <span tabindex="0" aria-label="Span Aria Label">Button</span>
</h3>

但是,每当我选择 Span 时,它都会显示“Header Aria Label” . 如何强制JAWS读取 Span 中的aria-label?

2 回答

  • 4

    首先,请不要被冒犯,但你所做的是糟糕的设计,至少是可访问性 .
    Headers 内的一个按钮(不是 Headers ,BTW,在HTML 5中有一个单独的 <header> 元素,这与你在这里使用的_2468343完全不同)是一个坏主意 . 真 .
    但无论如何,如果你想让JAWS将 span 视为按钮,可以:

    • 使用原生 <button> 元素,或

    • span 上使用 role="button" ,否则JAWS不会以任何方式知道此特定 span 应被视为按钮 . 但是请更喜欢第一种方法,除非你绝对必须在这里使用 span . 请把它拉出你的 h3 ,这将更容易接近 .

  • 3

    span 既不是具有里程碑意义也不是互动内容 . 屏幕阅读器不会读取 aria-label (这是正确的) .

    而是使用 <button> 元素 . 这将解决您的问题,并更容易访问 .

相关问题