Прогресс
Элемент отображения выполнения пр

Основные данные
Блок прогресса можно выполнить используя нативные элемент html <progress> и без него.
Нативный
Упрощенная реализация выглядит следующим образом (оригинал статьи: https://htmlweb.ru/html/form/progress.php):
Недостатками варианта такой реализации:
нельзя складывать индикаторы выполнения
нельзя анимировать
нельзя разместить над ними текстовые метки
плохая поддержка и дублирование свойств
Достоинства:
Можно удобно обращаться к одному параметру в JS:
document.getElementById('progress').value = '50';
Кастомный
Вариант с строкой состояния и анимацией.
Вариант 2: https://jsbin.com/cefewo/edit?html,css,js,output
Нативный + кастомный
Вариант усложненной реализации (с процентами и анимацией) - https://habr.com/ru/post/266895/
Этот вариант используется оба метода.
Недостатки:
нарушается семантика
требуется вносить дополнительные ARIA атрибуты
Мой вариант с псевдоэлементами:
Интерактивный дизайн
Screenreader
При изменении состояния (процента) необходимо объявлять его.
ARIA
В этом разделе перечислены все соответствующие роли, состояния и свойства ARIA для кнопки.
role Сообщает AT, что выбрана роль стандартного элемента (в данном случае "progress")
aria-valuenow текущее состояние "прогресса"
aria-valuemin минимальное состояние
aria-valuemax максимальное состояние
Last updated
Was this helpful?