formulaires inline-block

<progress>

Affiche la progression d'une tâche, comme un téléchargement ou une installation. Peut être déterminée (avec valeur) ou indéterminée.

Description

L’élément <progress> représente l’avancement d’une tâche. Avec value et max, il montre une progression déterminée (ex. 60 %). Sans value, il affiche une animation de progression indéterminée. Le navigateur rend une barre de progression native, stylisable avec CSS.

Syntaxe

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

Exemples

Progression d’un upload :

<label for="upload">Téléversement :</label>
<progress id="upload" value="35" max="100">35 %</progress>
<span>35 %</span>

Progression indéterminée (chargement) :

<progress aria-label="Chargement en cours…"></progress>

Mise à jour JavaScript :

<progress id="bar" value="0" max="100">0 %</progress>
<script>
  let val = 0;
  const bar = document.getElementById('bar');
  const timer = setInterval(() => {
    bar.value = ++val;
    if (val >= 100) clearInterval(timer);
  }, 50);
</script>

Attributs spécifiques

AttributTypeDescription
valuestringValeur de progression actuelle. Si absent, la progression est indéterminée.
maxstringValeur maximale (défaut : 1).

Notes

Contenu de repli : le contenu entre les balises (60 %) est affiché dans les navigateurs qui ne supportent pas <progress>. Bonne pratique même si le support est aujourd’hui universel.

<progress> vs <meter> : <progress> indique l’avancement d’une tâche (évolution dans le temps) ; <meter> représente une mesure statique dans une plage (jauge).

Support navigateurs

Chrome6+ · Firefox6+ · Safari6+ · Edge12+