Сижу ковыряюсь в доступности некоторых компонентов, вспомнил одну полезную статью.
Как часто делают, когда нужно, чтобы пользователь не отправлял форму? Например, когда он только что нажал кнопку «Отправить форму» и интерфейс ждёт ответа от бекенда. Правильно, добавляем атрибут
disabled — и всё, браузер всё выключит за нас. Правда же?Крис Фердинанди подсвечивает, что нет.
Во-вторых, фокус по кнопке в этот момент сбрасывается. То есть клавиатурная навигация ломается, доступность тоже. Пользователи скринридеров после дизейбла кнопки телепортируются непонятно куда, точнее в начало документа.
В статье предлагается решение с использованием JavaScript. Правильнее будет навесить событие
submit на форму, внутри колбека проверить, можно ли отправлять. Если надо визуально «выключить» кнопку, то стилизуем её как неактивную, но не дизейблим.https://gomakethings.com/dont-disable-buttons/