Skip to content

Spinner

Der Spinner wird zur Anzeige eines unbestimmten Fortschritts oder Ladevorgangs eingesetzt.

Overview

Intro

Der Spinner bildet eine indeterministische (= unbestimmte, nicht ermittelbare) Ladezeit ab und wird bei unspezifischer Wartezeit oder Dauer eines Vorgangs eingesetzt.

Spinner

Verwendung

👍 Do👎 Don't
... wenn die Fortschrittsrate des zugrundeliegenden Prozesses indeterministisch ist, sie also nicht bestimmt werden kann, oder wenn es nicht nötig ist, anzuzeigen, wie lange ein Prozess dauert.... wenn die Fortschrittsrate des zugrundeliegenden Prozesses ermittelt werden kann. Nutze hierfür die Progress Bar.

Hinweis

Die minimal zu verwendende Größe des Spinners beträgt 24px24px (circular-minimum-size token). Die maximale Größe beträgt 100px100px (circular-maximum-size token).

Guidelines

Aufbau

Der Spinner zeigt den Fortschritt einer Aktion durch eine Animation der Anzeige entlang einer Kreisbahn an.

Spinner

Bei indeterministischer Verwendung (unbestimmte Ladezeit)

Wenn möglich, soll dem Nutzer beim Spinner mit relevanten Informationen kommuniziert werden, was gerade im Hintergrund passiert (z.B. „Suche läuft“, „Suche nach Updates“). Des Weiteren kann auch die generische Formulierung „Bitte warten...“ verwendet werden, da diese trotzdem besser ist als gar keine Information an den Nutzer. Die genaue Platzierung des Texts ist abhängig vom Anwendungsfall und muss vom UX Designer entschieden werden. In manchen Anwendungsfällen ist es auch möglich, dass keine sinnvolle Platzierung von Text möglich ist und er deswegen weggelassen wird.

Spinner

Verhalten

Die Animation der Kreisbahn beim Spinner erfolgt im Uhrzeigersinn. Dabei dreht sich die gefüllte Fläche entlang der Kreisbahn.

Sonderfall: Verwendung als blockierender Spinner

Beispiel blockierender Spinner

Wenn der Nutzer während der Ladezeit die Benutzeroberfläche nicht bedienen können soll, kann der Spinner auch als blockierender Spinner eingesetzt werden. Dies ist z.B. beim Wechsel von Seiten der Fall bei denen das iFrame neu lädt.

Barrierefreiheit

Der Spinner ist barrierefrei. Dies wird sichergestellt durch die Verwendung der progressbar role und der Aria Attribute aria-valuenow , aria-valuemin und aria-valuemax , was ermöglicht, dass der Fortschritt von Screenreadern ausgelesen werden kann.

Mehr hierzu ist zu finden unter: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_progressbar_role

Develop Vue

Die Implementierung der Webcomponenten in Vue.js kann in folgendem Showcase innerhalb des AKDB Netzwerks betrachtet werden: https://mate-ds-vue-components-showcase-25.core-platform.kubt.akdb.net/?path=/docs/komponenten-progress-bar--docs

Develop Flow

Der Showcase ist innerhalb des AKDB Netzwerks zu finden unter: https://mate-ds-flow-components-showcase-25.core-platform.kubt.akdb.net/?src=component%252Fprogress-bar

Code Examples

Install

Maven

xml
<dependency>
    <groupId>de.mate_ds</groupId>
    <artifactId>mate-spinner-flow</artifactId>
</dependency>

Import

java
import de.mate_ds.flow.component.spinner.Spinner;

Variants

Default

java
Spinner spinner = new Spinner();

Custom Size

java
Spinner spinner = new Spinner();
spinner.setSize("48px");