-2

我想将包含文本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>

我想只选择跨度,但是将 tabindex 添加到每个跨度是乏味的。这只是一个小例子。sceanrio 可以是元素中更深层次的文本,而不仅仅是表格格式。

使用类似下面的东西,无论如何都会为我获取文本,但不会阅读它

$('.blue').text();

是否有任何解决方案可以获取所有最后的标签并将 tabindex attr 添加到每个标签?

这样我就可以集中注意力阅读。

4

2 回答 2

2

你完全是误导。

您不需要也不得将 tabindex 添加到元素以使屏幕阅读器阅读它。

屏幕阅读器可以在没有它的情况下阅读文本,文本不必是可聚焦的才能被阅读。添加 tabindex 将导致可访问性问题(例如,暗示可聚焦元素不会导致任何操作)。

于 2015-11-15T20:23:23.153 回答
-1

你可以试试这个:

$("table.blue span").attr("tabindex", "0");
于 2015-11-15T15:13:07.397 回答