GH GambleHub

Kontextmenüs und schnelle Aktionen

1) Zweck und Umfang

Kontextmenüs und schnelle Aktionen verkürzen den Weg zu häufig genutzten Operationen:
  • Lokale Aktionen am Objekt (Karte, Tabellenzeile, Koeffizient).
  • Batch-Aktionen über Auswahl.
  • Versteckte, aber nicht kritische Optionen (sekundär).
  • Regel: Kritische und primäre Aktionen nicht nur im Kontextmenü verstecken.

2) Trigger und Varianten

Right-Click/Shift + F10/Menu Key ist ein klassischer Kontext.
Icon button (kebab '⋮', meatballs'...', context) - universell für Touch/Desktop.
Long-Press (400-600 ms) ist das mobile Äquivalent von Right-Click.
Befehlspalette (⇧⌘P/Strg + K) - globale schnelle Befehle mit Suche.
Swipe-reveal (iOS/Android-Listen) - Öffnet eine Reihe schneller Shortcuts.

Empfehlung: Stellen Sie mindestens zwei Anrufarten (Icon + Kontextklick/Taste) zur Verfügung.


3) Inhalt und Priorität

Die ersten 1-3 Punkte - häufige Aktionen; dann ein Trennzeichen; weiter - weniger häufig verwendet.
Destruktiv - am Ende, mit Farbe/Symbol gekennzeichnet (und oft - durch Bestätigung/undo).
Formulierungen - Verb + Objekt („Zu Favoriten hinzufügen“, „ID kopieren“).
Das Label ≠ nur ein Symbol: Das Symbol ist ein Verstärker, kein Textersatz.


4) Gruppierung und Zustand

Trennzeichen für logische Blöcke (Anzeigen, Bearbeiten, Admin, gefährlich).
Состояния: `disabled`, `checked` (`menuitemcheckbox`/`menuitemradio`), `destructive`.
Zeigen Sie nicht unzugänglich durch Rolle, wenn es verwirrt; alternativ - zeigen als' deaktiviert 'mit einem Hinweis auf die Ursache.


5) Verfügbarkeit (A11y)

Container: „role =“ menu „“, Elemente: „role =“ menuitem „“/„ menuitemcheckbox “/„ menuitemradio“.
Roving tabindex: der einzige' tabindex ='0 'auf dem aktuellen Element, der Rest' -1'.
Pfeile ↑↓ - Verschieben, →/← - Eingabe/Ausgabe des Untermenüs. Enter/Space - Aktivierung, Esc - schließen.
Typeahead: Der Druck des ersten Buchstabens bringt den Fokus auf den Punkt.
Der Fokusring ist sichtbar; Kontrast von Text und Icons ≥ AA.
Verwenden Sie für das Schaltflächensymbol 'aria-haspopup =' menu''und' aria-expanded'.

Beispiel für Markup:
html
<button id="more" aria-haspopup="menu" aria-expanded="false" aria-controls="menu-1">Еще</button>
<ul id="menu-1" role="menu" aria-labelledby="more" hidden>
<li role="menuitem" tabindex="0">Открыть</li>
<li role="menuitem">Скопировать ссылку</li>
<li role="menuitemcheckbox" aria-checked="true">В избранном</li>
<li role="menuitem" data-danger="true">Удалить</li>
</ul>
Navigation (roving tabindex Schema):
js const menu = document.getElementById('menu-1');
menu.addEventListener('keydown', e=>{
const items=[...menu.querySelectorAll('[role^="menuitem"]')];
let i=items.findIndex(n=>n.tabIndex===0);
if(e.key==='ArrowDown'){ items[i].tabIndex=-1; items[(i+1)%items.length].tabIndex=0; items[(i+1)%items.length].focus(); e.preventDefault(); }
if(e.key==='ArrowUp'){ items[i].tabIndex=-1; items[(i-1+items.length)%items.length].tabIndex=0; items[(i-1+items.length)%items.length].focus(); e.preventDefault(); }
if(e.key==='Escape'){ menu.hidden=true; document.getElementById('more').focus(); }
});

6) Positionierung und Performance

Öffnen Sie das Menü an der Quelle (Klick-Punkt/Symbol), Verschiebung 4-8 px; Achten Sie auf die Bildschirmränder (Flip/Shift).
Portal/Ebene oben ('z-index') mit Klickfängen heraus.
Rendern Sie faul, recyceln Sie die Liste in langen Menüs (Virtualisierung ist nicht notwendig, aber vermeiden Sie Hunderte von Elementen).
Animationen nur 'opacity/transform', Dauer 140-200 ms (out schneller: 100-160 ms).
Öffnen Sie das Untermenü durch 'ArrowRight' und hover mit einer Verzögerung von 80-120 ms (Anti-Flicker).


7) Mobile Muster

Langpresse mit Haptik; Das Timing beträgt 450 ± 100 ms.
Bottom sheet als Form des Kontextmenüs (thumb-reachable).
Swipe-Aktionen in Listen: links „Archiv/Favoriten“, rechts „Löschen“ (Bestätigung/undo).
Klickzonen ≥ 44 × 44, Beschriftungen kurz, Icons 20-24 px.


8) Bestätigungen, Undo und Sicherheit

Destruktive Aktionen: entweder eine zweite Bestätigung (modal/confirm pattern) oder undo 5-10s.
Finanziell/riskant - durch explizite Bestätigung mit dem Kontext der Konsequenzen.
Zeigen Sie den Grund für „deaktiviert“ („Nicht genügend Rechte“, „Limit erreicht“).


9) Schnelles Handeln ohne Menü

Inline-Shortcats in der Zeile (Symbole „“, „“, „⋯“).
Hover-reveal (Desktop): Zeigen Sie Aktionen an, wenn Sie geführt werden, aber lassen Sie auch einen klaren Auslöser.
Befehlspalette: Suche nach Aktionen, Hotkeys in Aufforderungen („⌘S“, „Strg + Enter“).


10) Copywriting und Icons

Verb + Objekt, 2-3 Wörter.
Beginnen Sie mit einer Aktion („Datensatz löschen“...), nicht mit einem Substantiv („Datensatz löschen“).
Symbole aus einem einzigen Satz; Verwenden Sie die gleichen Piktogramme für die gleichen Aktionen im gesamten Produkt.
Erklärende Hinweise ('title '/tooltip) für mehrdeutige Punkte.


11) Telemetrie und Experimente

CTR Punkt für Punkt, Median der Zeit von der Eröffnung bis zum Klick, Stornierungsrate/undo.
Anzahl der Misclicks (destruktiv → aufgehoben).
A/B: Reihenfolge und Gruppierung der Punkte, Vorhandensein von schnellen Shortcuts in der Liste.
Protokolle von „unsichtbaren“ Klauseln (niemand verwendet) - Kandidaten für die Löschung/Übertragung.


12) Design-System-Token (Beispiel)

json
{
"menu": {
"minWidth": 208,
"itemHeight": 36,
"gap": 4,
"padding": 8,
"radius": 12,
"elev": 8,
"anim": { "inMs": 180, "outMs": 120, "ease": "cubic-bezier(0.2,0,0.2,1)" }
},
"swipe": { "revealThresholdPx": 56, "confirmDestructive": true }
}
CSS-Presets:
css
.menu{min-width:208px;padding:8px;border-radius:12px;box-shadow:var(--elev-3);background:var(--bg-elevated)}
.menu [role^="menuitem"]{height:36px;padding:0 12px;display:flex;gap:8px;align-items:center;border-radius:10px}
.menu [role^="menuitem"]:hover,
.menu [role^="menuitem"][tabindex="0"]{background:var(--bg-hover)}
.menu [data-danger="true"]{color:var(--role-danger)}

13) Muster nach Komponenten

Karten/Kacheln: Symbol „⋯“ in der oberen rechten Ecke; auf hover - gezeigt, auf touch - immer sichtbar.
Zeilen der Tabelle: „⋯“ in der letzten Spalte; Bei Mehrfachauswahl - Stapelaktivitätsleiste oben/unten.
Chat-/Benachrichtigungslisten: swipe-actions (Archiv/gelesen/gelöscht) mit undo.
Mediengalerien: langes Tippen → Mehrwahlmodus + unteres Aktionsfeld.


14) Besonderheiten von iGaming

Quick Bet: Im Kontextmenü des Koeffizienten - „Setzen Sie X“ (Voreinstellungen), „Zum Coupon hinzufügen“, „Abonnieren Sie die Änderung des Koeffizienten“. Bestätigung/undo ist erforderlich.
Favoriten/Abonnements: „Anbieter/Spiel zu Favoriten hinzufügen“, „Turnier abonnieren“.
Cache-Out: mit Inline-Bestätigung und aktuellem Betrag; nur mit Marktstatus verfügbar.
Moderation/Berichte: „Beschweren“, „Chat blockieren“ - sicher, sichtbar durch Rollen.
Verantwortungsvolles Spiel: „Limit setzen“, „Pause 24h“ - ohne aggressive Farben, mit klarer Beschreibung der Folgen.


15) Anti-Muster

Kritische Aktionen sind nur im Kontextmenü versteckt.
Elemente ohne Text (einzelne Symbole), insbesondere in Listen.
Versehentliches Schließen des Cursors beim Übergang zum Untermenü (keine Verzögerung/kein Korridor).
Das Menü überlappt das Quellelement oder geht hinter den Bildschirm (kein Flip/Shift).
Destruktiv ohne Bestätigung/undo.
Nicht offensichtliche Rechte (der Punkt verschwindet ohne Erklärung).


16) QS-Checkliste

Fassbarkeit

  • 'role =' menu '/' menuitem 'sind korrekt, roving tabindex und Pfeile funktionieren.
  • Esc schließt das Menü, der Fokus kehrt zur Quelle zurück.
  • Kontrast und Fokusringe entsprechen AA.

Verhalten

  • Die Reihenfolge der Punkte spiegelt die Häufigkeit und das Risiko wider. destruktiv unten.
  • Die Positionierung berücksichtigt die Kanten (Flip/Shift); Animationen sind schnell (≤ 200 ms).
  • Das Untermenü öffnet sich per ArrowRight und „zittert“ nicht (hover-intent 80-120 ms).

Mobilen

  • Langpresse mit Haptik; bottom-sheet ist bequem mit dem Daumen.
  • Swipe-Aktionen haben undo; Klickzone ≥ 44 × 44.

Sicherheit

  • Bestätigung/undo für gefährliche Aktivitäten; Die Gründe für disabled sind klar.
  • Keine privaten Datenlecks in den Hinweisen/Labels.

Metriken

  • CTR/Zeit bis zum Klick wird aufgehoben; misclick/undo werden überwacht.

17) Umsetzung: Öffnen/Schließen und Click-out

js const btn=document.getElementById('more'), menu=document.getElementById('menu-1');
const open=()=>{ menu.hidden=false; btn.setAttribute('aria-expanded','true'); menu.querySelector('[role^="menuitem"]').focus(); };
const close=()=>{ menu.hidden=true; btn.setAttribute('aria-expanded','false'); btn.focus(); };
btn.addEventListener('click', e=>{ menu.hidden?open():close(); });
document.addEventListener('pointerdown', e=>{ if(!menu.hidden &&!menu.contains(e.target) && e.target!==btn) close(); });
window.addEventListener('blur', close);

18) Dokumentation im Konstruktionssystem

Компоненты: `ContextMenu`, `MenuItem`, `Submenu`, `BottomSheet`, `SwipeAction`, `CommandPalette`.
Bemaßungen/Höhen-/Radius-/Animations-Token.
Gaids nach Verfügbarkeit (ARIA, Tastatur, Typeahead).
„Do/Don't“ mit Beispielen für Gruppierung, Positionierung und Bestätigungen.


Kurze Zusammenfassung

Kontextmenüs und schnelle Aktionen beschleunigen die Arbeit, wenn sie vorhersehbar, zugänglich und sicher sind: zwei Anrufpfade, klare Etiketten mit Symbolen, intelligente Gruppierung, Bestätigung/Undo für das Risiko, korrekte Tastaturnavigation und klare Positionierung. Fixieren Sie Token und Muster im Designsystem - und Benutzer werden schnell handeln, ohne Angst vor Fehlern zu haben.

Contact

Kontakt aufnehmen

Kontaktieren Sie uns bei Fragen oder Support.Wir helfen Ihnen jederzeit gerne!

Integration starten

Email ist erforderlich. Telegram oder WhatsApp – optional.

Ihr Name optional
Email optional
Betreff optional
Nachricht optional
Telegram optional
@
Wenn Sie Telegram angeben – antworten wir zusätzlich dort.
WhatsApp optional
Format: +Ländercode und Nummer (z. B. +49XXXXXXXXX).

Mit dem Klicken des Buttons stimmen Sie der Datenverarbeitung zu.