如何将tabindex=0添加到所有内部元素



我想将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");

最新更新