1 Punkte von GN⁺ 2025-06-09 | 1 Kommentare | Auf WhatsApp teilen
  • Private Homepages der 1990er nutzten häufig blinkenden und scrollenden Text, um „neueste Updates“ hervorzuheben; die beiden Tags sind heute Spuren einer Webkultur, der man nur noch selten begegnet
  • <blink> ist ein Tag, der 1995 in Netscape Navigator 2.0 aufgenommen wurde. Lou Montulli wird oft als Ideengeber genannt, stellte jedoch klar, dass er den eigentlichen Implementierungscode nicht geschrieben hat
  • Im selben Jahr führte Microsoft Internet Explorer 2.0 <marquee> ein und bot damit attributbasierte Effekte, mit denen sich Scrollrichtung, Geschwindigkeit, Wiederholung und Hin-und-her-Bewegung steuern ließen
  • Wenn man die beiden Tags verschachtelte, sah man in Netscape Blinken und in IE Scrollen; auch in Browsern ohne Unterstützung blieb der Text selbst lesbar
  • <blink> ist praktisch verschwunden, und <marquee> ist zwar in einigen modernen Browsern noch vorhanden, wirkt auf realen Websites aber eher wie digitale Nostalgie, die Barrierefreiheit und Usability beeinträchtigt

Der Wettstreit um visuelle Effekte, den Browser der 1990er auslösten

  • <blink> und <marquee> waren typische Webdesign-Elemente der 1990er, um auf privaten Homepages Aufmerksamkeit zu erregen
  • Selbst Macromedia Dreamweaver scheint die Praxis, <blink> in <marquee> einzupacken, wie ein Antipattern behandelt zu haben
  • <blink>: vom Scherz zum weit verbreiteten Tag

    • Die Erfindung von <blink> wird meist Lou Montulli zugeschrieben, doch er erklärte, den endgültigen Implementierungscode nicht selbst geschrieben zu haben
    • Montulli hatte vor seinem Wechsel zu Netscape im Jahr 1994 den textbasierten Browser Lynx entwickelt
    • Überliefert ist die Anekdote, dass Netscape-Ingenieure visuelle Effekte vorschlugen und Montulli sagte, diese würden in Lynx nicht funktionieren; der auffälligste Effekt, der in beiden Browsern möglich sei, sei scherzhaft, Text ein- und auszuschalten
    • Später fügte ein anderer, namentlich nicht bekannter Ingenieur <blink> in einer nächtlichen Arbeitssitzung hinzu
    • Netscape Navigator 2.0 nahm 1995 Unterstützung für <blink> auf; zur selben Zeit enthielt er auch animated GIFs und eine frühe Form von JavaScript
    • Die Nutzung hatte eine einfache Struktur ohne Attribute, etwa <BLINK>This is my blinking text!</BLINK>
    • Als zwei Jahre später die HTML4-Empfehlung erschien, wurde <blink> scherzhaft dokumentiert, im Web der späten 1990er wurde es jedoch häufig verwendet
    • Es wurde etwa für Überschriften wie „latest updates“ auf privaten Homepages oder zum Einrahmen ganzer Blöcke genutzt; die Atmosphäre dieser Zeit lässt sich in Cameron’s World erleben
  • <marquee>: scrollender Text im Internet Explorer

    • Microsoft veröffentlichte Internet Explorer 2.0 im selben Jahr wie Netscape Navigator 2.0
    • Internet Explorer war damals dabei, Funktionen aufzuholen, die Netscape bereits implementiert hatte, führte statt <blink> jedoch <marquee> ein
    • Mit <marquee> ließen sich über mehrere Attribute Scrollrichtung, Geschwindigkeit, Wiederholung und ein vor- und zurückspringendes Verhalten steuern
    • Ein Beispiel ist <MARQUEE>Oh my god this still works in most modern browsers!</MARQUEE>; in einigen modernen Browsern funktioniert es weiterhin

Was passierte, wenn man beide Tags kombinierte

  • In den späten 1990ern war es bis zu einem gewissen Grad üblich, Inhalte, die man hervorheben wollte, sowohl mit <blink> als auch mit <marquee> zu umschließen
    • Ein Beispiel ist <MARQUEE><BLINK>This is my really important message!</BLINK></MARQUEE>
    • Netscape-Nutzer sahen blinkenden Text, während IE-Nutzer scrollenden oder hin und her bewegten Text sahen
  • Diese Methode passte zur Eigenschaft des Webs, unbekannte Elemente zu ignorieren und weiter zu rendern
    • Nach Postel’s Law sollten Browser auch bei Eingaben, die sie nicht verstehen, den Nutzern die bestmögliche Darstellung liefern
    • Auch der Grund, warum das moderne <video>-Element kein selbstschließendes Tag, sondern blockförmig ist, liegt darin, dass ältere Browser, die <video> nicht kennen, den darin enthaltenen Fallback-Code lesen können
  • Selbst in Browsern, die keines der beiden Tags kannten, blieb der Inhaltstext weiter lesbar
    • In dem Sinn, dass nur unterstützte Browser auffällige Effekte erhielten und in den übrigen Umgebungen einfacher Text übrig blieb, kam dies progressive enhancement nahe
    • JavaScript und CSS lassen sich nach derselben Regel anwenden, was Wartbarkeit und Barrierefreiheit hilft

Heute eher ein historisches Überbleibsel

  • Netscape 7 war 2002 einer der seltenen Browser, die sowohl <blink> als auch <marquee> unterstützten
    • Bei Unterstützungsreihenfolge und verschachtelten Elementen gab es einige heikle Punkte, aber auf manchen privaten Webseiten erschienen Scrollen und Blinken gleichzeitig
  • <blink> ist heute praktisch ein totes Tag; falls unbedingt nötig, lässt sich ein ähnlicher Effekt mit CSS erzeugen
  • <marquee> ist noch am Leben
    • Neben einem polyfill gibt es auch weiterhin native Unterstützung in einigen Browsern
    • Trotzdem sollte man <marquee> auf realen Websites vermeiden
  • Als Material für digitale Nostalgie ist es interessant, aber es gibt keinen Grund, anderen Nutzern blinkenden und vorbeilaufenden Text aufzuzwingen

1 Kommentare

 
GN⁺ 2025-06-09
Meinungen auf Hacker News
  • https://web.archive.org/web/20201111125145/https://danq.me/2...

  • Fühlt sich an, als wäre das schon vor 3.000 Jahren gewesen
    Ich erinnere mich an die Zeiten, als man darüber stritt, ob Navigation innerhalb von Frames eine schlechte Praxis sei. Nicht iframe, ich meine Frames. Vor AJAX nutzten wir HTTP 204, um Nachrichten an den Server zu schicken, ohne die Seite neu zu laden, und Anfang der 2000er zeichnete man in Dreamweaver tagelang Bundesstaatsgrenzen auf Landkarten, um anklickbare Image Maps zu bauen
    Wenn ein Dreamweaver-Template-Update Änderungen überschrieben hatte, gab es keine Versionsverwaltung und damit keine Möglichkeit zur Wiederherstellung; außerdem verarbeiteten wir im Backend Klickpositionen auf Bildern. Wir streamten Seitenaktualisierungen mit Motion JPEG und gingen mehrere Schritte durch, um PNG-Alpha-Blending im IE zu reparieren, bis wir uns schließlich auf ActiveX-Ansätze stützten
    Wir bauten Site-Navigationen mit Java, Flash und Silverlight, und ich erinnere mich auch daran, wie sehr Spacer-GIFs, Conditional Comments und Firebug wie Retter in der Not wirkten. Ich weiß nicht, wann ich alt geworden bin; eines Tages war es einfach so

    1. https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/...
    • Ich habe Websoftware mit Frames gebaut und hielt das für völlig unproblematisch. Ich weiß bis heute nicht so recht, was das eigentliche Problem mit Frames ist; manchmal wird Screenreader-Barrierefreiheit erwähnt, aber was konkret daran problematisch sein soll, ist mir immer noch nicht klar
    • Ich hatte Kundenprojekte, die IE6 unterstützen mussten, und bei all den Bugs und Einschränkungen verzweifelte ich jedes Mal, wenn der Designer einen Photoshop-Entwurf mit abgerundeten Ecken lieferte
      Responsivität war auch nötig, damals aber meist nur Anpassung an verschiedene Desktop-Größen, und normalerweise musste man Ecken ausschneiden und in Tabellenzellen platzieren. Wenn man so etwas von Hand macht, entwickelt man als Entwickler eine seltsame Widerstandskraft
    • Ich erinnere mich daran, mit dem Slice-Werkzeug von Photoshop GIFs extrem präzise zu zerschneiden und exakt in HTML-Tabellen zu platzieren
      Das waren Designs, die am besten auf 800x600 passten, und all diese Momente sind in der Zeit verschwunden wie Tränen im Regen
    • Ich besuche auch heute noch mehrmals pro Woche Sites, die Frames verwenden. Der Open-Group-/POSIX-Ecke scheint niemand gesagt zu haben, dass man Frames heutzutage nicht mehr verwenden sollte
    • Ich habe einen Webchat mit Frames gebaut. Oben war der Bereich, in dem Text endlos nachgeladen wurde, und unten ein Eingabefeld, das nach dem Absenden einer Nachricht eine 204-Antwort bekam, damit nichts neu geladen wurde
      In der IE4+-Ära war das wohl die eleganteste Methode
  • Das habe ich vor langer Zeit gebaut, und jedes Mal, wenn ich es zeige, sind die Leute überrascht, dass es überhaupt kein JavaScript gibt. Alle Animationen bestehen nur aus marquee-Tags: https://udel.edu/~ianozi/

    • Ich habe den marquee-Tag wohl seit rund 20 Jahren nicht mehr gesehen und es daher vielleicht vergessen, aber ich wusste nicht, dass vertikales Scrollen über den direction-Parameter möglich ist
    • https://no-js.abhij.it/
  • Meine liebste Technik mit marquee war, sie in unterschiedliche Richtungen zu verschachteln
    Wenn man den inneren marquee in die entgegengesetzte Richtung zum äußeren und mit derselben Geschwindigkeit laufen ließ, konnte man es so wirken lassen, als würde der Inhalt scrollen und dann anhalten; mit noch mehr Ebenen und abwechselnden Geschwindigkeiten ließ sich sogar ein zufälliges Herumspringen erzeugen. Ich glaube, damit das funktionierte, musste man dem inneren marquee eine maximale Breite geben

  • Es gibt einen Grund, warum marquee sehr nützlich ist: HTML-Injection
    marquee bewegt sich, und fast niemand verwendet diesen Tag absichtlich, daher lässt sich beim Testen von HTML-Injection-Schwachstellen leicht erkennen, ob der Angriff erfolgreich war. Auch Nicht-Technikern lässt sich „das sollte sich nicht bewegen, tut es aber“ viel besser erklären als „dieser Text sollte nicht fett sein, ist es aber“

    • Bei der HTML-Bereinigung setze ich als Easter Egg nur marquee auf die Allowlist und erlaube sonst fast nichts
    • Ich lese Hacker News über einen eigenen Aggregator, und dank dieses Artikels habe ich festgestellt, dass mein Aggregator anfällig für HTML-Injection ist. Auf dem Bildschirm lief (2020) wie ein marquee durch
    • Ich habe immer den <plaintext>-Tag verwendet. Da es ein Element ist, das sich nicht schließen lässt, verwandelt es den Rest des Dokuments in rohes HTML und fällt deshalb extrem auf
      https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/...
  • Der blink-Tag war natürlich schon früher sehr verhasst, und ich habe einmal testweise in einem Browser-Binary, vermutlich Netscape, nach "blink" gesucht und es durch "blonk" ersetzt. Tadaa, es blinkte nicht mehr

    • Binary-Editing war früher ziemlich lustig und ist es heute noch. Ich erinnere mich, dass ich "__gnu_warning" in "__gnu_whining" geändert habe, um das unnötige Genörgel rund um gets() zum Schweigen zu bringen
      Klar, Buffer Overruns gibt es, aber wenn man ein Wegwerfprogramm benutzt, muss man eben einfach den Buffer nicht überlaufen lassen
    • Ich habe auf diese Weise auch am Slack-Client herumgeschraubt. Der Vorteil einer Electron-App ist, dass das wirklich einfach ist und man Funktionen entfernen kann, die einem nicht gefallen
      Zum Beispiel habe ich das Verbergen von Benachrichtigungen oder das Senden des Signals, dass ich gerade eine Nachricht schreibe, abgeschaltet
  • „Das Tier wird erscheinen, umgeben von einer wirbelnden Wolke der Rache. Die Häuser der Ungläubigen werden einstürzen und sie werden bis auf den Boden niedergebrannt. Ihre Tags werden blinken bis zum Tag des Jüngsten Gerichts.“
    Das ist ein Zitat aus The Book of Mozilla, 12:10 in about:mozilla, und nun brennt Mozilla bis auf den Boden nieder. Das war’s

    • Trotzdem nutze ich Firefox immer noch als Hauptbrowser
  • Ein Freund hat immer seinen zweiten Vornamen in Tags eingeschlossen, um schnell fehlendes Escaping und potenzielles XSS zu prüfen. Früher hat das erstaunlich gut Probleme aufgedeckt

  • Dieser Kommentar befindet sich im Aufbau. Bitte besuchen Sie ihn regelmäßig wieder, um Updates zu sehen

    • Wo sind Besucherzähler und Gästebuch?
    • Für welchen Browser ist diese Seite optimiert?
    • Vergessen Sie auch [NEW] nicht
  • Einer der Gründe, warum Leute solche Elemente nicht mögen, ist, dass sie missbraucht wurden
    Aber genau dieser Missbrauch hat viele Menschen dazu gebracht, HTML selbst auszuprobieren. Für jemanden, der HTML zum ersten Mal verwendete, war es ziemlich befriedigend, blink oder marquee auszuprobieren; sie waren so etwas wie die Einstiegsdroge in die Welt von HTML
    Wer solche Elemente verwendete, hat wahrscheinlich irgendwann gelernt, dass man das nicht tun sollte — oder hat sie weiter benutzt, weil es eine mySpace-Seite war. Es ist leicht, sich über blink und marquee lustig zu machen, ähnlich wie Grafikdesigner auf Leute herabsehen, die Comic Sans benutzen, aber solche Tabus waren sehr nützlich, damit Menschen das Selbstvertrauen bekamen, „es einfach mal zu versuchen“