Im Zuge der engagierten Diskussion über den Artikel Alt-Tooltips des Internet Explorers loswerden
wurde festgestellt, dass die ursprüngliche Javascript-Lösung für den Spezialfall, für den sie gebaut wurde, durchaus funktioniert, aber für den alltäglichen Einsatz zu speziell ist. Das liegt vor allem daran, dass
- die komplizierte Zwischenspeicherung und Widerherstellung des
alt
-Attributs in meinem Fall nötig war, was aber normalerweise nicht der Fall ist - die Lösung überhaupt am
alt
-Attribut ansetzte, was nicht die beste Lösung sein muss.
Lange Rede, kurzer Sinn, mit Mootools im Gepäck regelt man das ganze am besten einfach so:
if(Browser.Engine.trident) { $('meinBild').set('title', ''); }
Das hinzufügen eines leeren titles
-Attributs überschreibt
für den IE in Sachen Tooltip den Alternativ-Text, so dass kein (vorhandener) alt
-Text, sondern ein leerer alt
angezeigt wird – effektiv also gar nichts. Der Tooltip ist weg – und das auf eine wesentlich einfachere und elegantere Weise als bei der alten Methode.
Mein Dank gilt Aranxo und alle anderen, die sich an meiner alten Lösung abgearbeitet haben.
Kommentare (2)
Siegfried ¶
16. August 2008, 08:25 Uhr
Hmmm, für so arg optimal halte ich die Lösung nicht gerade. Das title Attribut hat durchaus auch seinen Sinn. Es sind durchaus Bilder denkbar, die sowohl alt-Text als auch einen title haben.
Nützlich hingegen ist, zu wissen, dass ein vorhandenes title Attribut das falsche Verhalten des IE hier "korrigiert". Man könnte also als Tipp weiter geben, dass man in Fällen, in denen kein title Attribut gebraucht wird, besser (statisch) ein leeres title Attribut hinzufügt. So in der Art, wie man auch ein leeres alt Attribut hinzufügt für rein dekorative Grafiken, die nicht zum Inhalt beitragen.
Eine Javascript Lösung ist mir hier aber doch zu heikel :)
SonicHedgehog ¶
26. August 2008, 10:56 Uhr
@Siegfried: Genau.
Man könnte natürlich auch serverseitig den ganzen Code irgendwo durchlaufen lassen (durch ein Script) und ein title="" hinzuzufügen, wo noch keins vorhanden ist. Ist aber genau so blöde. Warum die Rechenzeit dafür aufbringen?
Am liebsten wäre mir den IE zu ignorieren und hoffen, dass alle umsteigen. Leider funktioniert das nicht. Die IE-User sind stur und besuchen halt andere Seiten :-(
Das endlos leidige Thema...