Hilfe
Hilfe und Erklärungen
Über UnlimitedUser
Was die Befunde bedeuten
Abschlüsse
Barrierefreiheit
- Alt-Text wiederholt den Umgebungstext
- Animationen ohne Reduced-Motion-Alternative
- Auswahlliste (select) ohne zugänglichen Namen
- Automatische Seitenaktualisierung per meta refresh
- Barrierefreiheits-Verstoß ohne eigenen Katalogeintrag
- Bedienelemente kleiner als 44x44 Pixel (Desktop/Tablet gemessen)
- Bild ohne Alternativtext
- Doppelte IDs im Dokument
- Dynamische Inhalte ohne aria-live-Ankündigung
- Fehlende oder ungültige ARIA-Attribute
- Fokus ist für Tastaturnutzer unsichtbar
- Fokussierbares Element innerhalb von aria-hidden
- Fokussiertes Element wird von einem Overlay verdeckt
- Formularfehler werden nicht programmatisch erkennbar gemacht
- Formularfeld ohne zugänglichen Namen
- Fremdsprachiger Textabschnitt ohne lang-Attribut
- Iframe ohne title-Attribut
- Inhalt außerhalb jeder Bereichsmarke
- Inhalte laufen über oder verdecken sich gegenseitig
- Input-Button ohne zugänglichen Namen
- Interaktive Elemente ineinander verschachtelt
- Kaputte Listenstruktur (ul/ol/li falsch verschachtelt)
- Kein Hauptbereich ausgezeichnet
- Kein Skip-Link zum Hauptinhalt
- Keine gültige Sprachangabe
- Leere Überschriften
- Link ohne erkennbaren Namen
- Medien starten automatisch und lassen sich nicht stoppen
- Positiver tabindex-Wert verbogen die Tab-Reihenfolge
- role="presentation" auf einem fokussierbaren Element
- Rolle und Fokusreihenfolge widersprechen sich
- Schaltfläche ohne erkennbaren Namen
- Scrollbereich nicht per Tastatur erreichbar
- Sichtbarer Text und zugänglicher Name stimmen nicht überein
- SVG-Grafiken ohne zugänglichen Namen
- Tastaturfokus bleibt in einer Fokusfalle hängen
- Tastaturfokus geht beim Tabben verloren
- Überschriftenebenen springen
- Video- oder Ton-Inhalt ohne Untertitel
- Zoomen per Viewport-Meta deaktiviert
- Zu geringer Farbkontrast
Bedienung
- Abfrage schlug fehl, die App antwortete trotzdem
- Absenden lässt sich mehrfach auslösen
- Antwort wiederholt sich praktisch wörtlich
- Bedienelement sieht deaktiviert aus, ist es aber nicht
- Behauptung ohne Abfrage der Quelle
- JavaScript-Fehler beim Klick
- Menü öffnet nur bei Mauszeiger-Berührung
- Schaltfläche ohne Wirkung
- Zu kleine oder mehrdeutige Klickfläche
Formulare
- Der Fokus wandert nach Fehlern oder Änderungen nicht mit
- Falscher Feldtyp im Formular
- Fehler werden erst beim Absenden gemeldet
- Formular fragt zu viele Felder ab
- Formular ohne Autovervollständigung
- Formular sendet ohne programmatische Rückmeldung ab
- Formularfeld ohne Beschriftung
- Passwortfeld mit autocomplete="off" blockiert Passwort-Manager
- Passwortregeln erscheinen erst nach dem Fehlversuch
- Pflichtfelder ohne sichtbare Kennzeichnung
- Unverständliche Fehlermeldung im Formular
- Zahlenfelder ohne inputmode — falsche Tastatur auf dem Smartphone
Geschwindigkeit
- Antwort braucht zu lange bis sie fertig ist
- Bilder ohne Komprimierung
- Bilder unterhalb des sichtbaren Bereichs laden sofort
- Blockierende Ressourcen verzögern den ersten Bildaufbau
- Der erste Inhalt erscheint zu spät (FCP)
- Der größte Inhalt erscheint zu spät (LCP)
- Der Inhalt springt beim Laden (CLS)
- Der Server antwortet zu langsam (TTFB)
- Die Seite lädt insgesamt langsam
- Die Seite reagiert träge auf Eingaben (INP)
- Die Seite wird noch über HTTP/1.1 ausgeliefert
- Dritt-Skripte beanspruchen den Haupt-Thread (gemessene CPU-Zeit)
- Erstes Zeichen der Antwort kommt zu spät
- Fremdskripte blockieren den Hauptthread
- Kein preconnect/dns-prefetch zu kritischen Drittanbieter-Hosts
- Lange JavaScript-Aufgaben blockieren den Haupt-Thread
- Statische Dateien ohne Zwischenspeicher-Angaben
- Textbasierte Antworten werden unkomprimiert ausgeliefert
- Viel ausgeliefertes CSS wird beim initialen Laden nie angewendet
- Viel ausgeliefertes JavaScript läuft beim initialen Laden nie
- Webfonts ohne font-display — Text bleibt beim Laden unsichtbar
- Zu große oder zu tief verschachtelte Seitenstruktur
- Zu schwere Bilder
- Zu viel JavaScript
Inhalte
- Antwort endet mitten im Satz
- Bilder werden verzerrt dargestellt
- Blindtext ist noch sichtbar
- Das Nutzenversprechen ist unklar
- Der ohne Scrollen sichtbare Bereich ist größtenteils leer
- Der Preis fehlt oder ist schwer zu finden
- Derselbe Absatz steht mehrfach auf einer Seite
- Entwicklernotiz im sichtbaren Text
- Fehlerantwort statt Inhalt
- Kaputte Bilder auf der Seite
- Leere Antwort
- Pflichtangabe fehlt in der Antwort
- Rohes JSON statt Text im Chatfenster
- Telefonnummer im Text ist nicht als tel:-Link antippbar
- Texte sind schwer verständlich
- Unaufgelöster Vorlagen-Platzhalter sichtbar
- Veraltete Jahreszahl im Footer/Copyright
- Verbotener Begriff in der Antwort
- Weder FAQ noch sichtbarer Kontaktweg
- Zitierte Quelle ist nicht erreichbar
- Zu viel Fachsprache
Konsolenfehler
- Anfrage mit allgemeinem Netzwerkfehler gescheitert
- Anfrage von der Freigaberichtlinie blockiert (CORS)
- Client-Fehler (4xx) bei einer Anfrage
- Der Browser des Besuchers hat die Anfrage blockiert
- Der Browser warnt vor einer veralteten Schnittstelle
- Der Rechnername ließ sich nicht auflösen
- Der Server antwortet mit einem Fehler (5xx)
- Die Verbindung wurde abgelehnt
- Eine eingebundene Datei fehlt (404)
- Gemischte Inhalte auf einer verschlüsselten Seite
- Nicht klassifizierte Konsolen-Warnung
- Nicht klassifizierter Konsolen-Fehler
- Unbehandelter JavaScript-Fehler
- Verstoß gegen die Content-Security-Policy
- Zeitüberschreitung bei einer Anfrage
- Zertifikatsfehler bei einer Anfrage
Mobil
Navigation
- Aufgerufene Seite existiert nicht (404)
- Die Fehlerseite ist eine Sackgasse
- Element sieht aus wie ein Link, hat aber kein Ziel
- Link führt ins Leere (404)
- Menüstruktur ist unklar oder uneinheitlich
- Seite ist von nirgendwo verlinkt
- Tiefe Seiten ohne Brotkrumen-Navigation
- Weiterleitungsschleife oder zu lange Weiterleitungskette
Sicherheit
- Admin-, Login- oder GraphQL-Pfade sind öffentlich sichtbar
- Asymmetrisch signiertes JWT ohne kid-Header
- Betriebssystem-Kommandos über Eingaben ausführbar
- Cookies ohne Secure, HttpOnly oder SameSite
- CORS-Policy ist zu weit geöffnet
- CSP erlaubt 'unsafe-eval'
- CSP erlaubt unsafe-inline — Schutz weitgehend wirkungslos
- CSP mit lückenhaften Direktiven (object-src / base-uri / Wildcard)
- CSP ohne Trusted Types (require-trusted-types-for)
- Datei-Upload-Feld ohne Typ-Einschränkung
- Der Agent hat eine eingetippte Anweisung befolgt
- Die Antwort gibt interne Anweisungen preis
- DMARC ohne Berichtsadresse (rua)
- DMARC-Regel steht auf p=none (nur Beobachtung)
- DMARC-Subdomain-Policy (sp=) schwächer als die Hauptdomain
- DOM-XSS: Nutzereingabe aus der URL landet in einer Senke
- Einfache Härtungs-Kopfzeilen fehlen
- Eingabe wird ungefiltert in die Seite zurückgeschrieben
- Externe Skripte ohne Subresource Integrity (SRI)
- Externer Link mit target="_blank" ohne rel="noopener noreferrer"
- Fehlermeldungen verraten Interna
- Formular sendet an eine http://-Adresse
- Gefährliche HTTP-Methoden sind erlaubt
- Geheimnis im ausgelieferten Frontend oder in einer URL
- Geschützte Ressource ohne Authentifizierung erreichbar
- GraphQL-Query wird per GET in der URL übertragen
- HSTS max-age ist zu kurz
- JavaScript-Source-Map ist öffentlich referenziert
- JWT bezieht Schlüsselmaterial über den Token-Header (jku/x5u/kid)
- JWT deklariert alg: none (unsigniertes Token)
- JWT liegt im Cookie oder im Web-Storage
- JWT mit öffentlich bekanntem Standard-Secret signiert
- JWT ohne oder mit sehr langer Gültigkeit
- Kein DMARC-Eintrag für die Domain
- Kein MTA-STS — TLS für eingehende E-Mails nicht erzwungen
- Kein Permissions-Policy-Header
- Kein Schutz gegen Klickentführung
- Keine Content-Security-Policy
- Keine Cross-Origin-Opener-Policy (COOP)
- Keine DKIM-Signatur für die Domain eingerichtet
- Keine Rate-Limit-Signale auf Login-Endpunkten beobachtet
- Login ohne zweiten Faktor (2FA) möglich
- Login-/Reset-Antworten verraten, ob ein Konto existiert
- Lokale Dateien über Pfad-Parameter auslesbar (LFI)
- Objekt-Referenzen ohne Besitzprüfung (IDOR)
- Offene Weiterleitung auf fremde Ursprünge
- Passwort-Feld erlaubt Autocomplete ausdrücklich
- Passwort-Feld in einem GET-Formular
- Personenbezogene Daten im ausgelieferten JavaScript
- Persönliche Angabe wird in der Antwort wiederholt
- Persönliche oder Rollen-Daten im JWT-Payload
- POST-Formular ohne CSRF-/Authenticity-Token
- postMessage sendet an jede Origin (*)
- security.txt ohne oder mit abgelaufenem Expires-Feld
- Sensible Seite ohne Cache-Control: no-store
- Server ruft fremde Adressen im Auftrag des Clients ab (SSRF)
- Session-Cookie mit breitem Domain-Scope
- Session-ID mit zu geringer Entropie
- Sicherheitsgrenze wurde nicht eingehalten
- Sicherheitsrichtlinie ohne form-action
- Software-Version im Generator-Meta-Tag offengelegt
- SPF-Eintrag endet zu weich oder offen
- SQL-Fehler in der Antwort sichtbar
- Template-Engine wertet Nutzereingaben als Code aus (SSTI)
- TLS-Handshake schlägt komplett fehl
- TLS-Zertifikat mit schwachem Schlüssel oder SHA-1-Signatur
- TLS-Zertifikat ungültig oder bald abgelaufen
- Unverschlüsselte Dateien auf verschlüsselter Seite
- Veraltete JavaScript-Bibliothek mit bekannter Lücke
- Veraltetes TLS-Protokoll im Einsatz
- Verschlüsselte Seite ohne HSTS-Kopfzeile
- Vertrauliche Dateien sind öffentlich abrufbar
- Verwaister DNS-Eintrag erlaubt Übernahme der Subdomain
- Vorgelagerte Schutzschicht/CDN erkannt
- XML-Parser wertet externe Entitäten aus (XXE)
- Zeilenumbrüche wandern in Antwort-Kopfzeilen (CRLF)
Suchmaschinen
- Bilder mit generischen Dateinamen (IMG_1234.jpg)
- Der Seitentitel fehlt
- Der Seitentitel ist zu lang und wird abgeschnitten
- Die Seitenbeschreibung fehlt
- Eine wichtige Seite ist von der Suche ausgeschlossen
- Für ein Keyword rankt die falsche URL
- hreflang-Annotationen ohne x-default
- Kein Favicon deklariert
- Keine Angabe der bevorzugten Adresse
- Keine oder mehrere Hauptüberschriften
- Keine strukturierten Daten
- Keine Twitter-Card-Meta-Tags
- Keine Vorschau-Angaben für geteilte Links
- Mehrere Seiten konkurrieren um denselben Suchbegriff
- Mehrere Seiten teilen denselben og:title
- Mehrere Seiten teilen dieselbe Beschreibung
- Mehrere Seiten tragen denselben Titel
- robots.txt blockiert die gesamte Seite
- Seiten lassen sich nicht crawlen oder melden HTTP-Fehler
- Seiten mit nahezu identischem Fließtext
- Seiten mit zu wenig Text (Thin Content)
- Seiten ohne eingehende interne Verweise (Waisen)
- Sitemap fehlt oder ist fehlerhaft
- Strukturierte Daten enthalten ungültige Werte
Tracking & Einwilligung
- Aktiver Tracker ist im TC-String nicht deklariert
- Belegt: Nachverfolgung lief vor der Einwilligung
- CNAME-Verschleierung per DNS-Messung belegt
- Consent-Wall sperrt den Zugang bis zur Zustimmung
- Cookie-Banner behauptet Einwilligung durch bloße Weiternutzung
- Cookie-Banner ignoriert die Ablehnung — Tracker feuern trotzdem
- Cookie-Banner ohne sichtbare Ablehnen-Option
- Cookie-Synchronisierung zwischen Tracker-Domains
- Cookies mit sehr langer Lebensdauer
- Datenschutzerklärung erwähnt keinen AVV
- Datenschutzerklärung nennt aktive Empfänger nicht
- Datenschutzerklärung nennt keinen Verantwortlichen
- Datenschutzerklärung ohne Hinweis auf Drittlandtransfer
- Ein Zähl-Tag feuert doppelt
- Einwilligungsbanner erscheint erneut trotz gespeicherter Wahl
- Einwilligungsdialog mit vorausgewählten Schaltern
- Entropiereiche ETags als Tracking-Kennung nutzbar
- Fehlerhafte Ereignismeldung an die Datenschicht
- Fingerprinting-Techniken auf der Seite erkannt
- Fingerprinting-Techniken laufen vor jeder Einwilligung
- Gemessene Cookie-Lebensdauer widerspricht der CMP-Deklaration
- Global-Privacy-Control-Signal wird ignoriert
- Google Consent Mode nicht konfiguriert
- Google Consent Mode v2 unvollständig
- Kein Weg, die Einwilligung zu widerrufen
- Keine Datenschutzerklärung auffindbar
- Keine Webanalyse gefunden
- Möglicherweise ein zweites, nicht klassifizierbares Consent-UI neben einer bekannten Einwilligungslösung
- Nachverfolgung ohne Einwilligungslösung
- Personenbezogene Daten gehen an Dritt-Tracker
- Tag-Manager vorhanden, aber kein Tag nachweisbar aktiv
- TC-String meldet „keine Einwilligung" — Tracker senden trotzdem Daten
- TCF-Einwilligungssignal widerspricht der Ablehnung
- TCF-String behauptet Einwilligungen, bevor der Besucher gewählt hat
- Teileinwilligung ignoriert: Abgelehnte Kategorien feuern trotzdem
- Tracker feuern beim erneuten Besuch trotz gespeicherter Ablehnung
- Tracker über First-Party-Proxy geladen (CNAME-Cloaking)
- Tracker-Kennung im Web-Storage der Seite
- Tracker-Kennungen überleben die Ablehnung/den Widerruf
- Tracker-Kennungen wurden bereits vor der Einwilligung gesetzt
- Tracker-Kennungen wurden trotz Ablehnung im Web-Storage abgelegt
- Tracking-Cookies wurden trotz Ablehnung gesetzt
- Uneinheitliche Nachverfolgung erzeugt Datenlücken
- US-Dienste aktiv — Drittland-Transfer prüfen
- Verweise laufen über Tracking-Weiterleitungen
- Zähl- und Werbe-Tags feuern vor der Einwilligung
- Zwei Consent-Tools auf einer Seite
Vertrauen
- Cookies ohne Secure- und SameSite-Angabe
- Die Seite läuft über HTTP statt HTTPS
- Kein Impressum, kein Datenschutz-Link
- Keine Bewertungen oder Belege von Dritten
- Keine sichtbare Kontaktmöglichkeit
- Shop-Signale vorhanden, aber keine Widerrufs-/Rückgabe-Information
- Übliche Sicherheits-Kopfzeilen fehlen
- Versandkosten und Rückgabe bleiben unklar