<progress>: Елемент – індикатор прогресу

{{HTMLSidebar}}

Елемент HTML <progress> (прогрес) виводить індикатор, що показує ступінь завершення завдання і, як правило, відображається у вигляді смуги прогресу.

Спробуйте його в дії

Атрибути

Цей елемент приймає глобальні атрибути.

max

Цей атрибут описує те, скільки роботи вимагає завдання, позначене елементом progress. Якщо атрибут max присутній, він повинен мати значення більше за 0 і бути дійсним числом з рухомою комою. Усталене значення — 1.

value

Цей атрибут задає те, скільки роботи виконано. Він повинен бути дійсним числом з рухомою комою між 0 і max, або між 0 і 1, якщо max пропущено. Якщо атрибут value відсутній, смуга прогресу є невизначеною; це означає, що дія триває, але немає вказівок на те, скільки часу вона буде тривати.

Примітка: На відміну від елемента <meter>, мінімальне значення завжди дорівнює 0, а атрибут min для елемента <progress> не дозволений.

Примітка: Псевдоклас :indeterminate можна використовувати для збігу з невизначеними смугами прогресу. Щоб змінити смугу прогресу на невизначену після того, як їй надано значення, необхідно видалити атрибут value за допомогою element.removeAttribute('value').

Приклади

<progress value="70" max="100">70 %</progress>

Результат

Занепокоєння щодо доступності

Підписування

У більшості випадків при використанні <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>.
Пропуск тега Немає; і початковий, і кінцевий теги – обов'язкові.
Дозволені батьківські елементи Усі, що приймають оповідальний вміст.
Неявна роль ARIA progressbar
Дозволені ролі ARIA Немає дозволеної ролі
Інтерфейс DOM HTMLProgressElement

Специфікації

Сумісність із браузерами

desktop mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet
progress
Chrome Full support 6
Edge Full support 12
Firefox Full support 6
footnote
Internet Explorer Full support 10
Opera Full support 11
Safari Full support 6
WebView Android Full support Yes
Chrome Android Full support Yes
Firefox for Android Full support 6
footnote
Opera Android Full support 11
Safari on iOS Full support 7
footnote
Samsung Internet Full support Yes
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 Yes
Chrome Android Full support Yes
Firefox for Android Full support 6
Opera Android Full support 11
Safari on iOS Full support 7
Samsung Internet Full support Yes
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 Yes
Chrome Android Full support Yes
Firefox for Android Full support 6
Opera Android Full support 11
Safari on iOS Full support 7
Samsung Internet Full support Yes

Дивіться також