我继承了一个 vuejs 项目。使用屏幕阅读器作为辅助设备的人抱怨他们的屏幕阅读器无法阅读由vue-search-select
. 以下是重现该问题的方法:
- 安装屏幕阅读器,例如 NVDA。
- 打开 NVDA 屏幕阅读器。
- 转到https://vue-search-select.netlify.app/#/model
- 跳到搜索文本字段。
- 确认结果下拉菜单出现。
- 按向下箭头键可关注任何搜索结果项。
- 确认 NVDA 说出“空白”一词,而不是实际读出所选项目的内容。
这是一个 10 秒的剪辑,演示了第 3 步(共 7 步)。
https://www.youtube.com/watch?v=Nxx1k1oKETI
您如何修改vue-search-select
,以便在步骤 7 中,屏幕阅读器将读出所选项目的内容,而不是读出单词“Blank”?
现在,作为一个临时解决方案,我正在尝试编写一个setTimeout
函数,该函数将自动添加适当的元数据以强制屏幕阅读器读出内容。但我不确定这种方法会有多成功。我更喜欢一种习惯于vue-search-select
.
我尝试像这样添加 customAttr :
<model-select :custom-attr="ariaAttrs" />
function ariaAttrs() {
return function() { return '" aria-label="hello" tabindex="0'; }
}
尽管属性确实出现在我的开发者控制台的检查器中,但我的屏幕阅读器仍然没有读出选项。