Это вопрос доступности:

Пользователи программы чтения с экрана могут взаимодействовать со списком элементов, например:

  • пункт1 удалить пункт1
  • пункт2 удалить пункт2
  • ...... ......................

Куда должен перемещаться фокус после того, как пользователь удалил элемент. Основная проблема заключается в том, что фокус не может оставаться там, где он был (таким образом теряется контекст), потому что строка будет полностью удалена.

Посоветуйте, куда поставить акцент? Также учтите, что мы можем добавить другие элементы, такие как заголовки или кнопку «Добавить», чтобы получить фокус.

1
Leths 15 Сен 2016 в 19:22

3 ответа

Лучший ответ

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

Следуя принципу наименьшего удивления, я бы оставил место открытым с «[удалено]» в нем до тех пор, пока курсор не уйдет за пределы списка, после чего пробел может быть закрыт.

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

4
MMacD 17 Сен 2016 в 00:05
2
Мне очень нравится твоя идея
 – 
Leths
19 Сен 2016 в 18:32
Для тех, кто ищет спецификацию, подтверждающую это, это решение поддерживается WCAG 2.1: 2.4.3 Порядок фокуса, 3.2.1 На фокусе , 3.2.2 При вводе
 – 
gfullam
15 Фев 2019 в 00:24

Мне кажется, что есть три варианта:

  • Сосредоточьтесь на том же месте в списке, но на новом элементе, который теперь "сполз" на это место после удаления. Предположительно, список «схлопывается», и все элементы после удаленного перемещаются на место ближе к началу списка. Если вы оставите фокус таким же, новый элемент, занимающий эту позицию в списке, будет в фокусе.

  • Переместите фокус на элемент перед удаленным элементом. Вместо того, чтобы оставлять фокус на позиции в списке, переместите фокус обратно на элемент ПЕРЕД удаленным элементом.

  • Полностью потерять фокус на списке и объявить фокус на каком-то элементе страницы более высокого уровня.

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

Я не очень хорошо знаком с программами чтения с экрана (позор мне), но где фокусируется место на странице, когда пользователь впервые попадает на страницу? Может быть, имеет смысл использовать третий вариант выше и вернуть пользователя за пределы контекста списка? Или это означает, что им нужно еще много работать, чтобы вернуться в список?

0
Mattynabib 16 Сен 2016 в 04:46

В списке значений будет значение по умолчанию, например ( выберите или '-' или ' '). Всякий раз, когда пользователь удаляет сфокусированное значение, перемещайте фокус на значение по умолчанию в списке. Надеюсь, это решит вашу проблему.

0
Grafix Guru 16 Сен 2016 в 08:56