【发布时间】:2021-01-08 21:22:18
【问题描述】:
我正在使用 javascript 库 vex 来输出这样的对话框
当我将它与屏幕阅读器(旁白)一起使用时,该文本不会被读取,因此我尝试更改 vex 中用于操作 DOM 的 javascript。
生成的 DOM 变成了这样
<div class="vex vex-theme-default" role="dialog">
<div class="vex-content">
<form class="vex-dialog-form">
<div class="vex-dialog-message" tab-index="0"
aria-label="Login failed">Login failed!</div>
<div class="vex-dialog-input"></div>
<div class="vex-dialog-buttons">
<button type="submit"
class="vex-dialog-button-primary btn vex-dialog-button vex-first">Ok</button>
</div>
</form>
</div>
</div>
但即使使用此标记也不会读取消息“登录失败”。
为什么不呢?
(我还在 div 上调用了.focus(),类为vex-dialog-message)。
屏幕阅读器将改为在尝试登录时按下按钮后继续阅读文本(即运行试图登录的 ajax 请求,因此永远不会重新加载文档)。
【问题讨论】:
-
请勿发布代码、数据、错误消息等的图片 - 将文本复制或输入到问题中。 How to Ask
-
我更改了生成的 DOM 部分,使其不再是图像。
-
有点可笑的是,我没有让问题本身易于理解……好东西要指出。
标签: html accessibility