Общение с помощью программы экранного доступа

На прошлой неделе я использовал Discourse с экранным диктором (NVDA) в течение дня, и эта проблема была моим главным разочарованием, поэтому я очень хочу её исправить.

Когда вы заходите в тему из списка тем, например /latest, Discourse прокручивает страницу вниз и выделяет первый непрочитанный пост в теме или последний пост, если непрочитанных нет. Это отлично работает для пользователей с нормальным зрением, однако пользователи экранных дикторов об этом не узнают, так как фокус вообще не перемещается при входе в тему, поэтому экранные дикторы начинают чтение с самого верха страницы.

Я развернул компонент темы здесь, на Meta, чтобы протестировать своё исправление этой проблемы. Может ли кто-то из тех, кто использует экранный диктор, проверить исправление и сказать, стало ли лучше (или хуже :sweat_smile:)? Зайдите в случайную тему, прочитайте несколько постов, выйдите из темы и зайдите в неё снова. Можете ли вы легко определить, что Discourse поместил вас на первый непрочитанный пост? Есть ли какие-либо улучшения, которые мы можем внести?

11 лайков

О, это очень приятно и, кажется, действительно помогает, хотя я ещё не провёл исчерпывающее тестирование. Я считаю, что это серьёзное улучшение.

Одно предложение: если я нажму на тему, прочитаю её до конца, а затем нажму «Назад» в браузере, останется ли фокус мыши на ранее выбранной теме? Могу сразу сказать, что моей следующей главной проблемой станет необходимость возвращаться к теме, в которую я заходил, чтобы найти следующую. Если я нажму на тему и нажму «Назад», можно ли переместить фокус клавиатуры на ссылку этой темы в списке?

Кстати, ниже последнего сообщения в теме есть какой-то странный элемент управления с надписью вроде «Выбрать % имя или значение». Неверно ли экранировано что-то? Я не знаю точного значения того, что было произнесено, так как, вероятно, мне пришлось бы скопировать фразу напрямую из буфера речи NVDA. Она не отображалась в тексте страницы.

8 лайков

@osama, я думаю, здесь есть небольшая регрессия. Проверено в Chrome и Safari. При прокрутке списка тем на первой теме следующей порции появляется фокусное «кольцо». Вот пример:

Заметил это только что, вероятно, это связано только что слитым коммитом: A11Y: Focus last viewed topic in topic lists (#15300) · discourse/discourse@76aeee6 · GitHub

8 лайков

пока откатываю здесь,

6 лайков

@ndarilek Как обстоят дела с доступностью для пользователей скринридеров? Я ищу дискуссионный форум для интеграции в систему управления обучением, которая была разработана с учётом потребностей пользователей скринридеров. Спасибо.

4 лайка

Стало гораздо лучше, чем раньше, и пользоваться очень удобно, хотя я немного беспокоюсь, что прогресс мог остановиться.

В частности, я не уверен, что мои опасения из поста №88 были учтены, и, как я и предсказывал, теперь это довольно серьёзное неудобство, поскольку многие изменения в области доступности распространились на установки Discourse. Если я нажимаю на тему, читаю её, а затем нажимаю «Назад», фокус, кажется, возвращается далеко вверх, к списку исходных тем. Например, если я просматриваю 50-й пост в категории, нажимаю на него, читаю, а затем нажимаю «Назад», фокус перемещается примерно к 20-му посту в исходном списке. После этого мне приходится возвращаться туда, где я был (то есть к 50-му посту, на который я нажал), и продолжать просмотр. Обычно это означает, что мне нужно вспомнить заголовок темы, надеясь, что он достаточно уникален, а затем искать его на странице, чтобы найти ту самую ссылку, на которую я изначально нажал. Я предполагаю, что фокус возвращается к первой видимой ссылке на пост в категории, но он действительно должен возвращаться к посту, который был открыт последним. Звучит как мелочь, но если умножить это на 5–10 прочтений, когда мне приходится тратить минуту или две на то, чтобы снова найти свою позицию, я обычно быстро устаю и перестаю участвовать в жизни сообщества после нескольких таких повторений. Я буквально перестал читать ряд форумов на базе Discourse не потому, что они мне не были интересны и я не хотел участвовать, а потому, что трение, связанное с необходимостью снова находить свой фокус уже в шестой или седьмой раз, оказалось слишком сильным.

Если коротко, я скажу, что ситуация не плохая и определённо стала гораздо лучше, чем раньше. Но я очень надеюсь, что эта конкретная проблема будет решена, потому что если пользователи скринридеров отказываются от участия после нескольких сеансов по несколько минут, посвящённых поиску «старого фокуса», то это голоса, которые не участвуют в жизни вашего сообщества. Я понимаю, что ресурсы могут быть несколько растянуты, но как специалист по доступности я с уверенностью могу сказать, что такой уровень трения, вероятно, слишком велик для того, чтобы стимулировать долгосрочное участие, на которое рассчитывают большинство сообществ Discourse.

Тем не менее, я хотел бы на мгновение отметить, что ситуация стала гораздо лучше, чем чуть более года назад. Большое спасибо за это!

13 лайков

Спасибо за ваш ответ. Я колеблюсь, поскольку мы стремимся к долгосрочному участию в нашем сообществе, и рассматриваемый вопрос не кажется незначительным.

3 лайка

Звучит как проблема, которую следует исправить, и я думаю, что кто-то, возможно, займется этим, но это не моя работа. :slight_smile:

В качестве временного решения до тех пор вы можете попробовать продолжить прокрутку вниз до нижней части темы, где находятся предложенные темы. Есть неплохая вероятность, что одна или несколько из этих тем станут подходящим следующим шагом. Не знаю, поможет ли это или нет.

3 лайка

Нолан, огромное спасибо за ваше терпение! Мы обязательно выделим время в течение следующего месяца, чтобы решить проблему с фокусом (мы тестируем на NVDA, и, надеемся, это также поможет выявить проблемы с JAWS и Orca).

Сообщайте нам о любых мелочах (или серьезных неудобствах), которые вы обнаружите. Мы хотим, чтобы ваш опыт работы с Discourse был приятным.

Только в этом месяце @kris.kotlarek реализовал ARIA-метки для предупреждений нашего редактора. Это означает, что если вы попытаетесь создать тему и забудете ввести заголовок, система корректно сообщит об этом!

6 лайков

Привет, Нолан! Мне очень жаль, что нам потребовалось так много времени, чтобы исправить это, но у меня есть хорошие новости! Проблема была устранена на прошлой неделе, и с тех пор исправление было развернуто на всех экземплярах Discourse, которые мы хостим, включая этот сайт. Не могли бы вы попробовать и сообщить, работает ли всё так, как вы ожидаете? Есть ли какие-либо дополнительные улучшения, которые вы хотели бы, чтобы мы внесли?

Кроме того, проблема с «Выбором % имени значения», о которой упоминалось здесь:

была исправлена @j.jaffeux ещё в январе. Всё ещё сталкиваетесь с этой проблемой?

15 лайков

О, это очень приятно. Я несколько минут просматривал другую инстанцию, и она работала довольно хорошо. Фокус корректно возвращался к предыдущей теме при выходе или к моему месту в этой теме при возвращении.

Спасибо! Это делает использование Discourse гораздо более приятным. :slight_smile:

21 лайк

Большое спасибо за ваше терпение. Мы стремимся сделать Discourse удобным для всех. :person_bowing:

11 лайков

Здравствуйте,

Я вернулся с несколькими предложениями по улучшению доступности для пользователей скринридеров.
В последние дни я пытался воспользоваться списком пользователей на моём небольшом форуме, но обнаружил, что красивая таблица на самом деле бесполезна.
Пользователи - Discourse Meta

Кажется, что верхний ряд заполнен кнопками, которые могли бы служить описанием для столбцов таблицы. Я предполагаю, что каждая из этих кнопок позволяет сортировать данные в таблице. Это очень удобно, но пока ни один скринридер не может определить заголовки столбцов, таблица слишком сложна из-за наличия семи столбцов и в текущем виде практически бесполезна. Пока вы не сможете перемещаться по таблице и получать озвучивание заголовков столбцов, она остаётся почти непригодной для использования.

5 лайков

Ещё одна проблема, особенно в длинных ветках: было бы здорово точно понимать, отвечаете ли вы на другой пост в теме или создаёте «свой собственный» ответ. Сейчас кнопка всегда называется «Ответить» с каким-то общим текстом, независимо от того, кому или на что вы отвечаете. Было бы неплохо, если бы к кнопке «Ответить» добавлялось имя человека, которому вы отвечаете, или номер темы. Также стоит по-другому помечать ответ на тему в целом, а не на конкретный пост внутри неё.

5 лайков

Привет, Клаус,

Спасибо, что нашли время сообщить нам об этих проблемах. Я посмотрю на них в начале следующей недели и оценю, насколько сложно будет их устранить.

6 лайков

Отлично, похоже, это было исправлено в бета-версии 10. Очень приятное улучшение.

4 лайка

Итак, я вернулся с новыми проблемами. Это происходит у меня как с JAWS, так и с NVDA в Edge 106 и Chrome 106.
Когда вы просматриваете таблицу со списком тем, есть два способа перейти к последнему ответу. Либо вы можете нажать на «В этой теме есть x ответов с…», и у вас появится выбор: перейти к первому или последнему сообщению в теме. Либо вы можете нажать на указание времени «XX времени», когда к сообщению был добавлен последний комментарий. В обоих случаях вы можете ожидать, что фокус перейдет к сообщению. Однако этого больше не происходит. При нажатии на любую из ссылок/кнопок, описанных выше, ничего не происходит, а фокус скринридера остается в верхней части страницы.
Я еще не проверял, как ведет себя Firefox, чтобы исключить возможность того, что это новое поведение вызвано чем-то в Chromium.

6 лайков

Нужно добавить ещё одну небольшую деталь: Jaws будет считывать как текущий непереведённый текст метки, так и старый более общий заголовок, который переведён на этой кнопке ответа. Jaws видит следующее:

label=Reply to post #107 by @Roman

title=begynd at skrive et svar til dette indlæg

Меня бы вполне устроило отсутствие общего текста заголовка, но проблема может заключаться в том, что новая строка метки в настоящее время не переведена.

3 лайка

Я только что изменил браузер по умолчанию на Firefox Nightly, и теперь фокус перемещается к соответствующему посту, как это было в браузерах на базе Chromium. Похоже, это проблема браузера, однако это действительно раздражает, если вы используете Chrome или Edge с экранным диктором.
Клаус

2 лайка

Привет @thoeg, спасибо за создание этого вопроса.

Я пытался воспроизвести эту проблему, но мне это не удалось. В моих тестах всё работает корректно как в Windows, так и в macOS во всех основных браузерах с использованием Narrator, VoiceOver, NVDA и JAWS.

Возможно, это была просто проблема браузера. Теперь, когда прошло некоторое время и вышли новые обновления, не могли бы вы попробовать ещё раз, чтобы проверить, сохраняется ли проблема, например в Chrome 109?

5 лайков