JAWS 屏幕 Reader 在 FireFox 中重复树项

JAWS Screen Reader Repeats Tree Items in FireFox

我 运行 遇到 JAWS 屏幕 reader 和 Firefox 的问题。

我有一棵像下面这样的树。每当任何 <a> 元素获得焦点时,无论是通过从 window 还是从 <button> 跳格,JAWS 都会对该元素叙述三次 。据我所知,Firefox 是唯一这样做的浏览器。

我这里的标记有问题吗?

<nav role="tree">
  <ol role="group">
    <li role="presentation">
      <a href="javascript:void(0)" role="treeitem">Parent Link 1</a>
      <ol role="group">
        <li role="presentation">
          <a href="javascript:void(0)" role="treeitem">Child Link 1</a>
        <li role="presentation">
          <a href="javascript:void(0)" role="treeitem">Child Link 2</a>
      </ol>
    <li role="presentation">
      <a href="javascript:void(0)" role="treeitem">Parent Link 2</a>
      <ol role="group">
        <li role="presentation">
          <a href="javascript:void(0)" role="treeitem">Child Link 3</a>
        <li role="presentation">
          <a href="javascript:void(0)" role="treeitem">Child Link 4</a>
      </ol>
  </ol>
</nav>

<button>Something else to focus on</button>

非常感谢。

您至少应该使用 aria-owns 来显示父子关系。看看这个例子http://oaa-accessibility.org/example/42/

此外,实际上只使用您已有的分层列表项结构会更好。看这个例子:http://oaa-accessibility.org/example/41/

如果您已经这样做但仍然有问题,请尝试使用 NVDA 而不是 JAWS。 NVDA 比 JAWS 更符合标准。

再一次,我问完问题后找到了答案。 :(

显然,如果我将 role="tree" 从外部 <nav> 移动到第一个 <ol>,Firefox 会按预期进行叙述。标记现在看起来像这样:

<nav>
  <ol role="tree">
    <li role="presentation">
      <a href="javascript:void(0)" role="treeitem">Parent Link 1</a>
      <ol role="group">
        <li role="presentation">
          <a href="javascript:void(0)" role="treeitem">Child Link 1</a>
        <li role="presentation">
          <a href="javascript:void(0)" role="treeitem">Child Link 2</a>
      </ol>
    <li role="presentation">
      <a href="javascript:void(0)" role="treeitem">Parent Link 2</a>
      <ol role="group">
        <li role="presentation">
          <a href="javascript:void(0)" role="treeitem">Child Link 3</a>
        <li role="presentation">
          <a href="javascript:void(0)" role="treeitem">Child Link 4</a>
      </ol>
  </ol>
</nav>

<button>Something else to focus on</button>

我觉得这像是 Firefox 中的错误。 I have opened a bug & 将关注事态发展。