Gunnar Bittersmann: CSS-Stylesheet einbinden aber IE Browser ausschließen?

Beitrag lesen

@@Sudr:

nuqneH

Ich versuche eine Website mittels CSS so zu gestalten, dass diese auch noch mit dem Netscape 4 Browser einigermaßen ansehnlich ist.

Das ist nicht dein Ernst, oder? Und warum willst du Mosaic nicht mehr unterstützen?

Der älteste Broswer, der vielleicht noch wert ist beachtet zu werden, ist IE 6. Aber auch nur vielleicht. Vielleicht nicht einmal mehr IE 7.

Auch wenn jetzt viele Aufschreien und sagen, dass man alte Browser vernachlässigen kann, ist es mir persönlich wichtig das bestimmte User die noch ältere Computer-Systeme nutzen (z. B. wegen Behinderung / Screenreader / Mund und Augensteuerungssysteme etc. pp.) eine vernünftige Seite angezeigt bekommen,

Nutzer mit solch veralteten Browsern haben ganz andere Probleme als fehlerhafte Darstellungen: ungestopfte Sicherheitslöcher. Nutzer veralteter Browser sind eine Gefahr für sich und andere. Die Verwendung veralteter Browser sollte nicht noch durch fehlerfreie Darstellung gefördert werden.

Screenreader intertessieren sich für Inhalte, d.h. für Markup. Mit ARIA-Attributen kann man ihnen Gutes tun, CSS ist ihnen egal (bis auf sowas wie display: none). Sie lesen, WAS auf dem Bildschirm ist, nicht WIE es auf dem Bildschirm ist. Darstellungsfehler sind ihnen völlig schnuppe.

Demnach ist eine CSS-Datei - die für alle Browser gilt - als gewaltiger Pluspunkt anzuerkennen.

Ja. Und nicht nur deshalb.

Zum anderen sehe ich aber auch, dass in Zukunft ein anderer Browser oder eine neue Browserversion auf ein reines CSS-Hack fälschlicherweise reagieren kann. Es muss nicht aber die Möglichkeit besteht.

Nein, nicht wirklich.

Abgesehen davon gefällt mir die Wartbarkeit gegenüber reinen CSS-Hacks besser.

Ein Stylesheet für alle Browser ist deutlich besser wartbar als getrennte Sttylesheets für verschiedene Browser (es sei denn, diese werden mit CSS-Präprozessor aus einundderselben Quelle generiert).

Es sollen alle Internet Explorer Browser bis Version 9 "eine bestimmte" CSS-Datei nicht laden. Mit style media und der @import-Regel in Verbindung mit all ist dies ja möglich.

Das sollte man aus Performanzgründen nicht tun. Verwende zum Einbinden von Stylesheets das link-Element, nichts anderes.

Wenn Du keinen Sinn darin siehst, IE 9 anders zu behandeln als Nicht-IEs, dann formatierst Du wahrscheinlich nur für moderne Browser.

IE 9 _ist_ ein (halbwegs) moderner Browser. Er kann eine ganze Menge CSS 3, eine Sonderbehandlung hat er nur äußerst selten nötig.

Den IE 10 mit Conditional Comments zu behandeln würde sowieso nicht mehr funktionieren, da er diese Kontrollstruktur nicht mehr unterstützt. Dieser Browser würde dann unausweichlich auf die modern.css zugreifen,

Und das ist auch gut so. IE 10 dürfte zu den modernsten Browsern zählen.

auch wenn mit all explizit alle IEs ausgeschlossen wurden. Man kann nur hoffen, dass sich Microsoft endlich mal an die Standards hält.

Das tun IEs spätestens seit Version 8.

Ich wollte lediglich nur wissen ob man den Ausschluss der älteren IEs irgendwie mit dem <link> -Tag hinbekommen kann anstatt mit dem <style>-Tag.

Mit conditional comments. Aber das weißt du ja bereits.

Qapla'

--
„Perfektion ist nicht dann erreicht, wenn es nichts mehr hinzuzufügen gibt, sondern wenn man nichts mehr weglassen kann.“ (Antoine de Saint-Exupéry)