Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

HTML-Element <progress> für Fortschrittsanzeigen

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Das HTML-Element <progress> zeigt den Fortschritt einer Aufgabe an, üblicherweise als Fortschrittsbalken.

Probieren Sie es aus

<label for="file">File progress:</label>

<progress id="file" max="100" value="70">70%</progress>
label {
  padding-right: 10px;
  font-size: 1rem;
}

Attribute

Dieses Element unterstützt die globalen Attribute.

max

Dieses Attribut gibt an, wie viel Arbeit für die durch das progress-Element dargestellte Aufgabe insgesamt erforderlich ist. Falls das Attribut max vorhanden ist, muss sein Wert größer als 0 und eine gültige Gleitkommazahl sein. Der Standardwert ist 1.

value

Dieses Attribut gibt an, welcher Anteil der Aufgabe abgeschlossen ist. Sein Wert muss eine gültige Gleitkommazahl zwischen 0 und max sein beziehungsweise zwischen 0 und 1, wenn max fehlt. Ist das Attribut value nicht vorhanden, ist der Fortschrittsbalken unbestimmt. Das bedeutet, dass eine Aktivität läuft, ohne dass ihre voraussichtliche Dauer angegeben wird.

Hinweis: Anders als beim Element <meter> ist der Mindestwert immer 0. Das Attribut min ist für das Element <progress> nicht zulässig.

Hinweis: Mit der Pseudoklasse :indeterminate können Sie unbestimmte Fortschrittsbalken auswählen. Um einen Fortschrittsbalken nach dem Festlegen eines Werts wieder in einen unbestimmten Zustand zu versetzen, müssen Sie das Attribut value mit element.removeAttribute('value') entfernen.

Barrierefreiheit

Beschriftung

In den meisten Fällen sollten Sie bei der Verwendung von <progress> eine barrierefreie Beschriftung bereitstellen. Sie können wie bei jedem Element mit role="progressbar" die üblichen ARIA-Attribute zur Beschriftung verwenden, aria-labelledby oder aria-label. Alternativ können Sie für <progress> das Element <label> verwenden.

Hinweis: Text zwischen den Tags des Elements ist keine barrierefreie Beschriftung. Er wird lediglich als Fallback für ältere Browser empfohlen, die dieses Element nicht unterstützen.

Beispiele

html
<label>
  Uploading Document: <progress value="70" max="100">70 %</progress>
</label>

<!-- OR -->
<br />

<label for="progress-bar">Uploading Document</label>
<progress id="progress-bar" value="70" max="100">70 %</progress>

Ergebnis

Beschreibung eines bestimmten Bereichs

Wenn das Element <progress> den Ladefortschritt eines Seitenbereichs beschreibt, verweisen Sie mit aria-describedby auf die Statusanzeige und setzen Sie aria-busy="true" für den Bereich, der aktualisiert wird. Entfernen Sie das Attribut aria-busy, sobald der Ladevorgang abgeschlossen ist.

Beispiele

html
<div aria-busy="true" aria-describedby="progress-bar">
  <!-- content is for this region is loading -->
</div>

<!-- ... -->

<progress id="progress-bar" aria-label="Content loading…"></progress>
Ergebnis

Beispiele

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

Ergebnis

Technische Zusammenfassung

Inhaltskategorien Flussinhalt, Formulierungsinhalt, beschriftbarer Inhalt, wahrnehmbarer Inhalt.
Zulässiger Inhalt Formulierungsinhalt, aber unter den Nachfahren darf sich kein <progress>-Element befinden.
Weglassen von Tags Keines; sowohl das Start- als auch das End-Tag sind erforderlich.
Zulässige Elternelemente Jedes Element, das Formulierungsinhalt zulässt.
Implizite ARIA-Rolle progressbar
Zulässige ARIA-Rollen Kein role zulässig
DOM-Schnittstelle [`HTMLProgressElement`](/de/docs/Web/API/HTMLProgressElement)

Spezifikationen

Spezifikation
HTML
# the-progress-element

Browser-Kompatibilität

Siehe auch