[Wikide-l] Re: MS Internet Explorer loswerden
Christian Thiele
APPER at apper.de
Do Nov 10 23:33:00 UTC 2005
Hi,
Paul Ebermann <Paul-Ebermann at gmx.de> schrieb am Thu, 10 Nov 2005 13:42:42
+0100:
> Das könnte man so regeln, dass man auf diese Browserspezifischen
> Fixes (Fixe?) verzichtet und meinetwegen mit deinem
> Level 1 darauf hinweist, dass der Browser daran schuld ist,
> nicht wir.
die Sache ist die, dass praktisch alle Fixes aufs Design abzielen. Wenn
die Reiter plötzlich einen kleinen Abstand haben, dann wird niemand das
auf den IE zurückführen. Auch nicht wenn da steht "wenn es komisch
aussieht, liegts am IE" - zumal es ohne längere Erklärung sowieso albern
wär, wenn man nicht weiß, wie es aussehen soll. Eine längere Erklärung
liest aber kaum jemand.
Christian Eyrich <VJBDONFBFOPG at spammotel.com> schrieb am Thu, 10 Nov 2005
16:49:30 +0100:
> Also rausnehmen aller Quirks für welche Browser auch immer ist OK. Aber
> aktiv Nutzer oder User Agents raushalten ist nicht OK. Wenn sich
> letzteres indirekt in ersterem auswirkt ist das auch OK.
Und da wirds kompliziert. Die Standards des W3C sind in vielen Bereichen
nicht so eindeutig, wie man denkt (Beispiel: Vererbung des title-Attributs
in HTML; Umgang mit leeren Elementen, bspw. legend in fieldsets). Jede
einzelne Eigenschaft scheint logisch und eindeutig, setzt man das ganze
aber zusammen gibt es immer wieder Fälle, bei denen es einfach nicht so
eindeutig ist. Wenn man nun mit der Firefox-Interpretation plant und dann
alle Quirks rausnimmt, dann entspricht das in etwa dem Vorgehen, das man
vielleicht von Microsoft erwarten würde. Nun sind die IE-Workarounds meist
nicht von dieser Art, sondern es handelt sich um eindeutige Fehler oder -
was oft vergessen wird - in den meisten Fällen um Dinge, die der IE
einfach nicht kann. Auch der Firefox kann nicht alles, im Endeffekt gibt
es keinen Browser der alles kann - deshalb keinen Workaround anzubieten,
obwohl es irgendwie möglich ist, wäre nicht in Ordnung.
Ein Blick auf die CSS-Korrekturdatei für den IE bestätigt dieses Bild.
Einige Beispiele:
/* show the hand */
#p-logo a,
#p-logo a:hover {
cursor: pointer;
}
Dieses Fragment sorgt dafür, dass der Mauszeiger beim Überfahren des
Wikipedia-Logo links oben zur "Hand" wird. Nun klingt das blöd, man muss
dazu aber wissen, dass das eigentliche Link-Element leer ist - das Bild
wird als Hintergrundbild eingebunden, es ist also streitbar, ob dies
Inhalt ist (auch wenn das vermutlich nur wegen des IE als Hintergrundbild
eingebunden wird, aber das ist eine andere Sache). Das W3C sagt nicht, wie
sich ein Link-Element verhalten soll, wenn es leer ist (und selbst sonst:
"The exact rendering depends on the user agent"). Wieso sollte bei einem
Link-Element, das leer ist, ein Mauszeiger angezeigt werden? Konkret hat
sich das aber mit dem IE7 auch erledigt, da dieser eine Zwischenlösung
benutzt: der Mauszeiger ist dort als Hand sichtbar, wo auch das
Hintergrundbild sichtbar ist. Diese Lösung scheint mir sehr korrekt und
ergibt Gestaltungsmöglichkeiten, die Firefox nicht bietet. Und jede dieser
Interpretationen ist meiner Meinung nach korrekt.
Anderes Beispiel:
#bodyContent a.external {
background: url(external.png) center right no-repeat;
padding-right: 13px;
}
Dies ist ein Fix, damit das Extern-Link-Symbol bei allen externen Links
angezeigt wird. Die "normale" Version (für Firefox etc.) zeigt je nach
Link ein anderes Symbol an (z.B. für E-Mail etc.). Der dafür verwendete
Syntax entspricht aber keinem gültigen Standard. Er wird zu 100% so im
CSS-3-Standard verabschiedet werden, aber den gibt es nunmal noch nicht.
Diese Sache fällt also unter die Kategorie "Fixes, um Sachen wenigstens
halb umzusetzen, die der IE noch nicht kann". Aber wie gesagt: ich kann
auch viele Sachen aufzählen, die Firefox noch nicht kann, obwohl sie schon
offizielle Standards sind (man schaue sich nur mal die
Soundausgabe-CSS/Print-CSS an oder die automatische Nummerierung).
Worauf ich hinaus will: die Idee ist abzulehnen. ;)
MfG
Christian Thiele
PS: Kommen nur bei mir die Mails dieser ML teilweise stark verspätet an?