Wie beschreibt man die Unzulänglichkeiten des Internet Explorer
-
Browser
- 10 Nov, 2008
ReTweet - Kommentare (19)
In unserem letzten Artikel Internet Explorer bald mit Webkit-Engine? wurde von einem Leser gefragt, ob es möglich wäre ihm als nicht Webdesigner/Webentwickler die Schwierigkeiten des IE einmal darzustellen. Seine Frage möchten wir daher gern an unsere Leser weitergeben und diesbezüglich nach Euren Erfahrungen im Umgang mit dem Internet Explorer fragen. - "Ist es "max-width", ist es "px" oder sind es andere Dinge, wie moderne CSS Selektoren? Ist es eine Designfrage (Kunde wünscht perfektes Design) oder Formulare oder eShops?" - Warum also macht(e) der IE so viele Schwierigkeiten? Und welche? Ihr könnt zur Beantwortung seiner Frage(n), auch gern auf bereits bestehende Artikel zu dieser Problematik verlinken.




















10 Nov 2008, 09:29
Mein Liebelingsproblem ist bis heute die Darstellung des Tabellenrahmens. Diese eine Eigenschaft macht meist schon ein Extra-Stylesheet für den IE notwendig, wenn man Wert auf "Sauberkeit" legt, also darauf dass es überall gleich aussieht. Es ist mir ein Rätsel wie ein Programmierer auf die Idee gekommen ist den Inhalt einer Tabelle zu beschneiden, bevor er einen Rahmen drumlegt. Das ist wie wenn ich das Picasso-Gemälde am Rand um 5 cm abschneide, damit ich den Rahmen drumlegen kann. Ein Hoch auf den IE ^^
Alternativ gibt´s natürlich auch so schöne Problematiken wie die fehlende Funktionalität von getElementsByName() in JavaScript oder die noch viel zu stark vorhandene Verbreitung des IE in Version 6, der nicht einmal PNG-Grafiken transparent darstellen kann. Ja ja, es gibt Hacks, aber sieht das Rendering noch gut aus ? Wohl eher nicht.
Man könnte eine Menge über den IE schreiben, zumal er jeden zweiten, dritten Tag irgendwo zeigt, dass er unfähig ist Standards umzusetzen. Man entwickelt ein Layout, dass in den (neben dem IE) am meisten genutzten Browsern (Firefox, Opera, Safari) funktioniert und kaum schmeißt man den IE an ... zack ... ist es mehr und manchmal doppelt soviel Arbeit.
Jetzt habe ich ganz vergessen, dass es für Laien verständlich sein sollte ;)
Ja, das kommt von dem "leichten" Groll gegenüber einem solchen Kusntwert der Technologie. Also hier vielleicht ein etwas einfacherer Darstellungsversuch.
Die Entwickler des Internetexplorers im Hause Microsoft weigern sich zuweilen Standhaft die vorhandenen Standards für CSS, HTML und JavaScript so umzusetzen wie sie sind. Es ist ihnen Lieber eine "freie Interpretation" des ganzen zu schreiben, so dass dem Entwickler von Internetseiten ein lustiges, buntes und zuweilen sogar spannendes Rätselraten den Alltag verschönert.
Dabei fängt es harmlos mit einfachen Problemen an, wie dem Umstand dass der Internet Explorer in seiner 7er Version viel zu wenig Verbreitung findet und man einiges an Kraftakten aufbringen muss, um immer die Kompatibilität zum IE 6 gewährleisten zu können. Das liegt zum einen daran, dass die alte Version viele Standards noch nicht einmal vom Namen her kennt und zum anderen, dass die wenigen Standards die dem 6er bekannt sind, eben "frei interpretiert" sind.
Die gerade schon beschriebenen Probleme mit einigen JavaScript-Befehlen und PNG-Grafiken lassen das Herz eines Entwicklers immer dann höher schlagen, wenn es darum geht die kreativen Ergüsse des voranstehenden Design-Kollegens umzusetzen. So manches "tolle Feature" wird mit dem Internet Explorer zur Programmier-Safari ;)
10 Nov 2008, 09:40
Also allein die Positionierung im IE ist der Hammer. Es ist sowieso eine gute Idee, allgemein alle relevanten Tags mit einem reset zu versehen (margin, padding auf 0 und solche Sachen). Aber ohne müsste man für beim IE noch mehr schauen, dass die Seite zumindest in etwa gleich aussieht, wie in allen anderen Browsern auch. Jetzt mit der 8ten Version wird vieles besser, aber wird wohl noch ein paar Jährchen dauern, bis der sich durchgesetzt hat.
10 Nov 2008, 09:44
Im großen und ganzen hat jeder Browser seine Eigenheiten und unter Umständen auch Fehler. Verglichen mit den Unterschieden zum und zwischen den IE-Versionen ist das alles Kleinkram.
IE6 hat außer der fehlenden JS-Unterstützung für bestimmte Sachen, den Nachteil eines nicht eingebauten xmlHttpRequest-Objektes, dh. für Ajax wird ActiveX verwendet, die JS-Engine ist zusätzlich saulahm, die Abstände und Rahmen berechnen sich im IE anders als W3C-Standard, und transparente PNGs sind absolutes No-Go. Neulich hab ich dazu sogar was geschrieben :D
http://campino2k.de/2008/11/05/7-jahre-alte-gummis-oder-wie-microsoft-das-web-ausbremst/
Ich frage mich immer und immer wieder wenn ich die Web-Stats der Seiten ansehe, die ich gestaltet habe, wieso noch immer 50% der Internet-User mit MS IE 6 surfen.
Jetzt wird meistens eh schon jeder User mit Updates zwangsbeglückt und trotzdem surft die Hälfte mit diesem alten klobigen Ding.
Jeder, dem ich nur kurz die Funktionalität eines Firefox oder Opera gezeigt habe, hat sich auf Nimmer-wiedersehen vom IE getrennt.
Ich glaube es Bedarf einer grundlegen Aufklärung von Usern...
10 Nov 2008, 16:30
Alle Browser haben so ihre kleinen Problemchen, beim IE (vorallem 6) haben diese Problemchen mit der Zeit kunstvolle Namen bekommen: Peekaboo-Bug, Guillotine-Bug, 3-Pixel-Jog. Was mich am meisten nervt, ist dass bei Microsoft jahrelang kein Finger gerührt wurde, um die Bugs zu beheben. Da fragt man sich als kleiner Webdesigner schon mal, warum man die Unzulänglichkeiten eines Weltkonzerns ausbügeln muss...
10 Nov 2008, 20:52
Fehler wie das fehlende max-width oder min-width wurden ja schon genannt. Folgender Fehler ist ebenfalls bekannt, nervt mich aber besonders: Ein width: 100% bezieht sich im IE nicht auf den umgebenden Container, sondern auf die Fensterbreite. Wenn ich also z.B. mein Konterfei im Navigationscontainer skalieren möchte, dann möchte ich, dass es 100% der Breite des Navigationscontainers einnimmt. Im IE leider unmöglich.
Folgende zwei Fehler des IE sind kaum oder gar nicht bekannt, obwohl ich schon seit Jahren immer mal wieder darauf hin weise:
Folgendes Konstrukt: Ein Link (a) enthält ein button, der einen Text enthält. Ein völlig legales Konstrukt. Es geht dabei um Navigationsbuttons. Wenn ein Button wie ein Button aussieht, wie ein Button funktioniert, wie ein Button gedacht ist, letztendlich ein Button _ist_, dann sollte er auch button genannt werden. Ich meine hier nicht das Element input type="button", sondern das Element button (gibt's sein html 4). Der IE zeigt diesen zwar korrekt an, und bei Darüberfahren mit der Maus wird das Ziel, das durch den Link angegeben ist, auch korrekt in der Statuszeile angezeigt, aber ein Klick auf den Button führt zu gar Nix. Um den IE zufrieden zu stellen, muss man die Navigation in diesem Fall als Javascript Event Handler duplizieren. Und ohne Javascript funktioniert hier gar Nix.
Zweitens: Javascript, das nachtträglich per Javascript erzeugt und eingebunden wurde, funktioniert nicht im EI. Folgender Gedanke: Ich habe einen Javascript Styleswitcher. Der sol zwischen verschiedenen Stilen umschalten. Nun möchte ich aber, dass die Auswahlbox für die alternativen Stile nur angezeigt wird, wenn auch Javascript aktiviert ist. Wenn es nicht aktiviert ist, dann ist nämlich eine nicht funktionierende Auswahlbos eher irritierend. Also füge ich diese Auswahlbos einschließlich des Javascript Event Handlers erst per Javascript ein. Das funktioniert so weit, dass die Auswahlbos auch wirklich per Javascript eingefügt wird. Aber das dort angegebene Javascript zum Umschalten des Stils funktioniert einfach nicht. In anderen Browsern schon. Nur eben nicht im IE. Dabei benötigt nur der IE diesen Javascript Styleswitcher, die anderen Browser können zwischen den alternativen Stilen mit Bordmitteln umschalten. Also, der einzige Browser, der hier die Javascript Krücke braucht, kann dsa per Javascript eingebundene Javascript leider nicht ausführen.
Beide Bugs veröffentliche ich seit Jahren immer und immer wieder, aber es passiert Nichts. Es wird keine Notiz davon genommen.
10 Nov 2008, 21:30
Also ich würde hier noch nennen, dass der IE um verlinkte Bilder einen Rahmen macht, wenn man nicht "border="0" angibt.
10 Nov 2008, 23:58
Matthias, ich verstehe nicht ganz, was Du eigentlich willst. Du kennst die einschlägigen Seiten, welche die Mängel des IE an zahllosen Beispielen beschreiben, in erster Linie die Probleme die auch der IE 7 nicht abschaffen konnte: CSS und Sicherheit.
Warum sollte man die »Grundlagen« auf dem schwächsten Glied der Browserkette ausarbeiten? Das bedeutet doch eine Beschneidung der Möglichkeiten die das Web heute bietet, zu Gunsten eines nach wie vor schlechten Produktes von Microsoft. Kein Fortschritt, weil immer noch eine Mehrheit der User den IE benutzt? (In erster Linie stammen diese Zahlen von unbedarften Anwendern, die noch nie was von anderen Browsern gehört haben bzw. von armen Angestellten, die in der Firma keine alternativen Browser verwenden dürfen.). Das ist unlogisch.
Zum Glück entwickelt sich mittlerweile ein Trend dahin, dass für den IE (speziell 6) nur die notwendigen Elemente einer Seite optimiert werden und alle modernen Funktionen einfach weggelassen werden.
Darüber hinaus ist sich Microsoft selbst nicht sicher, wie es mit dem IE weitergehen soll. Vielleicht doch Webkit als Engine oder ganz einstampfen? Die Gerüchteküche brodelt und irgendwas ist immer dran.
Was Du im anderen Beitrag mit der Serverdarstellung/-nutzung meinst, ist mir nicht ganz klar. Aber was hat das Serverinterface mit dem allgemeinen Web zu tun?
11 Nov 2008, 08:05
@John
ich verstehe nicht ganz, was Du eigentlich willst.
Wahrscheinlich nur eine etwas bessere Einstellung zum IE und das Erkennen, das FF und Co. ebenfalls Bugs und Sicherheitslöcher haben.
Grundlagen mit dem schwächsten Glied auszuarbeiten ist sehr sinnvoll, da Grundlagen geschaffen werden. Was nichts über den weiteren Design/Layout Aufbau aussagt. Beispiel für Grundlagen sind Seitenbreite/Höhe (100% mit Footer oder ohne), Navigation, Inhaltsbereiche und Skalierbarkeit (IE auf dem PDA zum Beispiel).
Hallo Matthias,
die Grundlage sollte immer das schwächste Glied sein. Generell ist das so richtig. Für mich liegt der Haken an einer ganz anderen Stelle: Gewissenskonflikte.
Der Kunde/ich möchte eine Webseite, die von möglichst vielen Menschen betrachtet werden kann. Gleichzeitig sollen mittlerweile in fast jede Webseite aber auch neue Erkenntnisse zu Nutzerverhalten und optimierten Bedienungen einfließen (siehe z.B. AJAX und JavaScipt-Effekt-Bibliotheken). Selbst wenn der Kunde sagt: „Lass den IE 6 einfach weg.“, kann ich das doch nicht machen. Schließlich ist es auch meine Aufgabe den kunden zu beraten. IE 6 weglassen kann je nach Zielgruppe bedeuten, dass die Hälfte der Besucher die Seite nicht effektiv nutzen kann.
Um das auch mit dem schwächsten Glied zu vereinbaren ist ein teilweise ungeheurer Mehraufwand zu leisten. Wer bezahlt mir den? Der Kunde? Der zweifelt doch an meinen Fähigkeiten wenn ich ihm sage, dass der meistgenutze Browser ungenügend aus heutiger Sicht funktioniert. So wird doch eine Distanz aufgebaut, die nicht gut für das Klima zwischen mir und dem Kunden sein kann. Also muss ich geradezu „klammheimlich“ die Funktionen auch dem IE beibringen.
Das gibt es in vielen Bereichen: Automechaniker, die an vergammelten alten Karossen rumschrauben müssen, obwohl’s schon seit 10 Jahren ein Nachfolgemodell gibt, Netzwerkadmins, die uralt Modems integriegen müssen, usw.
Das ist einfach frustrierend.
11 Nov 2008, 09:37
Grundlagen mit dem schwächsten Glied auszuarbeiten, wenn dieses (nämlich der IE 6) mittlerweile 7 Jahre alt ist und die Entwicklung des Webs verzögert, ist überhaupt nicht sinnvoll.
Das Argument der Bugs und Sicherheitslöcher zieht nicht wirklich, wenn solche in modernen Browsern auftauchen, wird in kürzester Zeit ein Update bereitgestellt. Beim IE muß im Regelfall bis zum monatlichen Windowsupdate warten, wenn denn gleich was passiert. Auch das ist ein Grund der gegen die IE spricht: die stiefmütterliche Behandlung durch Microsoft, die vor allem 5 Jahre lang keinen Grund sahen, den IE weiterzuentwickeln. Erst als jetzt wieder echte Konkurrenz auftauchte, wurde man zögerlich aktiv. MS sieht - sehr realistisch - seine Felle in Sachen Browser davon schwimmen und es macht nicht mal den Eindruck, als wenn sie das sonderlich stört. Warum soll also eine »bessere Einstellung« gegen ein sterbendes Produkt nötig sein? Bzw. dieses Produkt als Grundlage für die heutige Gestaltung des Webs nehmen?
Ich kann nach wie vor nicht erkennen, warum man dem IE auch nur einen Funken mehr Respekt entgegen bringen sollte. Er hat seit 2001 keinen mehr verdient.
11 Nov 2008, 09:44
Noch eine Ergänzung zu ein paar Kommentaren hier: Wenn der IE einige Einstellungen anders voreingestellt hat als andere Browser, dann ist das kein Fehler des IE. So weit ich weiss, gibt es dazu keine Vorgaben des w3c. Ein Fehler wäre es z.B., wenn der IE den Ramen um verlinkte Bilder auch mit border: none nicht weg bekäme. Tut er aber.
Solche Voreinstellungen sind möglicherweise von Microsoft etwas ungeschickt gewählt, aber ein fehler im eigentlichen Sinn sind diese Voreinstellungen nicht. Fehler hat der IE genug. Echte Fehler.
Neben Fehlern nervt auch immer wieder, dass bestimmte Standards gar nicht umgesetzt werden. So kann der IE z.B. immer noch kein echtes xhtml anzeigen. Er zeigt eine xhtml-Seite nur an, wenn man ihm diese als html (text/html) verkauft. Dann behandelt er diese einfach wie eine weitere fehlerhafte html Seite. Ein Umstieg auf moderne und zeitgemäße Technik wird damit massiv ausgebremst. Der IE kann's halt einfach nicht.
Auch in Punkto css patzt der IE, was die Implementierung von Standards angeht. Alternative Stylesheets? Im IE Fehlanzeige. Abgerundete Ecken? Fehlanzeige. Das wäre so die wichtigsten Punkte, die mir so einfallen, die auch der IE8 noch immer nicht beherrscht.
11 Nov 2008, 09:59
Ach, noch was, weil's mir grade einfällt: Das "Feature", Seiten und Seitentext per Ctrl-+ zu vergrößern, resp. das Fehlen dieses Features in älteren IE ist kein Fehler des IE! Es ist ein Fehler der Webdesigner. Die Vorgaben, was korrekt ist, gibt noch immer das w3c. Wenn man das konsequent und rücksichtslos anwendet, dann ist eigentlich die Implementierung dieses Features ein Fehler, denn damit werden die w3c Standards ausgehebelt. Leider ist dieses Feature ein notwendiger Fehler, weil die "Webdesigner" das einfach nicht auf die Reihe kriegen.
Auch diese Seite nervt diesbezüglich etwas. Ich kann nicht besonders gut sehen, und die Schrift ist mir zu klein. Warum kann ich diese Seite nicht mit der Schriftgröße bekommen, die ich mir eingestellt habe? Schließlich weiss ich doch wohl besser, was ich lesen kann.
Wenn ich mir die Schriftgröße hier vergrößere, dann passt die Größe der Eingabefelder nicht mehr. Der Text wird unten abgeschnitten. Auch eine unnötige Barriere. Naja, wenigstens wird in der textarea hier der Text nicht rechts abgeschnitten, wie in vielen Blogs, wo ich einen Teil des Kommentars blind eintippen muss.
Ich könnte auch noch sarkastisch werden und fragen, was bedeutet eigentlich "absen"? Das steht nach der Textvergrößerung auf dem grünen Button unten. Aber man weiss ja, was gemeint ist.
11 Nov 2008, 12:06
Was den sog. Page-Zoom angeht, hast Du Recht. Allerdings ist schon allein die Notwendigkeit dazu ein Versagen der Webdesigner.
Was Pixel als relative Einheit angeht, hast Du ebenfalls Recht. Nur, relativ zu was? Früher war ein Pixel eine Größe relativ zu einer physikalischen Gegebenheit. Ein Pixel auf einem Monitor hat nun mal eine gegebene Größe. Theoretisch auch heute noch. Pixel auf verschiedenen Monitoren können in der Tat verschieden groß sein. In der Regel ist ein Pixel auf einem älteren und/oder einem kleineren Monitor größer als auf einem neueren und/oder größeren Monitor. Heutzutage kommt dazu, dass ein logisches Pixel abhängig von der gewählten Bildschirmauflösung nicht mehr identisch sein muss mit einem physikalischen Pixel.
Ich kann, wie ich schon mehrmals geschrieben habe, schlecht sehen. Übermorgen habe ich dazu einen Termin in dre Augenklinik. Mal sehen, warum. Ich habe mir also wegen meiner schlechten Sehfähigkeit einen großen modernen Bildschirm geleistet. Was passiert nun mit Schriften, deren Größe in px festgelegt wurde? Nun, sie werden auf meinem großen und hochauflösenden Monitor noch kleiner dargestellt. Weil auf diesem Monitor ein Pixel eben noch kleiner ist als auf einem älteren Monitor.
Eine mögliche absolute Größe wäre eine Größe in cm. Doch warum überhaupt eine Größe festlegen? Gut, Größen relativ zu einer Basisgröße festlegen macht Sinn. Aber diese Basisgröße sollte nicht vom Webdesigner festgelegt werden, sondern vom Benutzer. Denn nur der weiss, welche Größe er zum lesen braucht.
Was diese Seite hier angeht: Nun, sie ist für mich nicht unbenutzbar. Ich habe die Firefox Extension "nosquint", mit der ich den Text hier auf 120% vergrößere. Das reicht, um sie für mich benutzbar zu machen. Insofern ist das hier ein wirklich marginales Problem. Dennoch, marinal oder nicht, es sind unnötige Probleme.
11 Nov 2008, 12:42
@John
1. Pixel sind eine relative Einheit (siehe CSS-Spec) und müssen sich beim Skalieren ändern. Bug des IE
IE ab Version 5 - Menu Extras - Internetoptionen - Register/Tab "Allgemein"
Dort Button "Eingabehilfen" und bei "Formatierung"
[x] "Schriftgradangaben auf Webseite ignorieren"
setzen.
Somit vergrößert IE 5 - 8 den Text auch bei px-Angaben. Was ab IE 7 nicht mehr notwendig ist.
11 Nov 2008, 16:25
@John: Dem ist wohl so. Ganz sicher ist ein komplett medienunabhängiges Design (das geht weit über ein em-basiertes Layout hinaus) deutlich schwerer und aufwändiger. Und Kostendruck und Zeitdruck sind ganz sicher Faktoren. Insofern weiss ich, dass meine Vorstellung eine Idealvorstellung ist, und in der Realität eben Abstriche gemacht werden müssen.
Was mir allerdings ganz lieb wäre, wenn dies Notwendigkeit von Abstrichen nicht überall dazu führen würde, abstriche zur Norm zu machen.
11 Nov 2008, 21:30
Verschiedentlich wird hier gefragt, warum das IE6-Aufkommen noch so hoch sei. Darüber habe ich mich auch schon gewundert, weil ich vergaß, das man als an der ganzen Browser-Problematik nicht interessierter, normaler WinXP-User den IE7 eben nicht automatisch mit einem Windows-Update bekommt. Ich persönlich kenne im Kollegenumfeld - das nicht so web-affin ist - niemanden, der den IE7 manuell installiert hat.
24 Nov 2008, 20:36
@Siegfried
IE Buttons
Zu dem Thema Buttons in A Tags oder A Tags in Buttons, bisher habe ich BUTTON Tags immer im Formular Kontext verwendet und nicht im LINK Kontext weil dann würde ich nur einen A Tag verwenden. Laut W3C ist das auch korrekt, also der IE verhält sich zumindest diesbzgl. richtig weil es dafür ja nicht vorgesehen war. Vielleicht nimmst du "Button" zu wortwörtlich den eigentlich hast du ja vor einen LINK zu setzen. Semantisch ein A Tag. Wenn man ihn aber Visuell wie einen Button aussehen lassen möchte dann ist das doch eher eine Sache für dein CSS.
es wird ganz einfach Zeit, dass dieser Browser verschwindet oder Microsoft sich endlich an die WC3 vorgaben hält und nicht immer sein eigenes Süppchen kocht.