html 在Mac上使用VoiceOver或在Android上使用Google TalkBack时出现下拉列表问题

5n0oy7gb  于 2022-11-27  发布在  Mac
关注(0)|答案(3)|浏览(131)

我在很多网站上都看到过这个问题,比如Facebook Registration生日下拉列表,甚至WebAim Accessible Forms。问题如下:
通过使用屏幕阅读器,我将焦点放在下拉列表上并选择一个元素。(在VoiceOver中通过Ctrl + Alt +右箭头或在Android上通过向右滑动)当我这样做时,焦点不是移动到下一个元素,屏幕阅读器将通知下拉列表中的下一个元素(虽然我已经选择了它,并且列表现在已关闭),而不是下拉列表后的下一个元素。这导致我被困在那里,无法继续。

  • 我在控制屏幕阅读器时是否做错了什么?
  • 为了解决这个问题,我提到的网站的代码是否有什么可以改变的地方?
r1zhe5dt

r1zhe5dt1#

我不确定我是否理解。我在iPhone上用VoiceOver和Firefox中的NVDA尝试了WebAIM的例子。
在iPhone上,<select>/<option>列表会在屏幕底部的一个单独的“对话框”中显示下拉列表的内容。你必须导航到“完成”按钮来关闭对话框。之后,向左/向右滑动就会进入页面上的下一个内容。
使用Firefox上的NVDA,我可以使用向上/向下箭头键来更改值,或者我可以使用Alt+向下箭头来扩展列表,然后向上/向下箭头到我的选择,然后单击Enter或Tab键离开列表。

nfzehxib

nfzehxib2#

我在测试MacOS VoiceOver和Google Chrome时也遇到过这个问题。选择菜单变成了一个“陷阱”,我无法逃脱。然而,在Safari上使用VoiceOver时却不是这样。我现在确信,如果我想从VoiceOver中获得合理的行为,它应该只在Safari上使用。

z4iuyo4d

z4iuyo4d3#

您可以尝试给予它:

  • 隐藏时tab-index为-1
  • 或者当列表不在视图中时为aria-hidden=true

相关问题