我想将tabindex
添加到所有有文本的元素(,包装的父元素除外)中,这样我就可以在它们之间进行制表并使用屏幕阅读器进行读取。
<div>
<table class="blue">
<tbody>
<tr>
<td><span class="">abc</span></td>
<td><span class="">def</span></td>
<td><span class="">ghi</span></td>
</tr>
<tr>
<td><span class="">jkl</span></td>
<td><span class="">lmn</span></td>
<td><span class="">pqr</span></td>
</tr>
<tr>
<td><span class="">stu</span></td>
<td><span class="">vwx</span></td>
<td><span class="">yza</span></td>
</tr>
</tbody>
</table>
</div>
我想只从制表符到跨度,但向每个跨度添加制表索引是乏味的。这只是一个小例子。sceanrio可以是元素中更深层次的文本,而不需要只是表格格式。
使用下面这样的东西,无论如何都会为我获取文本,但不会读取
$('.blue').text();
有没有什么解决方案可以获得所有最后的标签并为每个标签添加tabindex-attr?
这样我就能集中注意力阅读。
你完全是在误导。
您不需要也绝不能向元素添加tabindex来让屏幕阅读器读取它。
屏幕阅读器可以在没有这一点的情况下阅读文本,文本不必为了被阅读而聚焦。添加tabindex将导致可访问性问题(例如,这意味着可聚焦元素不会导致任何操作)。
你可以试试这个:
$("table.blue span").attr("tabindex", "0");