Объяснение
Контраст и масштабирование влияют на читаемость. Ошибку нельзя кодировать только красным цветом. Анимации должны учитывать предпочтение уменьшенного движения; интерфейс остаётся понятным без анимации.
Задача для самостоятельного решения
Как показать ошибку формы без опоры на цвет?
Показать разбор ответа
Добавить текст причины рядом с полем, связать его aria-describedby и обозначить invalid. Красная рамка может быть дополнительным, но не единственным сигналом.