Я пытаюсь добавить поддержку живого региона на веб-странице, чтобы сделать NVDA доступной со страницей. Тем не менее, я видел совершенно другое поведение с атрибутами aria-live
, чем ожидалось.Поведение NVDA
Я попытался добавить один живой регион, который скрыт, и я сваливать все сообщения (каждое сообщение, заключенный в тег
<p>
) в этой области, чтобы быть прочитан чтения с экрана. Он работает нормально, но единственная проблема заключается в том, что первое сообщение, вставленное в div div в реальном времени, никогда не считывается считывателем экрана NVDA. Последующие сообщения читаются отлично. Этот живой div div создается динамически, когда должно быть объявлено первое сообщение.aria-live="assertive"
действительно не прерывает текущий поток, чтобы сообщить об этом сообщении.Я использую нокаут в веб-странице. Когда HTML div, который помечен как живая область, отображается на основе состояния нокаута, то он не обнаруживается устройством чтения с экрана. Например:
<!-- ko if: $data --> <div aria-live="polite" data-bind="text: $data"> </div> <!-- ko -->
При загрузке страницы первоначально, $ данных равна нулю. Так что живая область div отсутствует. Но когда данные извлекаются, что div вставлен. Однако NVDA не читает контент в добавленном div. Это ожидаемое поведение? Существует ли какое-либо обходное решение, чтобы исправить это поведение?
Живые регионы должны быть на странице при загрузке. У вас есть URL, где я могу проверить ваш пример? – aardrian
Извините, у меня нет URL-адреса, где вы можете проверить –
Даже когда я отправляю сообщения в один живой регион, этот живой регион создается динамически, когда приходит первое такое сообщение. –