Chrome отправка всего элемента в программу чтения с экрана при внесении любых изменений - PullRequest
1 голос
/ 03 марта 2020

В какой-то момент в последнее время (я полагаю, во время обновления v80) Chrome начал отправлять все содержимое элемента aria-live в программу чтения с экрана при каждом добавлении контента. До этого он только анонсировал дополнения. Firefox по-прежнему работает, как положено, только объявляя о дополнениях к этому элементу. Я тестирую с использованием NVDA, но мои пользователи сообщают о том же поведении и с J AWS. Вот некоторый простой код, иллюстрирующий поведение (вам нужно иметь программу чтения с экрана, чтобы понять эту идею).

<html>
<head>
<script>
    function addtologinner()
    {
        document.getElementById('log').innerHTML += '<div><p>Event happened at ' + gettime() + '</p></div>';
    }
    function addtologappend()
    {
        var div = document.createElement('div');
        div.innerHTML = '<p>Event happened at ' + gettime() + '</p>';
        document.getElementById('log').appendChild(div);
    }
    function gettime()
    {
        return (new Date()).toJSON().slice(11,19);
    }
</script>
</head>
<body>
<button onclick="addtologappend();">Append to Log</button>
<button onclick="addtologinner();">Add to innerHTML</button><br />
<div id="log" aria-live="polite" aria-atomic="false" aria-relevant="additions text" role="log"></div>

</body>
</html>

Раньше это работало во всех основных браузерах, так как отчет о чтении экрана только изменения, но мои пользователи сообщили об этой проблеме на этой неделе. Изменение значений атрибутов aria-atomi c и относящихся к aria ничего не дает. Это как если бы Chrome больше не уважал эти атрибуты, когда он использовал по умолчанию false / дополнения соответственно. У меня не было возможности провести тестирование в Edge или Safari, большинство моих пользователей используют Chrome. Любые идеи о том, как обойти это? Я не нашел ничего в последних примечаниях к патчу для версии 80, касающихся этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...