JAWS 2018:制作 select/drop-down "clickable"

JAWS 2018: Making a select/drop-down "clickable"

我正在处理一个网站项目并修复可访问性缺陷。

我的设置限制:

我无法控制这些限制,所以请不要为任何其他设置提出任何解决方案。


我有一个缺陷,表明 JAWS 应该在 "clickable" 元素中列出 HTML <select>(下拉列表)。 (这是按下 Ins+Ctrl+/ 键盘和弦时显示的模态对话框。)之前在使用其他 HTML 元素类型时遇到过此类问题,我已经通过以下组合修复了这些问题:

当尝试在当前缺陷中执行这些步骤时,我可以让 <select> 出现在 "clickable" 模态对话框中,但没有列出任何文本(我猜它是 "reporting" 一个空字符串)。尽管有 aria-label.

的值


其他注意事项:

看起来像这样:

<table>
  <tbody>
    <tr>
      <td>
        <span>
          <select> ... options ... </select>
        <span>
      </td>
    </tr>
  </tbody>
</table>

我试过像这样修改上面的代码:

<table>
  <tbody>
    <tr>
      <td>
        <span>
          <select onclick="emptyHandler" aria-label="Some text"> 
            ... options ... </select>
        <span>
      </td>
    </tr>
  </tbody>
</table>

function emptyHandler() {
    /* This function is empty by design     */
    /* Its function is to expose an element */
    /* as a clickable element to JAWS, when */
    /* otherwise JAWS would ignore it.      */
}

进行上述修改DID 将元素添加到可点击元素列表中,但不显示文本。你可以看到额外的行,你可以突出显示它,但它只是一些空白 spaces/text(或者可能什么都没有)。

1本页的UI不是我写的,我无意(也未授权) ) 重写整个页面。我怀疑在与 JAWS 交互时,将控件包装在 元素内会做一些非常奇怪的事情,但我无法修复此问题的 that 部分。


我对此有一些疑问,因为我找不到关于它应该如何工作的很好的文档:

  1. 是否有任何详细的文档说明它应该如何工作?我在 Freedom Scientific 的网站以及 Mozilla 和整个网络上的搜索产生了一些信息,但我希望有一个中心位置可以找到这些类型的答案。特别是,对于什么是 "clickable" 元素似乎没有一致的规范定义。某些元素似乎被视为默认 "clickable",而添加自定义 onclick 处理程序似乎允许将 ANY 元素添加到该列表。这导致我...
  2. "clickable" 模态对话框在 JAWS 中如何工作?我想我已经弄清楚如何将元素放入此列表中,但它显示的内容似乎有些不一致。这导致我...
  3. 应该显示在那个模式对话框中的是什么?在之前的测试中,显示的文本似乎是 aria-label 属性中的值,那么为什么它在这里不起作用?
  4. <select> 元素会出现在这里是一种不恰当的期望吗?由于这个原因,我总是可以解决这个缺陷,但我不想这样做,除非我确定这是正确的做法。

通过添加的细节,我现在明白了问题所在。 JAWS 中的 "clickable" 对话框(ins+ctrl+/)显示带有onClick() 处理程序,但用于该对话框中 <select> 元素的标签是 select 的 ,即 <option>当前 selected。使用 aria-labelaria-labelledby<label for="select-id"> 不会影响可点击对话框,尽管在 <button> 上使用这些属性,例如 在该对话框中工作。

我建议为 JAWS 提交错误。

好消息是导航到下一个 <select> 元素的 JAWS 快捷键是 C 和显示所有 <select> 元素的对话框是 ins+ctrl+C 并且那个对话框 does尊重 aria-labelaria-labelledby'<label for="select-id">.

这不是错误。对于 JAWS 用户,<select> 绝不是可点击的元素。此击键会带来可点击但无法识别为其他内容的元素列表:链接、按钮、组合框。
因此,将您的缺陷标记为 "Not a bug" 并告诉您的用户使用 Insert+Ctrl+C 代替。
像 JAWS 这样的屏幕 reader 总是试图尽可能地识别 HTML 元素,因此 "a clickable something" 实际上对盲人用户没有太大帮助。不像组合框。