#html #backbone.js #twitter-bootstrap-3 #accessibility
#HTML #backbone.js #twitter-bootstrap-3 #Специальные возможности
Вопрос:
С помощью следующей разметки я получаю доступ к первым трем элементам в порядке (кнопка удаления, описание и кнопка перехода).
Когда у меня есть две из этих строк, порядок после кнопки перехода к первой строке переходит к кнопке перехода к следующей строке.
У меня есть tabindex=»0″, поэтому он будет следовать порядку страницы. Я также пробовал много вариантов порядка табуляции, но безуспешно. Есть мысли?
<table class="table table-striped bookmarkListContainer">
<tbody>
<tr>
<td class="removeButton" data-bookmarkid="120" tabindex="0" aria-label="Remove Test module">
<button><span class="fa fa-times-circle-o"></span></button></td>
<td tabindex="0">Overview<br><span class="greyText">Foundations</span></td>
<td tabindex="0"><a data-bypass="true" href="/test/section/1/module/1/page/overview" class="openBookmark"><button type="button" class="btn btn-primary btn-small pull-right">Go</button></a></td>
</tr>
<tr>
<td class="removeButton" data-bookmarkid="121" tabindex="0" aria-label="Remove Test module">
<span class="fa fa-times-circle-o"></span></td>
<td tabindex="0">Delivery Method - Tabs<br><span class="greyText">Foundations</span></td>
<td tabindex="0"><a data-bypass="true" href="/test/section/1/module/1/page/1" class="openBookmark"><button type="button" class="btn btn-primary btn-small pull-right">Go</button></a></td>
</tr>
</tbody>
</table>
Комментарии:
1. у вас есть два
tabindex="0"
, может быть, в этом проблема2. Почему вам нужно
tabindex
везде в первую очередь? Программы для чтения с экрана уже читают страницу сверху вниз, слева направо без использования этого атрибута, и их пользователи также могут выбирать вкладки по ссылкам и элементам формы, если они предпочитают, или даже получить доступ к списку всех заголовков и их содержимого. Или знаковые роли или таблицы или …
Ответ №1:
Похоже, у вас отсутствуют теги кнопок на второй «удалить кнопку». Итак, измените свою отметку на:
<button><span class="fa fa-times-circle-o"></span></button>
Если вы по какой-то причине не хотите использовать разметку кнопок, я бы предложил использовать следующую разметку:
<span role="button" tab-index="0" class="fa fa-times-circle-o"></span>
Подробнее об этом читайте здесь: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_button_role
Вы все равно не будете «видеть» фокус вкладки в браузере с этой разметкой. Я тестировал в Google Chrome, и на самом деле это никак не меняет результаты, но, возможно, программы чтения с экрана будут соблюдать настройку tab-index.
В качестве примечания, вам, вероятно, следует удалить tab-index="0"
из ячеек таблицы. Это просто приведет к тому, что ячейка также будет находиться в порядке табуляции, и я думаю, что вам действительно нужны только кнопки. Кроме того, если вы решите использовать теги кнопок, по умолчанию они будут следовать порядку табуляции источника, поэтому вам не нужно добавлять к ним tab-index=0 .