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

Нам, вероятно, стоит пока использовать role… Я подозреваю, что переход на H2 сломает очень много тем.

7 лайков

Всё в порядке, PR уже в работе.

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

9 лайков

Жаль, что для списка тем имеют смысл h2 или h3. Но, вероятно, этот поезд ушёл более 8 лет назад.

4 лайка

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

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

6 лайков

Как только мы нажмём кнопку развёртывания :wink:. Ваш сайт уже разворачивается, он должен стать доступен примерно через 20 минут.

4 лайка

@nolan,

Я предполагаю, что мы сможем откатить это позже, если окажется, что людям это не понравится?

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

Выпадающие списки, которые мой экранной диктор распознаёт как HTML-теги <select>, почти полностью неработоспособны.

У нас есть библиотека под названием SelectKit, которую мы используем во множестве мест. С её помощью выбираются категории, пользователи при создании личного сообщения, а также «состояние отслеживания» для темы (чтобы, например, указать, что вы хотите следить за темой).

Эта библиотека абсолютно не дружелюбна к NVDA. Мы планируем уделить время её улучшению, но, к сожалению, это очень сложная работа, которая может занять несколько недель.

Сегодня мы внедрили ещё несколько исправлений, которые, уверен, вам понравятся. Вы упоминали, как сложно вам было найти административный интерфейс.

«Перейти к другому списку тем или категории», расположенный в верхней части страницы, — это наш универсальный раздел, содержащий ссылки на настройки сайта, админ-панель, списки тем по категориям и многое другое. @eviltrout сегодня утром изменил его так, чтобы при раскрытии списка фокус автоматически перемещался на него. Это, безусловно, делает его гораздо более заметным для NVDA.

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

У нас впереди долгий путь, но я очень воодушевлён им.

Моя цель — и цель Discourse — не быть «таким же хорошим», как phpBB. Мы хотим стать вашим первым выбором, потому что во всех отношениях мы лучше «старого способа». Путь к этому займёт время, но мы уже начали это путешествие.

11 лайков

Возможно, для этого можно использовать живые регионы ARIA; ARIA live regions - ARIA | MDN. Типичный пример — объявление количества результатов после отправки поиска, но мы также можем использовать пустой div, помеченный как живая область, и добавлять в него текст вроде «ответ опубликован» при необходимости.

5 лайков

Живые регионы выглядят отлично, они даже могут стать возможным решением проблем с набором select.

О, похоже, role=alert тоже отлично справляется с нашими различными ошибками, добавляю его сейчас!

5 лайков

@nolan сегодня ещё несколько крутых исправлений и улучшений. (обрати внимание: я провожу все тесты с использованием NVDA)

  1. Если попытаться создать пост, который слишком короткий, мы добавляем роль aria alert, чтобы скринридер сообщил тебе, в чём проблема (например, что пост слишком короткий и т. д.).

  2. Я улучшил логику фокусировки на модальных окнах: теперь мы будем фокусировать их без исключений. Это позволит тебе узнать о различных сочетаниях клавиш. Ссылка на них находится в разделе «Перейти к другому списку тем или категории».

Изменения уже разворачиваются на твоём сайте.

Дай знать, что думаешь!

7 лайков

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

2 лайка

Ого, эта тема, кажется, взорвалась. Похоже, включение уведомлений браузера отключает письма — нужно проверить, можно ли это исправить.

Эти изменения отличные! Спасибо за них!

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

Если посмотреть, например, на отображение поста, то добавленная мной роль h2 окружает только имя и время публикации. Это, вероятно, те детали, которые меня больше всего интересуют при перемещении по постам с помощью клавиш h/H. В списке тем мне, скорее всего, нужен только заголовок и ничего более.

Этин, надеюсь, мы говорим об одной и той же проблеме и я правильно понял вашу мысль. Пожалуйста, дайте знать, если я ошибся.

5 лайков

Также хочу отметить, @Sam, что это не дружелюбно к Orca. Не уверен, сможет ли @Ethindp помочь с поиском ошибок в Linux или чем-то подобным, но по крайней мере на моей системе (Ubuntu с Orca/Firefox) выпадающие списки работают немного лучше.

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

3 лайка

Вы не можете управлять событиями AT-SPI из Firefox, так что это не проблема. Проблема заключается лишь в роли, которую браузер передаёт скринридеру: сообщайте браузеру с помощью ARIA, что элемент является полем со списком (combo box), если он ведёт себя как таковой. Помните: следуйте шаблонам проектирования ARIA, если для вашей задачи не существует готового шаблона (что, полагаю, бывает довольно редко — этот документ весьма всеобъемлющ).

@nolan Да, именно это я и имел в виду. Навигация по таблице с помощью заголовков (а также по сообщениям) замедляет меня по следующим причинам:

  1. Все столбцы являются заголовками или содержат несколько заголовков — воспринимается как множество заголовков. Звучит это примерно так: заголовок темы. Пауза. Информация по теме. Пауза. Информация по теме. Пауза и т. д. В отличие от NVDA, Orca при перемещении по таблице (или, в данном случае, при использовании клавиши h для перехода между элементами) читает всю строку таблицы целиком, а не отдельные столбцы, как это делает NVDA.

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

Решением могло бы стать объединение соответствующих столбцов, содержащих только важную информацию, в один заголовок, если это не нарушит визуальную структуру. (Честно говоря, я не очень люблю навигацию по таблице с помощью заголовков — это просто не соответствует природе таблиц, и заголовки там, по сути, не должны использоваться.)

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

5 лайков

В данный момент роль заголовка ARIA применяется ко всей строке. Я изменю это так, чтобы она применялась только к основной информации — первой колонке большой таблицы (статус, название, категория, количество непрочитанных и так далее).

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

@celtichawk спасибо! @j.jaffeux, вариант решения для выпадающих списков, который должен быть совместим с JAWS, Orca и NVDA. Как я уже упоминал, это может занять немного времени, но мы уже работаем над этим и надеемся показать вам результат в ближайшие несколько недель.

@ethindp, у меня есть идея по поводу заголовков в темах. Мы можем назначить роль заголовка одному элементу, например «имя пользователя», и добавить к нему описание aria: «Sam опубликовал сообщение 3 часа назад». Тогда, думаю, система будет читать: «Регион сообщения #3: Sam опубликовал сообщение 3 часа назад», когда вы перемещаетесь по элементам. Стоит ли попробовать это?

9 лайков

Я бы сказал, попробуй. Мне на самом деле нравится эта идея. (Черт возьми, шаблоны — это потрясающе!)

4 лайка

Хм, вероятно, достаточно только первого столбца. Поэкспериментировав с этим чуть больше, я заметил, что он читает не только заголовок, но и статус прочтения/количество непрочитанных. Думаю, я мог бы смириться с тем, что он читает остальное так, как сейчас, поскольку, к счастью, это озвучивается в последнюю очередь. Но только первый столбец больше соответствует моим ожиданиям.

5 лайков

Привет, Нолан,

Я планировал внести изменения сегодня, но у элемента TD уже есть роль “rowheader”. Боюсь, что вмешиваться в это не стоит.

У меня есть несколько вариантов:

  1. Изменить роль у элемента TD (столбец таблицы), содержащего всю ключевую информацию.

  2. Добавить роль для элемента link-top-line SPAN. Он содержит критически важную информацию, но не включает категории и теги.

  3. Мне очень не хочется этого делать, но мы могли бы добавить обёрточный DIV.

Какое решение нам выбрать?

3 лайка

Клаус также поднял вопросы о том, насколько странной является роль заголовка. Я думаю, что, возможно, мы просто назначим роль заголовка только для «ссылки».

Таким образом:

  • Вы не услышите никакой информации о статусе (заблокировано, закреплено и т.д.)
  • Вы нажимаете H
  • Вы слышите название темы
  • Вы нажимаете H
  • Вы слышите название следующей темы

Если в любой момент вы захотите узнать что-то особенное о теме или взаимодействовать более насыщенным образом, вы можете нажать стрелку вверх или вниз, чтобы получить больше информации.

Это не идеальное решение, но кажется небольшим улучшением по сравнению с тем, что вы попадаете на «закреплённую» ссылку или когда прочитывается вся строка.

4 лайка

На самом деле использование таблицы для отображения списка тем на форуме — это действительно очень хорошо. Все известные мне скринридеры, за исключением Orca, могут навигировать по таблицам, поэтому, если вы правильно передадите информацию о строках и столбцах, навигация будет удобной. Причина запроса на добавление заголовков к темам заключалась в том, чтобы получить стабильный способ навигации по открытой теме. Я не вижу веских причин для добавления заголовков непосредственно в таблицу, но если это сделано правильно, они не вызовут проблем.
Клаус

4 лайка

Привет.
Хочу выразить огромную благодарность всем участникам этой темы. Я помогаю администрировать несколько экземпляров Discourse и заметил большинство упомянутых здесь проблем. До вчерашнего дня я не прилагал усилий, чтобы разобраться, что можно сделать, но после обновления одного из форумов всё изменилось к лучшему!!
А сегодня утром, наткнувшись на эту тему, я почувствовал большой оптимизм: всё будет продолжать улучшаться.
У меня нет конкретных предложений — вы уже затронули большинство моих болевых точек, поэтому я скажу: продолжайте в том же духе.
Есть один момент, который, насколько я знаю, не обсуждался, по крайней мере не в этой теме. Это удобный способ процитировать кого-то в теме. Обычно я делаю так:

вставить цитату сюда.

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

8 лайков