Прогресс

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

Progress

Основные данные

Блок прогресса можно выполнить используя нативные элемент 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?