<progress> – Елемент – індикатор прогресу
Елемент HTML <progress>
(прогрес) виводить індикатор, що показує ступінь завершення завдання і, як правило, відображається у вигляді смуги прогресу.
Спробуйте його в дії
Атрибути
Цей елемент приймає глобальні атрибути.
max
Цей атрибут описує те, скільки роботи вимагає завдання, позначене елементом
progress
. Якщо атрибутmax
присутній, він повинен мати значення більше за0
і бути дійсним числом з рухомою комою. Усталене значення —1
.value
Цей атрибут задає те, скільки роботи виконано. Він повинен бути дійсним числом з рухомою комою між
0
іmax
, або між0
і1
, якщоmax
пропущено. Якщо атрибутvalue
відсутній, смуга прогресу є невизначеною; це означає, що дія триває, але немає вказівок на те, скільки часу вона буде тривати.
Примітка: На відміну від елемента
<meter>
, мінімальне значення завжди дорівнює0
, а атрибутmin
для елемента<progress>
не дозволений.
Примітка: Псевдоклас
:indeterminate
можна використовувати для збігу з невизначеними смугами прогресу. Щоб змінити смугу прогресу на невизначену після того, як їй надано значення, необхідно видалити атрибутvalue
за допомогоюelement.removeAttribute('value')
.
Доступність
Підписування
У більшості випадків при використанні <progress>
слід надати доступний підпис. Окрім того, що можна використовувати стандартні підписні атрибути ARIA aria-labelledby
та aria-label
, як і на будь-якому елементі з role="progressbar"
, при використанні <progress>
також можна використовувати елемент <label>
.
Примітка: Текст, розміщений між тегами елемента, не є доступним підписом, він рекомендований лише як запасний вміст для старих браузерів, які не підтримують
<progress>
.
Приклади
<label>
Відвантаження документа: <progress value="70" max="100">70 %</progress>
</label>
<!-- АБО -->
<br />
<label for="progress-bar">Відвантаження документа</label>
<progress id="progress-bar" value="70" max="100">70 %</progress>
Результат
Описування певного регіону
Якщо елемент <progress>
описує прогрес завантаження розділу сторінки, слід використовувати атрибут aria-describedby
, щоб вказати статус, і задати aria-busy="true"
на розділі, який оновлюється, видаливши атрибут aria-busy
, коли завантаження завершено.
Приклади
<div aria-busy="true" aria-describedby="progress-bar">
<!-- вміст для цього регіона – завантажується -->
</div>
<!-- ... -->
<progress id="progress-bar" aria-label="Завантаження вмісту…"></progress>
Результат
Приклади
<progress value="70" max="100">70 %</progress>
Результат
Технічний підсумок
Категорії вмісту | Потоковий вміст, оповідальний вміст, підписний вміст, відчутний вміст. |
---|---|
Дозволений вміст |
Оповідальний вміст, але серед нащадків не повинно бути елементів <progress> .
|
Пропуск тега | Немає; і початковий, і кінцевий теги – обов'язкові. |
Дозволені батьківські елементи | Усі, що приймають оповідальний вміст. |
Неявна роль ARIA | progressbar |
Дозволені ролі ARIA | Немає дозволеної ролі |
Інтерфейс DOM | HTMLProgressElement |
Специфікації
Специфікація |
---|
HTML Standard (HTML) # the-progress-element |
Сумісність із браузерами
desktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
progress
|
Chrome Full support 6 | Edge Full support 12 | Firefox Full support 6 | Internet Explorer Full support 10 | Opera Full support 11 | Safari Full support 6 | WebView Android Full support Так | Chrome Android Full support Так | Firefox for Android Full support 6 | Opera Android Full support 11 | Safari on iOS Full support 7 | Samsung Internet Full support Так |
max
|
Chrome Full support 6 | Edge Full support 12 | Firefox Full support 6 | Internet Explorer Full support 10 | Opera Full support 11 | Safari Full support 6 | WebView Android Full support Так | Chrome Android Full support Так | Firefox for Android Full support 6 | Opera Android Full support 11 | Safari on iOS Full support 7 | Samsung Internet Full support Так |
value
|
Chrome Full support 6 | Edge Full support 12 | Firefox Full support 6 | Internet Explorer Full support 10 | Opera Full support 11 | Safari Full support 6 | WebView Android Full support Так | Chrome Android Full support Так | Firefox for Android Full support 6 | Opera Android Full support 11 | Safari on iOS Full support 7 | Samsung Internet Full support Так |