如何使屏幕阅读器可以访问自定义输入文本框?
How to make custom input text box accessible to screen readers?
我有一个插件 jQuery Terminal,我想让屏幕阅读器可以访问它。我应该怎么做才能使文本输入易于访问?
生成的 html 看起来像这样:
<div class="cmd" style="width: 100%; visibility: visible;">
<span class="prompt">
<span>> </span>
</span>
<span>Before curosr</span>
<span class="cursor"> </span>
<span>after cursor</span>
<textarea autocapitalize="off" spellcheck="false" class="clipboard">
</textarea>
</div>
据我所知,文本区域在输入文本时始终处于焦点位置(我在移动设备上使用它,但后来为所有浏览器打开了它)。
我正在使用 NVDA on the jQuery Terminal 测试页进行测试。有一个 <div class="terminal-output">
我添加了一个 role="alert"
属性,我的屏幕 reader 正在读出添加到 terminal-output
的所有文本内容。
但是,这实际上取决于您实际想要通过可访问性实现的目标。您希望屏幕 reader 实际读取什么?您需要进行试验,但请查看 aria 角色以及标注您希望 reader 阅读并呈现给用户的内容的方法。
查看我的屏幕 reader 日志以及它如何读取 "console" window:
中包含的内容
我有一个插件 jQuery Terminal,我想让屏幕阅读器可以访问它。我应该怎么做才能使文本输入易于访问?
生成的 html 看起来像这样:
<div class="cmd" style="width: 100%; visibility: visible;">
<span class="prompt">
<span>> </span>
</span>
<span>Before curosr</span>
<span class="cursor"> </span>
<span>after cursor</span>
<textarea autocapitalize="off" spellcheck="false" class="clipboard">
</textarea>
</div>
据我所知,文本区域在输入文本时始终处于焦点位置(我在移动设备上使用它,但后来为所有浏览器打开了它)。
我正在使用 NVDA on the jQuery Terminal 测试页进行测试。有一个 <div class="terminal-output">
我添加了一个 role="alert"
属性,我的屏幕 reader 正在读出添加到 terminal-output
的所有文本内容。
但是,这实际上取决于您实际想要通过可访问性实现的目标。您希望屏幕 reader 实际读取什么?您需要进行试验,但请查看 aria 角色以及标注您希望 reader 阅读并呈现给用户的内容的方法。
查看我的屏幕 reader 日志以及它如何读取 "console" window:
中包含的内容