pointer-events & touch-action

Zuletzt aktualisiert am 15. Februar 2026

Mit pointer-events steuerst du, ob ein Element auf Mausklicks und Touch-Ereignisse reagiert. Mit touch-action legst du fest, welche Touch-Gesten der Browser verarbeitet. Beide Properties sind essentiell für interaktive Overlays, dekorative Elemente und optimierte mobile Nutzererlebnisse.

Syntax
pointer-events: auto | none
Initialwert
auto
Vererbt
Ja
Animierbar
Nein

Grundlagen

pointer-events: none macht ein Element unsichtbar für alle Maus- und Touch-Interaktionen. Klicks gehen direkt durch das Element hindurch zu dem, was darunter liegt. Das ist perfekt für dekorative Overlays, Wasserzeichen oder Loader-Animationen, die den Inhalt nicht blockieren sollen.

touch-action gibt dir Kontrolle über Touch-Gesten auf mobilen Geräten. Du kannst Zoom, Pan und andere native Browser-Gesten deaktivieren oder einschränken. Das ist wichtig für Custom-Drag-Interfaces, Spiele oder komplexe Web-Apps, die eigene Touch-Logik brauchen.

Wichtig: pointer-events: none entfernt das Element nicht aus dem Accessibility-Tree. Screenreader finden es weiterhin, Keyboard-Navigation funktioniert normal. Das ist kein Ersatz für das disabled-Attribut.

Syntax & Werte

pointer-events

Wert Beschreibung Beispiel
auto Element reagiert normal auf Maus- und Touch-Events (Standard).
none Element ignoriert alle Pointer-Events. Klicks gehen durch zum darunter liegenden Element.

touch-action

Wert Beschreibung Beispiel
auto Browser entscheidet über Touch-Gesten: Zoom, Pan, etc. (Standard).
none Alle Touch-Gesten deaktiviert. Browser verarbeitet nichts außer Custom-JavaScript.
pan-x Nur horizontales Scrollen erlaubt. Kein Zoom, kein vertikales Scrollen.
pan-y Nur vertikales Scrollen erlaubt. Kein Zoom, kein horizontales Scrollen.
pan-x pan-y Scrollen in beide Richtungen, aber kein Zoom mit Pinch.
manipulation Pan und Zoom erlaubt, aber kein Double-Tap-Zoom (bessere Touch-UX).
pinch-zoom Nur Pinch-Zoom erlaubt, kein Scrollen.

Beispiele

Klick durch Overlay

Ein dekoratives Overlay, das visuell über dem Inhalt liegt, aber Klicks durchlässt. Buttons und Links darunter bleiben voll funktional.

Overlay mit pointer-events: none
.overlay {
  position: absolute;
  inset: 0;
  pointer-events: none; /* Klicks gehen durch */
  background: linear-gradient(
    135deg,
    rgba(26, 86, 219, 0.1),
    rgba(124, 58, 237, 0.1)
  );
}

Deaktivierter Button

pointer-events: none verhindert Klicks, aber kein vollständiger Ersatz für disabled. Der erste Button sieht deaktiviert aus, bleibt aber fokussierbar per Tab-Taste.

pointer-events vs disabled
/* Sieht deaktiviert aus, ist aber per Tab erreichbar */
.btn-fake-disabled {
  pointer-events: none;
  opacity: 0.6;
}

/* Richtig deaktiviert, auch für Screenreader */
button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

Wasserzeichen-Overlay

Ein Wasserzeichen über Text, das Lesbarkeit nicht stört und Text-Selektion nicht blockiert.

Wasserzeichen mit pointer-events: none
.watermark {
  position: absolute;
  pointer-events: none; /* Text darunter bleibt selektierbar */
  user-select: none;
  color: rgba(220, 38, 38, 0.08);
  font-size: 4rem;
  transform: translate(-50%, -50%) rotate(-45deg);
}

touch-action: manipulation

Formular-Bereich, wo Double-Tap-Zoom deaktiviert ist für bessere Touch-UX. Pan und Pinch-Zoom funktionieren weiter.

Form mit touch-action: manipulation
/* Kein Double-Tap-Zoom auf Formularen */
.form-area {
  touch-action: manipulation;
}

/* Pan + Pinch-Zoom bleiben erlaubt,
   nur Double-Tap-Zoom wird deaktiviert */

Drag-Bereich mit touch-action: none

Ein Drag-Interface, wo alle nativen Touch-Gesten deaktiviert sind. Nur Custom-JavaScript verarbeitet Touch-Events.

Drag-Interface mit touch-action: none
.drag-area {
  touch-action: none; /* Alle Gesten deaktiviert */
  user-select: none;
}

/* JavaScript übernimmt die Touch-Events:
   pointerdown, pointermove, pointerup */

Barrierefreiheit

pointer-events: none entfernt ein Element nicht aus dem Accessibility-Tree. Screenreader lesen es weiterhin vor, Keyboard-Navigation funktioniert normal. Es ist kein Ersatz für semantisches HTML oder das disabled-Attribut.

Wenn du einen Button deaktivieren willst, nutze disabled, nicht pointer-events: none. Das disabled-Attribut kommuniziert den Status an Assistive Technologies und verhindert auch Keyboard-Fokus.

touch-action: none kann Pinch-Zoom deaktivieren. Das ist schlecht für Barrierefreiheit. Nutzer mit Sehbehinderung brauchen Zoom. Setze touch-action: none nur auf kleine, spezifische Drag-Bereiche, nie auf die ganze Seite.

Teste immer mit echten mobilen Geräten und Screenreadern, ob deine Interaktionen für alle zugänglich bleiben.

Häufige Fehler

  • pointer-events: none als Disabled-Ersatz: Das Element bleibt fokussierbar per Tab-Taste und wird von Screenreadern erkannt. Nutze das echte disabled-Attribut.
  • Keyboard-Navigation vergessen: Ein Element mit pointer-events: none kann weiterhin per Tab fokussiert werden. Setze tabindex="-1" wenn du das verhindern willst.
  • touch-action: none auf der ganzen Seite: Deaktiviert Zoom für alle, was Barrierefreiheit zerstört. Nutze es nur lokal auf Drag-Bereichen.
  • Nicht auf echten mobilen Geräten testen: Touch-Verhalten im Desktop-Emulator ist nicht zuverlässig. Teste auf iOS und Android.
  • Erwarten, dass pointer-events die Tab-Reihenfolge ändert: Es beeinflusst nur Pointer-Events, nicht Keyboard-Navigation oder den Accessibility-Tree.

Browser-Kompatibilität

pointer-events und touch-action werden von allen modernen Browsern vollständig unterstützt.

ClientUnterstützungHinweise
ChromeKomplett
FirefoxKomplett
SafariKomplett
EdgeKomplett
OperaKomplett

Email-Kompatibilität

pointer-events und touch-action haben in E-Mails keine Wirkung, da E-Mail-Clients keine erweiterten Pointer-Events unterstützen.

ClientUnterstützungHinweise
Apple MailKeineNicht unterstützt
GmailKeineNicht unterstützt
OutlookKeineNicht unterstützt
Yahoo MailKeineNicht unterstützt
ThunderbirdKeineNicht unterstützt

Verwandte Eigenschaften

Bleib auf dem Laufenden

Erhalte neue Inhalte direkt in dein Postfach

Mit der Anmeldung akzeptierst du unsere Datenschutzerklärung. Du kannst dich jederzeit über den Link in den E-Mails wieder abmelden.

Was erwartet dich?

Neue Artikel & Videos

Wenn ich was Neues veröffentliche, erfährst du's hier zuerst.

Plattform & Kurs-Updates

Neue Kurse, Referenz-Updates und gelegentlich Sonderpreise zum Launch.

Einmal die Woche in deinem Postfach

Kurz, auf den Punkt, kein Spam.