Button-Design
Definition: Button-Design bezeichnet die visuelle und funktionale Gestaltung von interaktiven Schaltflächen in digitalen Interfaces mit dem Ziel, Klickbereitschaft (Affordance), Hierarchie und Interaktionsfeedback klar zu kommunizieren. Button-Hierarchie-Ebenen: Primary Button (Hauptaktion; höchste visuelle Priorität; Vollfarbe; CTA «Jetzt kaufen», «Absenden», «Registrieren»); Secondary Button (Nebenhandlung; weniger prominent; Outline oder gedämpfte Farbe); Tertiary / Ghost Button (niedrige Priorität; nur Text oder transparenter Hintergrund); Danger/Destructive Button (rot oder warnend; für irreversible Aktionen); Link-as-Button (Links die wie Buttons gestylt sind oder umgekehrt). Button-Zustände (States) die designt werden müssen: Default; Hover (Maus-Hover: Farbwechsel, Cursor:pointer); Focus (Tastaturfokus: sichtbarer Outline); Active/Pressed (Klick-Moment: visuelle Eindrückungs-Reaktion); Disabled (nicht aktiv: niedrigerer Kontrast; kein pointer-events); Loading (asynchrone Aktion: Spinner im Button; verhindert Doppelklick). Touch-Target-Mindestgröße: Apple HIG und Material Design: mindestens 44×44 pt (iOS) / 48×48 dp (Material Design) für tap targets; WCAG 2.5.5 (AAA): mindestens 44×44 CSS-Pixel; kleinere Buttons benötigen ausreichend Abstand zu benachbarten Targets.
Erläuterung
Die wissenschaftliche Grundlage für Button-Größengestaltung liefert Fitts's Law (Paul Fitts, 1954; Journal of Experimental Psychology): die Zeit um ein Ziel zu erreichen ist eine Funktion aus Distanz und Zielgröße – je größer das Ziel und je näher es liegt, desto schneller und fehlerfreier kann es getroffen werden. Mackenzie und Buxton (1992) erweiterten Fitts's Law auf 2D-Zeigegeräte was direkte Implikationen für Button-Platzierung in UIs hat: Buttons in Ecken oder am Bildschirmrand sind effektiv unendlich groß weil der Cursor dort stoppt; deshalb platziert macOS das Apple-Menü in der oberen linken Ecke. Bill Buxton («Sketching User Experiences», 2007) prägte das Konzept der «fat thumb» für Touch-Interfaces: auf Touchscreens ist der wirksame Kontaktpunkt deutlich größer und ungenauer als ein Mauszeiger, was größere Touch-Targets erfordert. Die Ghost-Button-Kontroverse im CRO-Kontext: Ghost-Buttons (Outline nur, transparenter Hintergrund) wurden als Design-Trend populär durch Flat-Design-Bewegung (Apple iOS 7, 2013), zeigen jedoch in CRO-A/B-Tests konsistent niedrigere Klickraten als gefüllte Primary-Buttons weil ihre Affordance schwächer ist – Michael Aagaard (Unbounce; 2014) dokumentierte in mehreren Tests dass Ghost-Buttons im Vergleich zu gefüllten CTAs 12–38% weniger Klicks erhalten. Georgi Todorov (Conversion Sciences) und Luke Wroblewski («Mobile First», 2011) dokumentierten dass Button-Platzierung «above the fold» vs. «below the fold» je nach Länge und Komplexität des umgebenden Inhalts sehr unterschiedliche Effekte hat: bei langen Sales Pages konvertiert ein Button am Ende nach dem Argument oft besser als ein Button ganz oben.
Button-States, Hierarchie und Barrierefreiheit
- Button-States im Design-System: Default: normale Darstellung; Hover: Farbton 10–20% dunkler (Primärfarbe); Cursor: pointer; kurze Transition (150–200 ms ease); visuell erkennbare Änderung ohne übertriebene Animation; Focus: sichtbarer Fokusring (WCAG 2.4.7 AA; WCAG 2.4.11 AA in 2.2); nicht identisch mit Hover-State; mindestens 2px Outline; Offset zur Buttonkante; Outline-Farbe: hoher Kontrast zu Hintergrund und Button; nicht nur CSS outline:none ohne Ersatz; Active/Pressed: kurzer Moment wenn Button gedrückt; visuelle Eindrückung (transform: scale(0.97) oder Farb-Verdunkelung); haptisches Feedback-Äquivalent; Disabled: verminderte Opazität (0.5–0.65); cursor: not-allowed; pointer-events: none oder aria-disabled="true" bei Keyboard-Erreichbarkeit trotz Deaktivierung; keine aktiven CSS-Hover-Effekte; Loading: Spinner-Icon ersetzt oder ergänzt Button-Text; Button bleibt deaktiviert während Loading; Text z. B. «Wird gesendet…»; verhindert Doppelklick auf Submit; alle States müssen im Design-System dokumentiert und in Figma als Component Variants angelegt sein
- Button-Hierarchie und visuelle Gewichtung: Maximal 1 Primary-Button pro sichtbarem Bereich (Above the Fold / Modal): mehrere gleich starke CTAs erzeugen Entscheidungsparalyse (Paradox of Choice; Barry Schwartz 2004); Primary: volle Markenfarbe; hoher Kontrast; volle Sättigung; Secondary: gleiches Farbschema; ausgehöhlt (Outline) oder gedämpfte Füllfarbe (30–40% Helligkeit des Primary); Tertiary/Text-Button: nur Textfarbe; kein Hintergrund; Optional Underline on Hover; Button-Größen-Konsistenz: gleiche Höhe für alle Buttons derselben Hierarchie-Ebene; typisch: 40px (Standard), 32px (Compact/Small), 48px (Large/CTA); Padding: min. 12px horizontal für Lesbarkeit; Button-Beschriftung: aktives Verb + konkretes Objekt («Datei herunterladen» statt «OK»); Erstperson («Ich möchte starten» ist höher konvertierend in einigen CRO-Tests); max. 3–4 Wörter für Primary-Buttons; Vollwörter statt Abkürzungen
- Icon-Buttons und Barrierefreiheit: Icon-only-Buttons (ohne sichtbaren Text): müssen zugänglichen Namen haben; Möglichkeiten: aria-label="Menü schließen"; title="Menü schließen" (nur als Fallback); sr-only-Text: <span class="sr-only">Menü schließen</span> (sichtbar nur für Screen-Reader); Icon + sichtbarer Text: bevorzugt wenn Platz; reduziert Interpretationsprobleme; ikonisches Symbol + Text = klare Affordance; Icon-Button-Mindestgröße: Touch-Target 44×44px auch wenn Icon kleiner ist; Padding erweitern bis Target-Size erreicht; Symbolik: konsistente Semantik im System wichtig; «X» immer für Schließen; «+» für Hinzufügen; keine mehrdeutigen Symbole ohne Begleittext; Icon-Quelle: SVG-Icons bevorzugen (skalierbar; stylebar; kein Raster-Artefakt); aria-hidden="true" auf Icon-SVG wenn Button außerdem aria-label hat (Screen-Reader liest SVG-Inhalt sonst doppelt)
CTA-Buttons in CRO und Mikro-Animationen
- CTA-Button-Psychologie und CRO: Farbe: keine universell «beste» Button-Farbe; Test-Grundsatz: Button-Farbe muss aus Kontext herausstechen (Farbkontrast zur Umgebung); grüne CTA-Buttons funktionieren häufig gut weil Grün = Bestätigung/Weiter (gesellschaftliche Konvention); rote Buttons haben höhere Aufmerksamkeitsmarkierung (Warnungsfarbe) können aber auch Angst auslösen; Orange als CTA-Farbe: hohe Sichtbarkeit ohne Warnungsassoziation; empfohlen für E-Commerce-CTAs laut HubSpot-A/B-Tests; Formulierung: «Jetzt starten» > «Starten» (Dringlichkeit); «Kostenlos testen» > «Testen» (Wertversprechen); «Meinen Account erstellen» (Erstperson) > «Konto erstellen» (3. Person); Größe: größere CTAs konvertieren oft besser bis zu einem Plateau; überdimensionierte Buttons wirken unprofessionell; relationale Größe im Vergleich zur Seite entscheidend; Platzierung: nach dem Wertversprechen; nicht bevor der Nutzer einen Grund hatte zu klicken; Google's CTA-Platzierungsstudie: CTAs «after value» konvertieren 2× besser als CTAs «before value»
- Mikro-Animationen an Buttons: Hover-Transition: Hintergrundfarbe-Übergang; 150–200 ms; ease-in-out; cubic-bezier für natürliche Bewegung; kein Flash (zu kurz) und keine schleppende Animation (zu lang); Loading-Spinner im Button: CSS-Animation; transform: rotate(360deg) mit animation-iteration-count: infinite; Loading-State-Variante: Button-Breite bleibt konstant; Text faded aus; Spinner faded ein; verhindert Layout-Shift; Success-Animation: nach erfolgreichem Submit; Button-Text wechselt zu «Gespeichert ✓»; kurze grüne Farbe; dann wieder Normal; verbessert Nutzer-Feedback; shake-Animation für Fehler: Button «wackelt» horizontal bei Formular-Validierungsfehler (CSS keyframes: translateX); instinktiv verständliches Fehler-Signal; Prefers-Reduced-Motion: alle Animationen müssen bei prefers-reduced-motion: reduce deaktiviert oder reduziert werden; CSS: @media (prefers-reduced-motion: reduce) { .button { transition: none; animation: none; } }
- Disabled-Button-Problematik: UX-Problem: Disabled-Buttons ohne Erklärung frustieren Nutzer die nicht wissen warum sie nicht klicken können; Best Practice: entweder Disabled-Button mit Tooltip/popover der erklärt was fehlt; oder Button immer aktiv lassen und Validierung nach Klick zeigen; Formular Submit-Button: zwei Schulen: Disabled bis Formular valide (verhindert leere Submits; schlechtere UX) vs. immer aktiv (Nutzer kann immer versuchen; erhält spezifische Validierungsfeedbacks); Baymard Institute empfiehlt: Submit immer aktiv; bei Klick auf unvollständiges Formular: erstes unvollständiges Feld fokussieren + Fehlermeldung; WCAG und Disabled: aria-disabled="true" statt HTML-disabled-Attribut wenn Button für Screen-Reader sichtbar und beschreibbar bleiben soll; HTML disabled verhindert Fokus komplett