Красивый жест не должен становиться единственным входом
Передвинуть карточку мышкой кажется естественным, пока не приходится одновременно удерживать кнопку, вести объект и попадать в узкую область. На телефоне добавляется конкуренция с прокруткой страницы. Поэтому сначала мы определяем результат: изменить порядок, выбрать значение или посмотреть следующее изображение. Перетаскивание является способом достичь результата, а не самой задачей. Продуманный интерфейс сохраняет этот способ для желающих, но не заставляет остальных тренировать точность движений.
Два способа должны быть равноправными
В списке рядом с выбранной строкой можно предложить «Выше» и «Ниже». Для переноса между группами подходит выбор места назначения. Ползунок можно дополнить полем точного значения или кнопками изменения по шагам, если это соответствует задаче. Галерее помогают обычные кнопки предыдущего и следующего изображения. Все способы должны менять одни данные, учитывать одни ограничения и показывать одинаковый результат. Отдельно продумайте начало и конец списка: непонятная неработающая кнопка не объясняет, почему движение закончилось. Формальная альтернатива без полноценной функции не решает проблему.
Что требует доступность
Критерий 2.5.7 WCAG 2.2 предусматривает для функций с перетаскиванием работу одним указателем без такого движения. Исключения относятся к существенно необходимому перетаскиванию и неизменённому поведению браузера. Одной клавиатурной альтернативы недостаточно: у человека с сенсорным экраном может не быть физической клавиатуры. При этом клавиатурное управление проверяется отдельно; об этом есть материал о навигации без мыши. Обычную прокрутку средствами браузера не стоит смешивать с собственным механизмом сайта.
Проверяйте задачу до результата
Измените порядок трёх элементов короткими нажатиями, не двигая мышь с зажатой кнопкой. Повторите с клавиатуры и на телефоне. Понятно ли, что выбрано, где находится элемент теперь и как исправить ошибку? Не прячьте альтернативу только под наведением. Оставляйте расстояние между действиями и проверяйте доступные названия кнопок. Наш практический ориентир не количество анимаций, а несколько понятных путей к одной цели. Такая проверка компонента не заменяет аудит доступности всего сайта.
