Мы используем Coveo для их сложных возможностей поиска поверх Sitecore CMS.
Фасеты фильтра для сужения результатов поиска генерируют список флажков с тегом <div>
, и каждый из них вместе с текстом рядом с ним находится внутри <li>
, которые как группа находятся внутри <ul>
(пример кода ниже). Визуально выглядит так:
Пришлось использовать jQuery для добавления моих собственных атрибутов, чтобы убедиться, что div.coveo-facet-checkbox
был распознан / прочитан как флажок программами чтения с экрана, что довольно хорошо работает с NVDA и ChromeVox.
Однако у JAWS есть небольшая проблема, которая, как только фокус переместится в список <ul>
, первый div.coveo-facet-checkbox
, на который он попадет, JAWS сначала объявит «только для чтения».
код образец :
<ul>
<li>
<label>
<div>
<input type="checkbox" form="coveo-dummy-form" style="display:none;">
<div class="coveo-facet-checkbox" tabindex="0" title="Education and Events" role="checkbox" aria-checked="false"></div>
<span class="coveo-facet-value-caption" title="Education and Events" data-original-value="Education and Events" aria-hidden="true">Education and Events</span>
</div>
</label>
</li>
<li>
...(structured same as above <li>)...
</li>
</ul>
Я попытался добавить атрибуты readonly="false"
и aria-readonly="false"
на ВСЕХ уровнях тегов общего образца кода, и все же JAWS решает объявить «только для чтения»
Не уверен, что еще нужно сделать / попробовать. Пытался искать в Интернете, но нашел только людей, жалующихся на подобные ситуации, но не с исправлением / решением.
Буду признателен за любые советы и рекомендации, которые я могу попробовать.
ПРИМЕЧАНИЕ. Извините, если я не могу ответить сразу, поскольку у меня не будет большого шанса быть на компьютере до понедельника (отредактирую эту последнюю строку, когда вернусь).