Hallo Lemmy,
eigentlich ist es ja egal, wie der IE den Text im alt-Attribut darstellt. Aber ich glaube die Diskussion lässt sich auf ein grundlegenderes Thema ausweiten.
Ich habe in der HTML-Spezifikation noch nie gelesen, dass das falsch ist.
http://www.w3.org/TR/html4/struct/objects.html#h-13.8 sagt uns nicht, dass es falsch ist. Aber es sagt uns, wofür es eigentlich da ist.
Da hast du Recht: Es sagt aus, dass der im alt-Attribut angegebene Text angezeigt werden soll, wenn das Bild nicht ordnungsgemäß gerendert werden kann ("when the element cannot be rendered normally"). Es sagt also wirklich nichts darüber aus, dass der Text als Tool-Tip angezeigt werden soll. Genauso wenig, wie es darüber aussagt, dass der Text angezeigt werden soll, wenn das Bild nur noch nicht geladen wurde.
Ich fordere also: Alle Browser dürfen ab jetzt alt-Texte bei Bildern nur noch anzeigen, wenn sie sicher sein können, dass das Bild nicht mehr geladen werden kann oder wenn der Anwender das Laden von Bildern verboten hat. ;-)
Nein, im Ernst: Siehst du, wie absurd es werden kann, wenn man sich genau an dem Wortlaut der Spezifikation festhält. Es gibt in Opera eine (sehr praktische) Option, mit der man verbieten kann, dass Text unter einer bestimmten Schriftgröße angezeigt wird (in Mozilla gibt's das glaube ich auch irgendwo). Wer diese Option benutzt, weist seinen Browser ausdrücklich dazu an, Seiten nicht so zu rendern, wie es die Spezifikation vorschreibt. Verdammt sei diese Option, lieber kaufe ich mir alle halbe Jahr neue Brillengläser, als dass ich die heiligen Vorschriften des W3C um eine nützliche Eigenschaft erweitere.
Mag sein, dass Du das als Feature siehst - die meisten HTML-Anfänger irritiert es hingegen. Schau doch mal im Archiv nach, wieviele Leute mit dem alt-Attribut in anderen Browsern als dem IE Texte als ToolTip anzeigen lassen wollen.
Richtig: Sie vermissen eben dieses Feature in anderen Browsern ;-)
Schau doch mal durch das WWW, wie viele Seiten mit Miniaturschrift es gibt. Mir macht das nichts aus, weil ich in meinem Browser eine Mindestschriftgröße eingestellt habe. Ich bemerke es nicht einmal (es sei denn, irgend ein Programm hat ein IE-Fenster geöffnet; dann merke ich oft erst, wie unleserlich der Text in "Wirklichkeit" ist). Genauso wie Opera- und Mozilla-Nutzer auf einer schlecht geschriebenen Webseite die Funktion vermissen, dass alt-Texte als Tooltips bei Grafiken eingeblendet werden, so vermissen auch IE-Benutzer die Funktion, Text unter einer bestimmten Schriftgröße zu verbieten (irgendwo kann man das glaube ich auch im IE einstellen, aber die Funktion ist so versteckt, dass sie keiner findet).
[...] Zumal aufgrund der weiten Verbreitung der M$-Produkte eine Vielzahl von Leuten das alt-Attribut mit dem title-Attribut verwechseln und entsprechend einsetzen, und sowohl Du als auch ich als Opera- bzw. Mozilla-User auf diese Informationen verzichten müssen.
Jetzt stell dir vor, Opera und Mozilla hätten zusammen einen Marktanteil von 90% (nur so ein Gedankenexperiment). Dann würden viele Seitenautoren gar nicht bemerken, dass ihre Schrift zu klein ist. Und der arme IE, der den Text gemäß den Richtlinien des W3C rendert, wäre dadurch benachteiligt. Jetzt haben Opera und Mozilla aber keinen Marktanteil von 90%, sondern der IE. Also darf dieser Browser alleine auf Grund seiner weiten Verbreitung für ein neues Feature verdammt werden.
Würde der IE nicht jeden Pups interpretieren wie er glaubt, es tun zu müssen, gäbe es auch weniger Seiten mit Codemüll.
Du hast den Sinn von HTML noch nicht verstanden. HTML ist nicht dafür da, dass alle Seiten genau so angezeigt werden, wie es der Autor will. Dafür ist PDF da. HTML ist dafür da, dass Seiten so angezeigt werden, wie es der *Leser* will. Deshalb wird in HTML immer mehr auf semantische Textauszeichnung gesetzt. Beispielsweise können Zitate in ein q-Element gepackt werden, statt mit einem i-Element fest (physisch) zementiert zu werden. Dabei sagt ein i-Element: "Das hier ist kursiver Text. Stelle den Text kursiv dar.". Ein q-Element sagt im Gegensatz dazu: "Das hier ist ein Zitat. Stelle den Text irgendwie so dar, dass man ihn als Zitat erkennt. Wie du das machst ist erstmal wurscht. Hauptsache der Anwender erkennt das als Zitat."
Ein anderes Beispiel: Ein alt-Attribut ist eben kein "physisches" Attribut, das sagt: "Das hier ist Text, der innerhalb der Ersatzgrafik angezeigt werden soll, wenn das Bild nicht geladen wurde.". Sondern auch ein alt-Attribut taugt für semantische Auszeichnung und sagt: "Das hier ist alternativer Text zur Grafik. Stelle den Text so dar, dass erkenntlich ist, dass er zu der Grafik gehört. Wie du das machst ist erstmal wurscht. Wichtig ist, dass er dem Benutzer eine _alt_ernative Informationsquelle zum Bild gibt."
Du siehst aus dem letzten Satz sogar, dass der IE das alt-Attribut auch nicht "missbraucht": Der Text im Tooltip ist eine _alt_ernative Informationsquelle für den Besucher.
So, jetzt hab' ich aber genug geschwafelt,
Robert