Поскольку это плагин jQuery, я бы просто использовал jQuery в обратных вызовах onInitialized
и onResized
для добавления закадровых текстовых узлов к кнопкам:
<style>
.offscreen {
position: absolute;
left: -999em;
}
</style>
<button><span></span><span class="offscreen">Go to slide 3</span></button>
<!-- the first span is there by default -->
Это может выглядеть как-то как это:
let owl = $('.owl-carousel').owlCarousel({
// ...,
onInitialized: addDotButtonText,
onResized: addDotButtonText
});
function addDotButtonText() {
// loop through each dot element
$('.owl-dot').each(function() {
// remove old text nodes
$(this).find('.offscreen').remove();
// grab its (zero-based) order in the series
let idx = $(this).index() + 1;
// append a span to the button containing descriptive text
$(this).append('<span class="offscreen">Go to slide ' + idx + '</span>');
});
}
Fiddle demo
Если вы чувствуете, что точки просто бесполезны для пользователей программы чтения с экрана, и они хорошо, если у них есть только предыдущая и следующая кнопки (которые уже доступны) для навигации, вы можете эффективно скрыть для них точки в обратном вызове и уменьшить ненужное отвлечение внимания:
$('.owl-dots').attr('aria-hidden', 'true');
Это, вероятно, дискуссионная стратегия как мы должны стремиться предложить одинаковый уровень взаимодействия для всех пользователей. Однако, поскольку пользователи программы чтения с экрана могут не использовать элементы управления ползунком для начала, поскольку все слайды должны быть доступны для чтения в любое время, возможно, это не проблема.