Нам, вероятно, стоит пока использовать role… Я подозреваю, что переход на H2 сломает очень много тем.
Всё в порядке, PR уже в работе.
Теперь навигация по спискам тем с помощью NVDA стала гораздо приятнее: достаточно нажимать h, h, h, чтобы перемещаться между темами.
Жаль, что для списка тем имеют смысл h2 или h3. Но, вероятно, этот поезд ушёл более 8 лет назад.
Хм, не уверен, как я отношусь к новому региону. Он действительно добавляет немного дополнительного текста к каждому сообщению, но я не думаю, что это так уж плохо, и это действительно добавляет немного дополнительного контекста к каждому сообщению при прокрутке стрелками. Я предполагаю, что мы можем откатить это изменение позже, если окажется, что людям это не понравится?
Я предполагаю, что эти изменения уже активны здесь? Похоже на то, и они действительно делают просмотр тем гораздо более приятным. Большое спасибо за такую быструю реакцию! Когда новый релиз станет доступен на размещённых сайтах?
Как только мы нажмём кнопку развёртывания
. Ваш сайт уже разворачивается, он должен стать доступен примерно через 20 минут.
Я предполагаю, что мы сможем откатить это позже, если окажется, что людям это не понравится?
Да, безусловно. Если сообщество незрячих пользователей сочтет, что это создает больше шума, чем пользы, я с радостью верну всё как было.
Выпадающие списки, которые мой экранной диктор распознаёт как HTML-теги
<select>, почти полностью неработоспособны.
У нас есть библиотека под названием SelectKit, которую мы используем во множестве мест. С её помощью выбираются категории, пользователи при создании личного сообщения, а также «состояние отслеживания» для темы (чтобы, например, указать, что вы хотите следить за темой).
Эта библиотека абсолютно не дружелюбна к NVDA. Мы планируем уделить время её улучшению, но, к сожалению, это очень сложная работа, которая может занять несколько недель.
Сегодня мы внедрили ещё несколько исправлений, которые, уверен, вам понравятся. Вы упоминали, как сложно вам было найти административный интерфейс.
«Перейти к другому списку тем или категории», расположенный в верхней части страницы, — это наш универсальный раздел, содержащий ссылки на настройки сайта, админ-панель, списки тем по категориям и многое другое. @eviltrout сегодня утром изменил его так, чтобы при раскрытии списка фокус автоматически перемещался на него. Это, безусловно, делает его гораздо более заметным для NVDA.
Я уделяю много времени изучению вашего опыта использования. Ещё одна проблема, которую я заметил сегодня, — это «отсутствие обратной связи» при публикации ответа или новой темы. Вам очень трудно понять, сработало ли действие или нет. Мы постараемся хотя бы применить некоторые приёмы с фокусом, чтобы помочь вам. Мне интересно, не стоит ли в долгосрочной перспективе добавить в Discourse режим «звуков», который будет сообщать вам об ошибках и успехах при выполнении различных действий.
У нас впереди долгий путь, но я очень воодушевлён им.
Моя цель — и цель Discourse — не быть «таким же хорошим», как phpBB. Мы хотим стать вашим первым выбором, потому что во всех отношениях мы лучше «старого способа». Путь к этому займёт время, но мы уже начали это путешествие.
Возможно, для этого можно использовать живые регионы ARIA; ARIA live regions - ARIA | MDN. Типичный пример — объявление количества результатов после отправки поиска, но мы также можем использовать пустой div, помеченный как живая область, и добавлять в него текст вроде «ответ опубликован» при необходимости.
Живые регионы выглядят отлично, они даже могут стать возможным решением проблем с набором select.
О, похоже, role=alert тоже отлично справляется с нашими различными ошибками, добавляю его сейчас!
@nolan сегодня ещё несколько крутых исправлений и улучшений. (обрати внимание: я провожу все тесты с использованием NVDA)
-
Если попытаться создать пост, который слишком короткий, мы добавляем роль aria alert, чтобы скринридер сообщил тебе, в чём проблема (например, что пост слишком короткий и т. д.).
-
Я улучшил логику фокусировки на модальных окнах: теперь мы будем фокусировать их без исключений. Это позволит тебе узнать о различных сочетаниях клавиш. Ссылка на них находится в разделе «Перейти к другому списку тем или категории».
Изменения уже разворачиваются на твоём сайте.
Дай знать, что думаешь!
Ладно, возможно, я сейчас буду придираться. Но способ перечисления тем выглядит немного странно. Кажется, что заголовком помечен весь ряд, а не отдельные колонки. Как я уже сказал, это действительно мелочь, так что, возможно, я просто придираюсь.
Ого, эта тема, кажется, взорвалась. Похоже, включение уведомлений браузера отключает письма — нужно проверить, можно ли это исправить.
Эти изменения отличные! Спасибо за них!
Я согласен, что заголовки в списке тем выглядят немного странно. Мне бы хотелось, чтобы заголовки содержали только самую необходимую информацию, ведь если мне понадобятся подробности, я знаю, где их найти.
Если посмотреть, например, на отображение поста, то добавленная мной роль h2 окружает только имя и время публикации. Это, вероятно, те детали, которые меня больше всего интересуют при перемещении по постам с помощью клавиш h/H. В списке тем мне, скорее всего, нужен только заголовок и ничего более.
Этин, надеюсь, мы говорим об одной и той же проблеме и я правильно понял вашу мысль. Пожалуйста, дайте знать, если я ошибся.
Также хочу отметить, @Sam, что это не дружелюбно к Orca. Не уверен, сможет ли @Ethindp помочь с поиском ошибок в Linux или чем-то подобным, но по крайней мере на моей системе (Ubuntu с Orca/Firefox) выпадающие списки работают немного лучше.
Например, если я создаю тему, я могу развернуть выпадающий список категорий и ввести категорию. Я могу открыть выбор состояния, но если я разворачиваю это меню, оно ведёт себя как кнопка: мне приходится вслепую (каламбур) нажимать на меню состояний и надеяться, что это то, что мне нужно. Я не знаю достаточно об Orca или событиях ATSPI, чтобы понять, будет ли решение, работающее для одного скринридера, работать и для Orca, или же это потребует больше усилий.
Вы не можете управлять событиями AT-SPI из Firefox, так что это не проблема. Проблема заключается лишь в роли, которую браузер передаёт скринридеру: сообщайте браузеру с помощью ARIA, что элемент является полем со списком (combo box), если он ведёт себя как таковой. Помните: следуйте шаблонам проектирования ARIA, если для вашей задачи не существует готового шаблона (что, полагаю, бывает довольно редко — этот документ весьма всеобъемлющ).
@nolan Да, именно это я и имел в виду. Навигация по таблице с помощью заголовков (а также по сообщениям) замедляет меня по следующим причинам:
-
Все столбцы являются заголовками или содержат несколько заголовков — воспринимается как множество заголовков. Звучит это примерно так: заголовок темы. Пауза. Информация по теме. Пауза. Информация по теме. Пауза и т. д. В отличие от NVDA, Orca при перемещении по таблице (или, в данном случае, при использовании клавиши h для перехода между элементами) читает всю строку таблицы целиком, а не отдельные столбцы, как это делает NVDA.
-
Ситуация с сообщениями аналогична. Вся информация о сообщении снова разбита на отдельные заголовки и читается так же, как описано выше.
Решением могло бы стать объединение соответствующих столбцов, содержащих только важную информацию, в один заголовок, если это не нарушит визуальную структуру. (Честно говоря, я не очень люблю навигацию по таблице с помощью заголовков — это просто не соответствует природе таблиц, и заголовки там, по сути, не должны использоваться.)
Ещё одна небольшая проблема: все заголовки, похоже, имеют один и тот же уровень. Это создаёт трудности, поскольку скринридеры позволяют мне перемещаться по странице, прыгая между заголовками разных уровней. Поскольку все заголовки одного уровня, я не могу быстро перейти от заголовка темы к заголовку связанных сообщений — мне приходится последовательно читать всю тему, что становится утомительным, особенно в темах с огромным количеством сообщений.
В данный момент роль заголовка ARIA применяется ко всей строке. Я изменю это так, чтобы она применялась только к основной информации — первой колонке большой таблицы (статус, название, категория, количество непрочитанных и так далее).
Стоит ли мне пойти дальше и назначить роль только заголовку темы? Думаю, это действительно ускорит работу, если вы будете помнить о необходимости перемещаться влево и вправо для получения информации о статусе темы, категории и так далее.
@celtichawk спасибо! @j.jaffeux, вариант решения для выпадающих списков, который должен быть совместим с JAWS, Orca и NVDA. Как я уже упоминал, это может занять немного времени, но мы уже работаем над этим и надеемся показать вам результат в ближайшие несколько недель.
@ethindp, у меня есть идея по поводу заголовков в темах. Мы можем назначить роль заголовка одному элементу, например «имя пользователя», и добавить к нему описание aria: «Sam опубликовал сообщение 3 часа назад». Тогда, думаю, система будет читать: «Регион сообщения #3: Sam опубликовал сообщение 3 часа назад», когда вы перемещаетесь по элементам. Стоит ли попробовать это?
Я бы сказал, попробуй. Мне на самом деле нравится эта идея. (Черт возьми, шаблоны — это потрясающе!)
Хм, вероятно, достаточно только первого столбца. Поэкспериментировав с этим чуть больше, я заметил, что он читает не только заголовок, но и статус прочтения/количество непрочитанных. Думаю, я мог бы смириться с тем, что он читает остальное так, как сейчас, поскольку, к счастью, это озвучивается в последнюю очередь. Но только первый столбец больше соответствует моим ожиданиям.
Привет, Нолан,
Я планировал внести изменения сегодня, но у элемента TD уже есть роль “rowheader”. Боюсь, что вмешиваться в это не стоит.
У меня есть несколько вариантов:
-
Изменить роль у элемента
TD(столбец таблицы), содержащего всю ключевую информацию. -
Добавить роль для элемента
link-top-lineSPAN. Он содержит критически важную информацию, но не включает категории и теги. -
Мне очень не хочется этого делать, но мы могли бы добавить обёрточный
DIV.
Какое решение нам выбрать?
Клаус также поднял вопросы о том, насколько странной является роль заголовка. Я думаю, что, возможно, мы просто назначим роль заголовка только для «ссылки».
Таким образом:
- Вы не услышите никакой информации о статусе (заблокировано, закреплено и т.д.)
- Вы нажимаете H
- Вы слышите название темы
- Вы нажимаете H
- Вы слышите название следующей темы
Если в любой момент вы захотите узнать что-то особенное о теме или взаимодействовать более насыщенным образом, вы можете нажать стрелку вверх или вниз, чтобы получить больше информации.
Это не идеальное решение, но кажется небольшим улучшением по сравнению с тем, что вы попадаете на «закреплённую» ссылку или когда прочитывается вся строка.
На самом деле использование таблицы для отображения списка тем на форуме — это действительно очень хорошо. Все известные мне скринридеры, за исключением Orca, могут навигировать по таблицам, поэтому, если вы правильно передадите информацию о строках и столбцах, навигация будет удобной. Причина запроса на добавление заголовков к темам заключалась в том, чтобы получить стабильный способ навигации по открытой теме. Я не вижу веских причин для добавления заголовков непосредственно в таблицу, но если это сделано правильно, они не вызовут проблем.
Клаус
Привет.
Хочу выразить огромную благодарность всем участникам этой темы. Я помогаю администрировать несколько экземпляров Discourse и заметил большинство упомянутых здесь проблем. До вчерашнего дня я не прилагал усилий, чтобы разобраться, что можно сделать, но после обновления одного из форумов всё изменилось к лучшему!!
А сегодня утром, наткнувшись на эту тему, я почувствовал большой оптимизм: всё будет продолжать улучшаться.
У меня нет конкретных предложений — вы уже затронули большинство моих болевых точек, поэтому я скажу: продолжайте в том же духе.
Есть один момент, который, насколько я знаю, не обсуждался, по крайней мере не в этой теме. Это удобный способ процитировать кого-то в теме. Обычно я делаю так:
вставить цитату сюда.
Но я бы хотел использовать правильный метод цитирования. Я недостаточно хорошо знаю Markdown, чтобы просто написать его вручную, и даже если бы знал, это показалось бы мне утомительным. Мне интересно, какие ещё приёмы используют другие для цитирования в теме, если нельзя пользоваться мышью?