Black Friday: 30 % Rabatt auf alle Trainings und 10 % Rabatt auf alle Dienstleistungen Hol dir ein Angebot


Die Tab-Falle: Warum das Erzwingen neuer Tabs eine schlechte UX ist

· Silas Joisten · 2 Minuten zum Lesen
Open in new tab

Wir haben es alle schon getan — target="_blank" zu einem Link hinzugefügt, um „Benutzern zu helfen", auf unserer Website zu bleiben. Aber was sich wie eine harmlose Bequemlichkeit anfühlt, führt oft zu Verwirrung, beeinträchtigt die Barrierefreiheit und birgt versteckte Sicherheitsrisiken.

1. UX & Barrierefreiheit: Benutzererwartungen brechen

Benutzer erwarten Kontrolle — keine Überraschungen

Benutzer erwarten konsistentes Verhalten: Wenn du auf einen Link klickst, sollte er sich im selben Tab öffnen — es sei denn, du entscheidest dich anders. Das Erzwingen eines neuen Tabs bricht dieses mentale Modell und nimmt dem Benutzer die Kontrolle.

Wie die W3C-Richtlinien zur Barrierefreiheit (WCAG 2.2, §3.2.5) feststellen, können unerwartete Kontextwechsel (wie ein neuer Tab oder ein neues Fenster) Benutzer desorientieren, insbesondere diejenigen, die assistive Technologien verwenden.

Wenn target="_blank" ohne Warnung angewendet wird, bemerken Screenreader-Nutzer oder Tastaturbenutzer möglicherweise nicht einmal, dass sie den Kontext gewechselt haben — eine frustrierende und verwirrende Erfahrung.

Der defekte „Zurück"-Button

Das Öffnen eines neuen Tabs bedeutet, dass die Zurück Button des Browsers nicht mehr für die ursprüngliche Reise des Benutzers funktioniert. Sie können nicht einfach „zurückgehen" — sie müssen nach dem vorherigen Tab suchen. Diese kleine Unterbrechung des Ablaufs erhöht die kognitive Last und stört die Navigation.

Eine Diskussion auf UX Stack Exchange fasst es am besten zusammen:

target="_blank" bricht das normalerweise erwartete Browserverhalten.

Das mobile Erlebnis leidet ebenfalls

Auf mobilen Geräten ist die Tab-Verwaltung umständlich. Benutzer bemerken möglicherweise nicht, dass sich ein neuer Tab geöffnet hat, was dazu führt, dass sie den Browser schließen oder die Sitzung abbrechen.

2. Technische und Sicherheitsfallstricke

Die window.opener-Schwachstelle

Jedes Mal, wenn Sie einen Link mit target="_blank" öffnen, erhält der neue Tab eine Referenz zur ursprünglichen Seite über window.opener. Das bedeutet, dass die verlinkte Seite — wenn sie bösartig ist — die Quellseite manipulieren oder umleiten kann:

window.opener.location = 'https://phishing.example.com';

Dies ist ein gut dokumentierter Exploit (Perishable Press, OWASP).

Um dies zu verhindern, kombinieren Sie target="_blank" mit rel="noopener" oder rel="noreferrer":

<a href="https://example.com" target="_blank" rel="noopener">Externer Link</a>

Leistung und Wartung

Jeder neue Tab verbraucht Speicher. Auf Low-End-Geräten können mehrere geöffnete Tabs die Leistung verlangsamen. Und wenn du target="_blank" selektiv hinzufügst, ist es leicht, Sicherheitsattribute zu vergessen.

3. SEO- und Analyse-Überlegungen

Googles Lighthouse kennzeichnet externe Links, die target="_blank" ohne rel="noopener" verwenden, als Sicherheitsrisiko.

Es wirkt sich nicht direkt auf das Ranking aus, aber schlechte UX und desorientierte Benutzer erhöhen die Absprungraten, was sich indirekt negativ auf SEO auswirkt.

4. Wann target="_blank" Sinn machen kann

Es gibt Ausnahmen:

  • Referenzmaterial: z. B. das Öffnen von Dokumentation neben einem Formular.

  • Downloads oder PDFs: Benutzer erwarten, dass sie in einem neuen Tab geöffnet werden.

  • Langwierige Aufgaben: um den Fortschritt nicht zu verlieren.

Best Practices:

  1. Füge immer rel="noopener" hinzu.

  2. Warne Benutzer visuell (Symbol oder Tooltip).

  3. Halte das Verhalten konsistent.

  4. Teste die Barrierefreiheit mit Screenreadern.

5. Bessere Alternativen

  • Verwende klare Navigation und Breadcrumbs stattdessen.

  • Lass Benutzer entscheiden, wie sie Links öffnen (Strg+Klick, Cmd+Klick).

Die Wahlfreiheit der Benutzer zu respektieren schafft bessere UX.

Fazit

target="_blank" kann UX, Barrierefreiheit und Sicherheit beeinträchtigen. Sparsam und mit angemessenen Schutzmaßnahmen verwendet, ist es in Ordnung — aber niemals standardmäßig.

Bei SensioLabs glauben wir, dass Vertrauen mit dem Respekt vor Benutzerkontrolle beginnt. Aus diesem Grund empfehlen wir dir ausdrücklich, Lösungen zu implementieren, die das Öffnen neuer Tabs in deinen Apps verhindern.

Referenzen

Verbessere Deine UX — Klick für Klick

Eine großartige User Experience beginnt mit kleinen Entscheidungen. Erfahre, wie du mit Symfony und den Best Practices von SensioLabs barrierefreie und benutzerfreundliche Interfaces entwickelst.

Das könnte dich auch interessieren

Chart going up
Silas Joisten

Warum Tests? Für das Management erklärt

Für Entscheidungsträger: Warum Tests wichtig sind mit Fokus auf ROI, Risikoreduktion und Agilität. Mit Zahlen, Fallstudien und Management-Perspektive.

Mehr erfahren
Code happy in lights
Imen Ezzine

Code-Review: Arten, Organisation und bewährte Verfahren

Der Code-Review ist ein wesentlicher Schritt im Softwareentwicklungszyklus, der es ermöglicht, die Qualität des Codes zu verbessern, Fehler zu reduzieren und den Wissensaustausch innerhalb des Teams zu fördern. GitLab und GitHub, zwei der beliebtesten Plattformen für die Codeverwaltung, bieten erweiterte Funktionen, um diesen Prozess zu vereinfachen. Dieser Artikel befasst sich mit den verschiedenen Arten von Code-Reviews, der Organisation und der Nutzung von Vorlagen und Checklisten zur Verbesserung der Effizienz von PRs (Pull Requests).

Mehr erfahren
Many Lego figurines on a white table with hands playing with them
Alexandre Nesson

Scrum Guide Expansion Pack (2025): Wichtige Erkenntnisse, die du kennen musst

Ein neuer Baustein bereichert den Scrum Guide! Ist das nur Fassade oder bietet es echten Mehrwert? Lass es uns gemeinsam in diesem Artikel herausfinden, der von einem unserer Experten verfasst wurde!

Mehr erfahren
PHP 8.5 URI extension
Oskar Stark

PHP 8.5's neue URI-Erweiterung: Ein Game-Changer für URL-Parsing

PHP 8.5 führt eine leistungsstarke neue URI-Erweiterung ein, die die URL-Verarbeitung modernisiert. Mit Unterstützung für RFC 3986 und WHATWG-Standards bietet die neue Uri-Klasse unveränderliche Objekte, fluent Interfaces und korrekte Validierung - und behebt alle Einschränkungen der veralteten parse_url()-Funktion. Dieser Leitfaden zeigt praktische Vorher/Nachher-Beispiele und erklärt, wann welcher Standard zu verwenden ist.

Mehr erfahren
3 dog heads
Mathieu Santostefano

Lass die Nutzer des SDK ihren eigenen HTTP-Client nutzen

Befreie dich von starren Abhängigkeiten in deinen PHP-SDKs. Erfahre, wie du die Standards PSR-7, PSR-17 und PSR-18 zusammen mit PHP-HTTP/Discovery nutzt, um deinen Benutzern die Verwendung ihres bevorzugten HTTP-Clients zu ermöglichen – sei es Guzzle, Symfony HttpClient oder ein anderes Tool. Ein Muss für PHP- und Symfony-Entwickler.

Mehr erfahren
Blue sign on a building with several Now What? letters
Thibaut Chieux

Wie man Nachrichten beim Aufbau asynchroner Anwendungen mit dem Symfony-Messenger priorisiert

Die asynchrone Verarbeitung bietet Vorteile wie entkoppelte Prozesse und schnellere Reaktionszeiten. Die Verwaltung von Nachrichtenprioritäten kann jedoch zu einer Herausforderung werden. Bei Aufgaben, die vom Zurücksetzen von Passwörtern bis hin zu komplexen Exporten reichen, ist die rechtzeitige Zustellung kritischer Nachrichten unerlässlich. Dieser Artikel befasst sich mit häufigen Problemen bei der asynchronen Verarbeitung und zeigt Lösungen mit Symfony Messenger auf, mit denen Sie Ihre Anwendung ohne umfangreiches Refactoring optimieren können.

Mehr erfahren
Two images: on the left many cars stuck in a traffic jam with the sign "All directions" above, on the right a blue car moving forward alone on the highway with the sign "Service Subscriber" and a Symfony logo above
Steven Renaux

Symfony Lazy Services mit Stil – Steigere deine Entwicklererfahrung mit Service Subscribers

Steigere die Performance und Developer Experience (DX) deiner Symfony-App! Erfahre, wie du Service Subscribers und Traits für das verzögerte Laden von Services verwendest, um die sofortige Instanziierung zu reduzieren, Abhängigkeiten zu vereinfachen und modularen, wartbaren Code zu schreiben.

Mehr erfahren
Domain Driven Design practical approach
Silas Joisten

Anwendung von Domain-Driven Design in PHP und Symfony: Ein praktischer Leitfaden

Erfahre anhand praktischer Beispiele, wie du die Prinzipien des Domain-Driven Design (DDD) in Symfony anwendest. Entdecke die Leistungsfähigkeit von Value Objects, Repositories und Bounded Contexts.

Mehr erfahren
Photo speaker meetup AI Symfony
Jules Daunay

Symfony und AI: das Video ist jetzt verfügbar

Was ist mit Symfony und Artificial Intelligence (AI)? Dies war das Thema der exklusiven Veranstaltung, die von SensioLabs in Zusammenarbeit mit Codéin am 3. Oktober organisiert wurde. Mit dem zusätzlichen Bonus des Feedbacks aus einem Entwicklungsprojekt, das Symfony und AI kombiniert. Falls du die Veranstaltung verpasst hast, schau dir das Video an, das jetzt kostenlos auf unserem Youtube-Kanal verfügbar ist.

Mehr erfahren
Blue ElePHPant on a computer
Imen Ezzine

Optimieren von PHP-Code: 8 Funktionen, die man für die effiziente Manipulation von Tabellen kennen sollte

Um ein hervorragender PHP-Entwickler zu werden, muss man den Umgang mit Tabellen perfekt beherrschen. Diese Strukturen sind in PHP unverzichtbar, sei es, um Daten zwischenzuspeichern, zu organisieren oder zu bearbeiten, bevor sie in einer Datenbank gespeichert werden. Wenn du ihre Funktionsweise beherrschst, wirst du in der Lage sein, deine Informationen effizienter und optimierter zu verwalten und zu manipulieren.

Mehr erfahren
Grey Cargo Plane with a Blue Sky
Rémi Brière

Agilität und der Cargo-Kult - Teil 1

Agilität ist mehr als nur Rituale und Tools. In diesem ersten Artikel unserer Scrum-Serie untersuchen wir das Phänomen des Cargo-Kults und wie blinde Nachahmung eine echte agile Transformation behindern kann.

Mehr erfahren
SemVer vs. CalVer
Silas Joisten

SemVer vs. CalVer: Welche Versionierungsstrategie ist die richtige für dich?

SemVer sorgt für Stabilität in Bibliotheken, während CalVer Projekte an Veröffentlichungszyklen anpasst. Erfahre die wichtigsten Unterschiede und besten Anwendungsfälle, um deine Versionierungsstrategie zu optimieren.

Mehr erfahren
DDD
Silas Joisten

Verständnis von Domain-Driven Design: Ein praktischer Ansatz für moderne Softwarearchitektur

Entdecke die Prinzipien und Muster von Domain-Driven Design (DDD) wie Ubiquitous Language, Aggregates und Bounded Contexts. Erfahre, wie DDD nahtlos in PHP- und Symfony-Projekte passt und dir hilft, Software mit den Geschäftsanforderungen in Einklang zu bringen.

Mehr erfahren
White And Purple Modern Professional Partnership Agreement Presentation (5)
Jules Daunay

SensioLabs begrüßt Inetum in seinem Partnernetzwerk

SensioLabs und Inetum, der europäische Marktführer für digitale Dienstleistungen und Lösungen, haben die Unterzeichnung einer neuen Partnerschaft bekannt gegeben. Diese Partnerschaft ermöglicht es Inetum, seinen Kunden eine verbesserte Unterstützung für ihre PHP- und Symfony-Entwicklungen während des gesamten Projektlebenszyklus zu bieten. Wer ist Inetum? Inetum ist ein agiles ESN, ein Unternehmen für digitale Dienstleistungen und Lösungen [ 2026]< /p>

Mehr erfahren
Smile Welcomes Synotis
Elise Hamimi

Synotis, der Spezialist für Datenmanagement, tritt der Smile Group bei

SensioLabs, der Schöpfer von Symfony und Mitglied der Smile Group, freut sich, einen Neuzugang in der Gruppe bekannt zu geben. Synotis ist ein in der Schweiz ansässiges Dienstleistungsunternehmen, das auf Beratung und Datenmanagement spezialisiert ist. Diese Operation stärkt die Präsenz der Smile Group in der Schweiz und in Europa, um die offene digitale Transformation zu unterstützen.

Mehr erfahren
Image