PWAs: Haptisches Feedback mit der Vibration-API
Progressive Web Apps nutzen die Vibration-API für haptisches Feedback – doch Browser-Support und UX-Design entscheiden über Erfolg oder Scheitern.
Inhalt entdecken
- 1 Warum haptisches Feedback in PWAs mehr als ein technisches Gimmick ist
- 2 Was die Vibration-API technisch leistet und wo ihre Grenzen liegen
- 3 Browser-Kompatibilität: Android ja, iOS nein
- 4 Weiterführende Links
- 5 Technische Einschränkungen und API-Design
- 6 So implementieren Entwickler:innen haptisches Feedback in Progressive Web Apps
- 7 Vibrationsmuster für kontextabhängige Rückmeldungen
- 8 Erweiterte Implementierung mit Konfiguration und Ausnahmen
- 9 Use Cases: Wo haptisches Feedback in PWAs wirklich Sinn ergibt
- 10 Gaming und interaktive Erlebnisse als Hauptanwendungsfeld
- 11 Feedback für Alltagsinteraktionen: Buttons, Slider, Toggles
- 12 Best Practices für User Experience und Performance
- 13 Performance-Optimierung und Batterieverwaltung
- 14 Barrierefreiheit: Haptik als Informationskanal für alle
- 15 Datenschutz und ethische Überlegungen bei der Vibration-API
- 16 Sticky Activation als Schutzmechanismus
- 17 Warum Safari die Vibration-API blockiert – und welche Alternativen iOS bietet
- 18 iOS 18 und der nicht-standardisierte Switch-Workaround
- 19 Fazit: Haptisches Feedback als Qualitätsmerkmal moderner PWAs
- 20 Tipps
- 21 Codebeispiele
- 22 FAQ
- 23 Kritik
- 24 Quellen der Inspiration
Warum haptisches Feedback in PWAs mehr als ein technisches Gimmick ist
Progressive Web Apps (PWAs) schließen seit Jahren die Lücke zwischen nativen Apps und Webanwendungen. Während Funktionen wie Offline-Modus und Push-Benachrichtigungen längst Standard sind, bleibt haptisches Feedback eine unterschätzte Dimension der User Experience. Die Vibration-API ermöglicht es Entwickler:innen, physisches Feedback in Form von Vibrationen auf Mobilgeräten auszulösen – eine taktile Bestätigung, die Nutzer:innen unbewusst erwartet haben, seit Smartphones zum Standard wurden. Doch die Implementierung ist kein Selbstläufer: Browser-Kompatibilität, Datenschutzbedenken und die Balance zwischen Nutzen und Belästigung entscheiden darüber, ob haptisches Feedback die User Experience bereichert oder zum Störfaktor wird. Dieser Artikel zeigt, wie Entwickler:innen die Vibration-API sinnvoll einsetzen, welche Fallstricke sie vermeiden müssen und warum gerade PWAs von dieser oft übersehenen Technologie profitieren können.
Was die Vibration-API technisch leistet und wo ihre Grenzen liegen
Die Vibration-API ist eine Browser-Schnittstelle, die Webanwendungen Zugriff auf die Vibrationshardware eines Geräts ermöglicht. Sie funktioniert über die Methode navigator.vibrate()
, die entweder eine einzelne Dauer in Millisekunden oder ein komplexes Muster aus Vibrationen und Pausen akzeptiert. Ein einfacher Aufruf wie navigator.vibrate(50)
löst eine 50-Millisekunden-Vibration aus, während navigator.vibrate([100][50][100])
ein Muster erzeugt: 100 ms Vibration, 50 ms Pause, erneut 100 ms Vibration. Die API erfordert keine Berechtigungsabfrage durch den Nutzer, arbeitet aber seit 2016 mit dem Prinzip der „Sticky User Activation“ – das bedeutet, dass Vibrationen nur nach einer bewussten Nutzerinteraktion wie einem Tap oder Klick ausgelöst werden können, nicht beim bloßen Laden einer Seite. Diese Sicherheitsmaßnahme verhindert Missbrauch durch automatische Vibrationen, die Nutzer:innen ungewollt belästigen könnten.
Browser-Kompatibilität: Android ja, iOS nein
Der größte Stolperstein der Vibration-API ist ihre eingeschränkte Browser-Unterstützung. Vollständig funktionsfähig ist sie ausschließlich auf Android-Geräten in Chrome, Firefox, Edge und Opera. Safari auf iOS und macOS unterstützt die API grundsätzlich nicht – eine bewusste Entscheidung von Apple, die bis heute nicht revidiert wurde. Selbst im Jahr 2025 bleibt iOS ein totes Ende für webbasiertes haptisches Feedback, obwohl Apples eigene native Apps und seit iOS 18 einige HTML-Elemente (wie Checkboxen mit dem nicht-standardisierten switch
-Attribut) rudimentäre haptische Rückmeldungen ermöglichen. Für Entwickler:innen bedeutet das: Progressive Web Apps können auf Android ein natives App-Gefühl erzeugen, müssen aber auf iOS ohne haptisches Feedback auskommen. Ein Feature-Detection-Check ist daher Pflicht: if ('vibrate' in navigator)
stellt sicher, dass die Funktion nur dort aufgerufen wird, wo sie auch funktioniert.
Weiterführende Links
Progressier – Vibration API Demo
Eine interaktive Demo mit Live-Beispielen und Codebeispielen zur praktischen Implementierung der Vibration-API in Progressive Web Apps.https://progressier.com/pwa-capabilities/vibration-api
MDN Web Docs – Vibration API Reference
Die offizielle Mozilla-Dokumentation mit technischen Details, Browser-Kompatibilitätstabellen und vollständiger API-Spezifikation für Entwickler:innen.https://developer.mozilla.org/en-US/docs/Web/API/Vibration_API
Netguru – PWA UX Techniques That Work
Ein umfassender Artikel über UX-Techniken in PWAs, der haptisches Feedback im Kontext von Gesten, Navigation und Performance-Optimierung behandelt.https://www.netguru.com/blog/pwa-ux-techniques
Android Developer – Haptic Design Principles
Googles offizielle Designrichtlinien für haptisches Feedback auf Android, mit Best Practices zu Timing, Intensität und kontextabhängigem Einsatz.https://developer.android.com/develop/ui/views/haptics/haptics-principles?hl=de
W3C – Vibration API Specification (2016)
Die offizielle W3C-Spezifikation inklusive Sicherheits- und Datenschutzüberlegungen, Sticky Activation-Prinzip und Implementierungsdetails.https://www.w3.org/TR/2016/REC-vibration-20161018/
Technische Einschränkungen und API-Design
Die Vibration-API ist bewusst minimalistisch gehalten. Sie erlaubt keine Kontrolle über die Intensität oder Frequenz der Vibration – jeder Gerätetyp interpretiert die Zeitangaben nach seinen eigenen Hardware-Fähigkeiten. Ein 50-ms-Impuls kann auf einem Smartphone deutlich anders wahrgenommen werden als auf einem Tablet mit schwächerem Vibrationsmotor. Zudem bricht die API automatisch ab, wenn das Dokument seine Sichtbarkeit verliert, etwa durch einen Wechsel in eine andere App oder das Sperren des Bildschirms. Das ist eine Schutzmaßnahme, die verhindert, dass Websites im Hintergrund unkontrolliert vibrieren. Entwickler:innen müssen diese Einschränkungen akzeptieren und ihre Implementierungen entsprechend robust gestalten – etwa durch das explizite Stoppen laufender Vibrationen mit navigator.vibrate(0)
, bevor ein neues Muster gestartet wird.
So implementieren Entwickler:innen haptisches Feedback in Progressive Web Apps
Die technische Integration der Vibration-API in eine PWA ist unkompliziert, erfordert aber durchdachtes Design. Der klassische Einstieg ist ein Event Listener, der bei Nutzerinteraktionen wie Taps oder Buttonklicks eine kurze Vibration auslöst. Ein globaler Ansatz auf document
-Ebene sorgt dafür, dass jeder Touch auf der gesamten Website ein haptisches Signal sendet – praktisch für experimentelle Interfaces oder Gaming-Anwendungen. Der Code ist einfach: Ein touchstart
-Event-Listener ruft navigator.vibrate(50)
auf, die Option { passive: true }
optimiert die Scroll-Performance. Doch Vorsicht: Zu häufiges oder zu intensives Feedback kann schnell zur Belästigung werden und Nutzer:innen dazu verleiten, die Funktion komplett zu deaktivieren.
Vibrationsmuster für kontextabhängige Rückmeldungen
Statt pauschaler Vibrationen können Entwickler:innen Muster einsetzen, die unterschiedliche Interaktionen differenzieren. Ein kurzes [50]
signalisiert einen simplen Tap, ein doppeltes [50][100][50]
könnte einen Fehler markieren, ein langes [200]
eine erfolgreiche Aktion bestätigen. Diese semantische Nutzung von Haptik orientiert sich an etablierten Mustern aus nativen Apps und macht PWAs intuitiver. Wichtig ist, dass Muster nicht willkürlich gewählt werden – eine Studie der Nielsen Norman Group zeigte, dass Nutzer:innen unbekannte haptische Signale nur mit 50% Genauigkeit interpretieren, während konsistente Feedbackmuster die Zufriedenheit um 75% steigern. Für Gaming-PWAs sind komplexe Muster besonders wertvoll: Sie simulieren physische Interaktionen wie das Nachladen einer Waffe oder das Einsammeln von Items und erhöhen die Immersion deutlich.
Erweiterte Implementierung mit Konfiguration und Ausnahmen
Eine professionelle Integration geht über einzelne Event Listener hinaus. Ein zentral verwaltetes Konfigurationsobjekt erlaubt es, Vibrationsmuster global zu definieren, die Funktion per Toggle ein- oder auszuschalten und Ausnahmen für bestimmte UI-Elemente zu definieren. Beispielsweise können Elemente mit der CSS-Klasse .no-vibrate
durch stopPropagation()
vom globalen Vibrations-Event ausgenommen werden – sinnvoll für sensible Bereiche wie Formulare oder Zahlungsprozesse, wo unerwartete Vibrationen irritieren könnten. Ein weiterer Best Practice ist das Einbinden einer window.toggleVibration()
-Funktion, die Nutzer:innen erlaubt, haptisches Feedback manuell zu steuern. Das respektiert individuelle Präferenzen und trägt zur Barrierefreiheit bei – manche Nutzer:innen mit motorischen Einschränkungen oder Sensibilitäten reagieren empfindlich auf Vibrationen.
Use Cases: Wo haptisches Feedback in PWAs wirklich Sinn ergibt
Haptisches Feedback ist kein universelles Allheilmittel, sondern ein Werkzeug, das gezielt eingesetzt werden muss. Die Vibration-API entfaltet ihr Potenzial vor allem in drei Szenarien: Nutzerbestätigungen, Accessibility und interaktive Erlebnisse. Bei Formularen kann eine kurze Vibration signalisieren, dass eine Eingabe erfolgreich abgeschickt oder ein Fehler aufgetreten ist – ohne dass Nutzer:innen visuell nach Fehlermeldungen suchen müssen. In Navigations-Apps können haptische Signale Richtungswechsel oder das Erreichen von Wegpunkten anzeigen, was besonders beim Radfahren oder Joggen praktisch ist, wenn der Blick nicht ständig auf dem Display liegt. Für Menschen mit Sehbehinderungen bietet haptisches Feedback eine zusätzliche Informationsebene, die visuelle Cues ergänzt oder ersetzt – etwa beim Durchlaufen von Listen oder Menüs.
Gaming und interaktive Erlebnisse als Hauptanwendungsfeld
Der größte Mehrwert entsteht in Gaming-PWAs und interaktiven Medienanwendungen. Haptisches Feedback verstärkt die taktile Dimension von Spielen, etwa durch Vibrationen bei Schüssen, Explosionen oder Kollisionen. Pokémon GO nutzt subtile Vibrationen, um die Nähe zu Pokémon zu signalisieren – eine Technik, die Nutzer:innen aufmerksam hält, ohne dass sie permanent auf den Bildschirm starren müssen. Auch Audio-Visualisierungen profitieren: Vibrationen, die synchron zur Musik pulsieren, schaffen ein multisensorisches Erlebnis, das über rein auditive oder visuelle Wahrnehmung hinausgeht. In kreativen Anwendungen wie virtuellen Instrumenten oder interaktiven Storytelling-Formaten kann haptisches Feedback die emotionale Bindung erhöhen und Nutzer:innen tiefer in das Erlebnis ziehen.
Jenseits von Spezialanwendungen kann haptisches Feedback auch alltägliche Interaktionen verbessern. Ein leichtes Vibrieren beim Tippen auf Buttons oder das Aktivieren von Toggles gibt Nutzer:innen die Gewissheit, dass ihre Aktion registriert wurde – ähnlich wie der taktile Klick eines physischen Schalters. Bei Slidern oder Scroll-Elementen können subtile Vibrationen das Erreichen von Schwellenwerten markieren, etwa wenn ein Wert auf 50% oder 100% eingestellt wird. Diese Mikro-Interaktionen erscheinen minimal, summieren sich aber zu einem Gesamteindruck von Präzision und Kontrolle, der PWAs näher an native App-Erlebnisse heranführt. Wichtig ist, dass diese Feedbacks dezent bleiben – zu aufdringliche Vibrationen bei jeder Kleinigkeit wirken schnell nervig und verleiten Nutzer:innen dazu, die Systemvibration komplett zu deaktivieren.
Best Practices für User Experience und Performance
Die technische Machbarkeit ist das eine, die gelungene UX-Integration das andere. Haptisches Feedback in PWAs muss sparsam, konsistent und kontextbezogen eingesetzt werden. Die erste Regel lautet: Weniger ist mehr. Zu viele oder zu lange Vibrationen betäuben buchstäblich die Hände der Nutzer:innen und lenken von der eigentlichen Aufgabe ab. Android-Designrichtlinien empfehlen Vibrationen zwischen 10 und 50 Millisekunden für einfache Bestätigungen, 100 bis 200 Millisekunden für wichtigere Events. Längere Muster sollten nur in Ausnahmefällen eingesetzt werden, etwa für Alarme oder kritische Fehler. Die zweite Regel: Haptisches Feedback muss mit visuellen und auditiven Cues synchronisiert sein. Eine Vibration ohne visuelle Veränderung verwirrt Nutzer:innen – alle Sinneskanäle sollten dieselbe Botschaft übermitteln.
Performance-Optimierung und Batterieverwaltung
Vibrationen verbrauchen Energie. Jeder Aufruf der Vibration-API aktiviert einen kleinen Elektromotor, der bei intensiver Nutzung die Akkulaufzeit spürbar verkürzen kann. Entwickler:innen sollten daher Vibrationsmuster auf ihre Notwendigkeit prüfen und unnötige Calls vermeiden. Die Option { passive: true }
bei Event Listenern ist nicht nur eine Best Practice für Scroll-Performance, sondern verhindert auch, dass die Vibration den Main Thread blockiert. Ein weiterer Optimierungsansatz ist das Caching von Vibrationsmustern: Statt bei jeder Interaktion ein neues Array zu erstellen, können gängige Muster als Konstanten definiert und wiederverwendet werden. Zudem sollte die API nur dann aufgerufen werden, wenn das Dokument sichtbar ist – die Browser stoppen Vibrationen bei Hintergrundaktivität automatisch, aber proaktives Abbrechen spart Ressourcen.
Barrierefreiheit: Haptik als Informationskanal für alle
Haptisches Feedback ist nicht nur ein Nice-to-have, sondern kann ein wichtiger Baustein für digitale Barrierefreiheit sein. Für Nutzer:innen mit Sehbehinderungen bieten Vibrationen eine alternative Rückmeldung, die visuelle Informationen ergänzt oder ersetzt. Screenreader können mit haptischen Signalen kombiniert werden, um etwa das Ende einer Liste oder das Erreichen eines Formularbereichs zu markieren. Gleichzeitig müssen Entwickler:innen bedenken, dass nicht alle Menschen haptisches Feedback wollen oder vertragen. Manche Nutzer:innen mit motorischen Einschränkungen oder neurologischen Sensibilitäten empfinden Vibrationen als unangenehm oder störend. Daher ist es essenziell, eine Opt-out-Möglichkeit anzubieten – sei es über die Systemeinstellungen des Geräts oder eine eigene Toggle-Funktion in der App. Das Barrierefreiheitsstärkungsgesetz (BFSG), das in Deutschland seit Juni 2025 gilt, fordert von kommerziellen Websites und Apps, dass interaktive Elemente barrierefrei gestaltet sind – haptisches Feedback kann dazu beitragen, muss aber inklusiv implementiert werden.
Datenschutz und ethische Überlegungen bei der Vibration-API
Die Vibration-API wirkt auf den ersten Blick harmlos – sie sendet keine Daten und greift nicht auf sensible Informationen zu. Dennoch hat das W3C bereits 2016 in der offiziellen Spezifikation auf indirekte Datenschutzrisiken hingewiesen. Die API kann in Kombination mit anderen Sensoren missbraucht werden: Vibrationen erzeugen minimale Bewegungen, die von Accelerometern oder Gyroskopen erfasst werden können. Diese winzigen Abweichungen – sogenannte „Fingerprints“ – sind gerätespezifisch und können theoretisch zur Identifikation und Wiedererkennung einzelner Geräte genutzt werden. In einem hypothetischen Szenario könnten Werbeanbieter gezielt einzelne Nutzer:innen in einem Raum identifizieren, indem sie deren Geräte mit spezifischen Vibrationsmustern zum „Markieren“ bringen. Auch die Erstellung eines versteckten Kommunikationskanals ist denkbar: Ein Gerät vibriert in Morse-Code-artigen Mustern, ein anderes nimmt die Schallwellen auf – eine Form der Cross-Device-Kommunikation, die Tracking über Gerätegrenzen hinweg ermöglichen könnte.
Sticky Activation als Schutzmechanismus
Um solche Szenarien zu verhindern, verlangt die aktuelle API-Spezifikation die „Sticky User Activation“. Das bedeutet: Vibrationen können nur nach einer bewussten Nutzeraktion wie einem Tap, Klick oder Tastendruck ausgelöst werden – nicht automatisch beim Laden einer Seite oder durch Hintergrundprozesse. Diese Maßnahme ist effektiv, aber nicht vollständig sicher: Ein cleveres Skript könnte nach einem einzigen Tap eine lang andauernde Vibrationskette starten. Das W3C empfiehlt daher, dass Browser Nutzer:innen informieren, wenn die Vibration-API aktiv genutzt wird, und eine Möglichkeit bieten, sie global oder pro Domain zu deaktivieren. In der Praxis setzen die meisten Browser diese Empfehlung nicht um – eine explizite Benachrichtigung gibt es nicht. Entwickler:innen sollten trotzdem transparent sein: Eine kurze Information in der Datenschutzerklärung oder ein Opt-in beim ersten Laden kann Vertrauen schaffen und rechtliche Risiken minimieren.
Warum Safari die Vibration-API blockiert – und welche Alternativen iOS bietet
Apples Safari unterstützt die Vibration-API nicht, und das ist keine technische Einschränkung, sondern eine bewusste Produktentscheidung. Apple begründet dies offiziell nicht, doch die Gründe liegen auf der Hand: Safari auf iOS ist bekannt für seine restriktive Haltung gegenüber Web-APIs, die als potenziell invasiv gelten. Die Vibration-API erfüllt genau dieses Kriterium – sie kann ohne explizite Nutzererlaubnis ausgelöst werden und hat theoretisch Missbrauchspotenzial. Zudem möchte Apple die Differenzierung zwischen nativen Apps und Webanwendungen aufrechterhalten: Native iOS-Apps haben Zugriff auf Apples hochentwickeltes Haptic Engine Framework mit fein abgestuften Vibrationseffekten, PWAs hingegen nicht. Diese Strategie sichert die Kontrolle über das App-Ökosystem und zwingt Entwickler:innen, für anspruchsvolle haptische Erlebnisse native Apps zu bauen – oder zumindest Hybrid-Lösungen mit nativen Wrappers.
iOS 18 und der nicht-standardisierte Switch-Workaround
Seit iOS 18 gibt es eine minimale Ausnahme: HTML-Checkboxen mit dem nicht-standardisierten Attribut switch
können haptisches Feedback auslösen, wenn sie von einem zugehörigen <label>
-Element per .click()
programmatisch getriggert werden. Diese Lösung ist ein Workaround, kein Standard – sie funktioniert nur für Toggle-Elemente und ist auf das spezifische UI-Pattern von Checkboxen beschränkt. Das Ionic Framework diskutiert seit Oktober 2024, diesen Trick für seine Toggle-Komponente zu nutzen, um PWAs auf iOS etwas nativer wirken zu lassen. Doch selbst dieser Ansatz ist fragil: Apple könnte die Funktion jederzeit ändern oder streichen, da sie nicht Teil der offiziellen Web-Standards ist. Für Entwickler:innen bleibt iOS vorerst ein Sonderfall, der entweder durch Feature Detection ignoriert oder durch native Wrappers wie Capacitor oder Cordova umschifft werden muss.
Fazit: Haptisches Feedback als Qualitätsmerkmal moderner PWAs
Die Vibration-API ist eine der wenigen Web-Technologien, die Progressive Web Apps eine physische Dimension verleihen können – eine taktile Rückmeldung, die Nutzer:innen aus nativen Apps gewohnt sind und unbewusst erwarten. Richtig eingesetzt, steigert haptisches Feedback die Immersion, verbessert die Usability und macht PWAs auf Android-Geräten zu vollwertigen App-Alternativen. Doch die Implementierung erfordert Fingerspitzengefühl: Zu häufige oder zu intensive Vibrationen nerven, fehlende Browser-Unterstützung auf iOS zwingt zu Feature Detection, und Datenschutzbedenken verlangen nach transparenter Kommunikation. Entwickler:innen, die diese Balance finden – dezente, kontextbezogene Vibrationen, kombiniert mit robuster Fehlerbehandlung und Opt-out-Optionen – können ihren PWAs einen spürbaren Qualitätsvorsprung verschaffen. Haptisches Feedback ist kein Muss, aber in den richtigen Anwendungsfällen ein klares Differenzierungsmerkmal, das über technisches Know-how und UX-Verständnis gleichermaßen Auskunft gibt.
Tipps
Feature Detection zuerst: Prüfen Sie mit if ('vibrate' in navigator)
vor jedem API-Aufruf, ob das Gerät Vibrationen unterstützt – iOS-Geräte werden es nicht tun, und ein fehlgeschlagener Call kann JavaScript-Fehler produzieren.
Sparsam vibrieren: Nutzen Sie Vibrationen nur bei bedeutungsvollen Interaktionen wie Button-Clicks, Formular-Validierungen oder kritischen Fehlern – nicht bei jedem Scroll oder Hover, sonst betäuben Sie die Nutzer:innen.
Muster konsistent halten: Definieren Sie einheitliche Vibrationsmuster für gleichartige Events (z.B. 50 ms für Bestätigungen, 200 ms für Fehler) und dokumentieren Sie diese intern, damit das haptische Vokabular über alle Features hinweg verständlich bleibt.
Opt-out anbieten: Implementieren Sie eine Toggle-Funktion, mit der Nutzer:innen haptisches Feedback deaktivieren können – manche Menschen empfinden Vibrationen als störend oder haben neurologische Sensibilitäten.
Performance im Blick behalten: Vibrationen verbrauchen Akkuleistung, daher sollten Sie die API nicht in engen Schleifen oder bei Scroll-Events aufrufen, sondern nur bei diskreten, bewussten Nutzeraktionen.
Codebeispiele
Einfach Variante
// Vibration bei jedem Touch auf der gesamten Website
(function() {
'use strict';
// Verfügbarkeit der Vibration API prüfen
if (!('vibrate' in navigator)) {
console.warn('Vibration API wird nicht unterstützt');
return;
}
// Vibrationsdauer in Millisekunden (anpassbar)
const vibrationDuration = 50;
// Event Listener für touchstart auf document-Ebene
document.addEventListener('touchstart', function(event) {
navigator.vibrate(vibrationDuration);
}, { passive: true });
})();
Dieser Script registriert einen globalen Event Listener auf document
-Ebene, der bei jedem Touch-Event eine kurze Vibration auslöst. Die Option { passive: true }
sorgt für bessere Scroll-Performance.
Erweiterte Variante mit Vibrationsmuster
// Erweiterte Version mit Vibrationsmuster
(function() {
'use strict';
if (!('vibrate' in navigator)) {
console.warn('Vibration API wird nicht unterstützt');
return;
}
// Konfiguration
const config = {
pattern: [50], // Einzelne Vibration von 50ms
// alternativ für komplexes Muster: [50, 100, 50]
enabled: true
};
// Touch Handler
function handleTouch(event) {
if (config.enabled) {
navigator.vibrate(config.pattern);
}
}
// Event Listener registrieren
document.addEventListener('touchstart', handleTouch, { passive: true });
// Optional: Vibration für bestimmte Elemente deaktivieren
document.querySelectorAll('.no-vibrate').forEach(function(element) {
element.addEventListener('touchstart', function(e) {
e.stopPropagation();
}, { passive: true });
});
// Global verfügbare Funktion zum Ein-/Ausschalten
window.toggleVibration = function() {
config.enabled = !config.enabled;
console.log('Vibration:', config.enabled ? 'aktiviert' : 'deaktiviert');
};
})();
FAQ
Funktioniert die Vibration-API auf allen Mobilgeräten?
Nein, die Vibration-API ist ausschließlich auf Android-Geräten in Browsern wie Chrome, Firefox, Edge und Opera voll funktionsfähig. Safari auf iOS und macOS unterstützt die API grundsätzlich nicht, was bedeutet, dass rund 30-40% der mobilen Nutzer:innen weltweit kein haptisches Feedback in PWAs erleben können. Apple hat nie offiziell begründet, warum die API blockiert wird, aber Sicherheits- und Differenzierungsargumente gegenüber nativen Apps sind wahrscheinlich. Seit iOS 18 gibt es einen nicht-standardisierten Workaround über HTML-Checkboxen mit switch
-Attribut, der aber nur für Toggle-Elemente funktioniert und nicht als verlässliche Lösung gelten kann. Entwickler:innen müssen daher immer Feature Detection nutzen und ihre PWAs so gestalten, dass sie auch ohne haptisches Feedback vollständig nutzbar bleiben – Vibrationen sind ein Enhancement, kein essentielles Feature.
Kann ich die Intensität der Vibration steuern?
Nein, die Vibration-API erlaubt keine Kontrolle über Intensität oder Frequenz der Vibrationen – sie akzeptiert nur Zeitangaben in Millisekunden. Die tatsächliche Stärke der Vibration wird vom Gerät selbst bestimmt und hängt von der verbauten Hardware ab: Ein High-End-Smartphone mit linearem Vibrationsmotor erzeugt deutlich präzisere und kraftvollere Impulse als ein Budget-Gerät mit einfachem Rotor. Diese Einschränkung ist bewusst: Das W3C wollte die API einfach und breit kompatibel halten, anstatt komplexe Parameter einzuführen, die auf vielen Geräten ohnehin nicht umgesetzt werden könnten. Für fein abgestufte haptische Effekte müssen Entwickler:innen auf native APIs zurückgreifen – etwa Androids HapticFeedback-Framework mit Envelope-Effekten oder Apples Core Haptics auf iOS. In PWAs bleibt nur die Variation der Muster: Durch clevere Kombination von Vibrationsdauern und Pausen lassen sich unterschiedliche Intensitäten simulieren, etwa durch mehrere kurze Impulse statt eines langen.
Brauche ich eine Nutzererlaubnis, um Vibrationen auszulösen?
Nein, die Vibration-API erfordert keine explizite Berechtigung im Sinne eines Permission-Prompts wie bei Kamera oder Standort. Allerdings verlangt die Spezifikation seit 2016 eine sogenannte „Sticky User Activation“ – das heißt, Vibrationen können nur nach einer bewussten Nutzeraktion wie einem Tap, Klick oder Tastendruck ausgelöst werden. Das verhindert, dass Websites beim bloßen Laden oder durch Hintergrundskripte unkontrolliert vibrieren. In der Praxis bedeutet das: Sie können die API direkt in Event Listenern wie onclick
oder touchstart
aufrufen, aber nicht in einem window.onload
-Callback ohne vorherige Interaktion. Das W3C empfiehlt zudem, dass Browser Nutzer:innen informieren, wenn eine Website die Vibration-API nutzt, und eine Möglichkeit bieten, sie global oder pro Domain zu deaktivieren – die meisten Browser setzen diese Empfehlung jedoch nicht um. Aus rechtlicher und ethischer Sicht ist es trotzdem ratsam, Nutzer:innen in der Datenschutzerklärung über die Verwendung von haptischem Feedback zu informieren und eine Opt-out-Funktion anzubieten, besonders im Kontext des BFSG.
Wie verhindere ich, dass Nutzer:innen durch zu viele Vibrationen genervt werden?
Die wichtigste Regel lautet: Weniger ist mehr. Haptisches Feedback sollte sparsam und nur bei bedeutungsvollen Interaktionen eingesetzt werden – etwa bei Button-Clicks, Formular-Validierungen oder kritischen Fehlern, nicht bei jedem Scroll, Hover oder Seitenwechsel. Android-Designrichtlinien empfehlen Vibrationen von 10-50 ms für einfache Bestätigungen und 100-200 ms für wichtigere Events, längere Muster sollten die Ausnahme bleiben. Zu häufige oder zu intensive Vibrationen können buchstäblich die Hände betäuben und führen dazu, dass Nutzer:innen die Systemvibration komplett deaktivieren – was auch andere Apps betrifft. Ein weiterer Best Practice ist, haptisches Feedback mit visuellen und auditiven Cues zu synchronisieren, damit alle Sinneskanäle dieselbe Botschaft übermitteln und Nutzer:innen nicht verwirrt werden. Zudem sollten Sie eine Opt-out-Funktion implementieren, etwa eine Toggle-Einstellung in den App-Präferenzen, die es Nutzer:innen erlaubt, Vibrationen selektiv zu deaktivieren. User Testing ist essenziell: Lassen Sie echte Nutzer:innen Ihre PWA testen und sammeln Sie Feedback zur Häufigkeit und Stärke der Vibrationen – was Ihnen als subtil erscheint, kann für andere bereits aufdringlich sein.
Kritik
Die fragmentierte Browser-Unterstützung macht haptisches Feedback zum Nischen-Feature
Die Vibration-API scheitert an ihrer eigenen Inkonsistenz. Während Android-Nutzer:innen seit Jahren vollen Zugriff haben, bleibt iOS – immerhin circa 30% des mobilen Markts – komplett außen vor. Apple blockiert die API aus Prinzip, nicht aus technischer Not, und zementiert damit die Zweitklassigkeit von PWAs auf der eigenen Plattform. Für Entwickler:innen bedeutet das: Entweder sie ignorieren haptisches Feedback komplett, weil es ohnehin nur die Hälfte der Nutzer:innen erreicht, oder sie müssen aufwendige Feature Detection und Fallback-Mechanismen implementieren. Diese Fragmentierung widerspricht dem Versprechen des offenen Webs – dass Technologien plattformübergreifend funktionieren sollen. Stattdessen entsteht eine Zwei-Klassen-UX: Android-Nutzer:innen erleben haptisches Feedback, iOS-Nutzer:innen bleiben ausgeschlossen, und Entwickler:innen müssen diese Diskrepanz irgendwie erklären oder verstecken. Das ist kein technisches, sondern ein politisches Problem: Solange Apple seine Walled-Garden-Strategie nicht aufgibt, bleibt haptisches Feedback in PWAs ein Nice-to-have für die eine Hälfte, aber unsichtbar für die andere.
Datenschutzrisiken werden verharmlost, obwohl Missbrauchspotenzial real ist
Die Vibration-API wird oft als harmlose Spielerei dargestellt, doch das W3C selbst warnt vor indirekten Datenschutzrisiken. Die Kombination mit Sensoren wie Accelerometern kann zur Geräte-Fingerprinting genutzt werden – eine Tracking-Methode, die ohne Cookies oder Speicher auskommt und schwer zu blockieren ist. Szenarien wie Cross-Device-Kommunikation durch Ultraschall-ähnliche Vibrationsmuster sind nicht theoretisch, sondern technisch machbar und wurden bereits in Forschungsarbeiten demonstriert. Trotzdem gibt es keine Browser-seitigen Schutzmechanismen: Keine Benachrichtigung, wenn eine Website vibriert, keine granulare Permission wie bei anderen APIs. Das „Sticky Activation“-Prinzip ist ein schwacher Schutz, denn ein einziger Tap reicht, um danach beliebig lange Vibrationsketten zu starten. Die Transparenzempfehlung des W3C bleibt freiwillig – Entwickler:innen können die API nutzen, ohne Nutzer:innen zu informieren, und rechtliche Rahmenbedingungen wie das BFSG erwähnen haptisches Feedback nicht explizit. Das ist eine Lücke, die ausgenutzt werden kann, und solange Browser-Hersteller hier nicht nachschärfen, bleibt die Vibration-API ein unterschätztes Tracking-Risiko.
Die fehlende Intensitätskontrolle macht professionelles UX-Design unmöglich
Die Vibration-API ist so minimalistisch, dass sie selbst für grundlegende UX-Differenzierungen unbrauchbar wird. Entwickler:innen können nur Zeitdauern definieren, nicht aber Intensität oder Frequenz – ein kritischer Mangel, der verhindert, dass haptisches Feedback kontextsensitiv gestaltet werden kann. Ein harter Fehler sollte sich anders anfühlen als eine sanfte Bestätigung, doch die API erlaubt keine solche Nuancierung. Stattdessen sind Entwickler:innen darauf angewiesen, dass unterschiedliche Geräte die Muster unterschiedlich interpretieren – ein Ansatz, der weder kontrollierbar noch vorhersehbar ist. Native Plattformen wie Android und iOS bieten längst fein abgestufte Haptic Engines mit Dutzenden Parametern für Amplitude, Schärfe und Einhüllungskurven. Die Vibration-API hingegen bleibt auf dem Stand von 2013 stehen und ignoriert sämtliche Fortschritte im Hardware-Design. Das Resultat: PWAs können haptisches Feedback nur als grobes Werkzeug einsetzen, nicht als präzises UX-Instrument. Für anspruchsvolle Anwendungen wie Gaming oder medizinische Interfaces bleibt nur der Weg über native Wrappers – ein Armutszeugnis für eine Technologie, die das offene Web eigentlich voranbringen sollte.
Quellen der Inspiration
Progressier (2025) – PWA Capabilities: Vibration API
Detaillierte Dokumentation zu Use Cases, Browser-Support und praktischen Implementierungsbeispielen für haptisches Feedback in Progressive Web Apps.https://progressier.com/pwa-capabilities/vibration-api
Mozilla Developer Network (2024) – Vibration API Specification
Offizielle technische Referenz mit Browser-Kompatibilitätsdaten und Erklärungen zur Funktionsweise der Navigator.vibrate()-Methode.https://developer.mozilla.org/en-US/docs/Web/API/Vibration_API
LambdaTest (2025) – Browser Compatibility Score of Vibration API
Umfassende Übersicht über Browser- und Gerätesupport der Vibration-API mit detaillierten Versionsinformationen für alle gängigen Plattformen.https://www.lambdatest.com/web-technologies/vibration
W3C (2016) – Vibration API (Second Edition) Recommendation
Die offizielle W3C-Spezifikation mit Sicherheits- und Datenschutzrichtlinien, Sticky Activation-Prinzip und normativen Anforderungen.https://www.w3.org/TR/2016/REC-vibration-20161018/
Netguru (2025) – Progressive Web App Design: Hidden UX Techniques
Forschungsbasierter Artikel über UX-Techniken in PWAs, der haptisches Feedback im Kontext von Nutzerengagement und Barrierefreiheit behandelt.https://www.netguru.com/blog/pwa-ux-techniques
GitHub Ionic (2024) – Feature Request: Haptic Feedback for Toggle in Safari iOS 18+
Technische Diskussion über den nicht-standardisierten Switch-Workaround für haptisches Feedback auf iOS und dessen Limitierungen.https://github.com/ionic-team/ionic-framework/issues/29942
Android Developer Documentation (2025) – Haptic Design Principles
Googles offizielle Richtlinien für haptisches Feedback-Design mit Empfehlungen zu Dauer, Frequenz und kontextabhängigem Einsatz.https://developer.android.com/develop/ui/views/haptics/haptics-principles?hl=de
Lukáš Olejník (2019) – Privacy of W3C Vibration API
Kritische Analyse der Datenschutzrisiken der Vibration-API, inklusive Fingerprinting-Szenarien und Cross-Device-Tracking-Potenzialen.https://blog.lukaszolejnik.com/privacy-of-w3c-vibration-api/