Hallo fireeye
... Irgendwo an einer anderen Stelle in diesem Thread habe ich ein Beweisführung gegen das Argument der Bedeutungslosigkeit von SPAN aufgebaut.
Nein!
Das hast du nicht.
Genauso gut könnte ich argumentieren, zwei Bleistiftstriche auf einer Wand
hätten eine besondere strukturelle oder bauphysikalische Bedeutung, weil der
Maler ja weiß (weil ich es ihm gesagt habe), dass die Wand dazwischen in
einer anderen Farbe gestrichen werden soll.
Wenn diese (dünne) Wand aber eine Verstärkung in Form einer tragenden Säule
enthält, dann hat diese Säule sehr wohl eine strukturelle, bauphysikalische
Bedeutung.
Jetzt kann ich den Maler (Browser) diese Säule so streichen lassen, entweder
wie er will (Browserstylesheet), oder ich sage ihm (mein CSS), wie ich das
Aussehen dieser Säule gern hätte.
Du hast recht, wenn du darstellst, daß EM genauso wie SPAN überladen wwerden könnte.
Was ist das für ein Quatsch?
CSS ist dafür gedacht, dass ich nicht auf das Browserstylesheet angewiesen
bin, sondern die HTML-Elemente entsprechend ihrer strukturellen Bedeutung
verwenden kann, auch wenn die optische Umsetzung in meinem Layout eine
andere sein soll, als sich die Browserprogrammierer für dieses Element
dachten.
Doch will sdas jemand wirklich? Nun mal eine ketzerische Frage: Würde es denn sinnvoll sein, EM so zu überladen, daß es bei der Ausführung die gleichen Eigenschaften von STRONG präsentieren würde?
Warum nicht?
Das hängt doch vom Layout ab.
Stelle dir ein sehr (vielleicht übertrieben) kontrastreiches Layout vor, die
verwendete Schriftart sieht kursiv total bescheiden aus.
Warum sollte dort für em (wichtigen Text) nicht font-weight:bold;
ohne kursive
Schrift und für strong (stark betont) nicht font-weight:bold; font-size:1.2em;
verwendet werden oder eine andere dominierendere Schriftart?
Nein, es wird nicht sinnvoll sein und so wie wahsaga ausführt, ist es äußerst dümlich, das HTML kaputt zu formatieren.
Da gebe ich dir ein wenig Recht.
h1 {
margin:0;
padding:0;
display:inline;
font-weight:normal;
font-size:0.4em;
}
dürfte wohl selten sinnvoll sein. ;)
Das Überladen von HTML-Elementen ist da sinnvoll, wo es darum geht Eigenschaften hinzuzufügen, nicht aber eine voreingestellte Eigenschaft zu entfernen!
Das wiederum kann nicht so absolut gesagt werden.
Es kann bei einem entsprechen Design z.B. durchaus sinnvoll sein, dem <p>
seine Ränder (oben und unten) zu nehmen, und stattdessen die erste Zeile
einzurücken oder den ersten Buchstaben größer, fett oder/und in einer
anderen Farbe anzuzeigen.
Oder ein Text, der so aufgebaut ist, dass die Überschrift des Abschnitts
gleichzeitig die ersten Worte sind. Dort kann es durchaus sinnvoll sein,
dieser Überschrift ihre Ränder zu nehmen und sie zum Inlineelement zu
machen. Sie steht dann in der ersten Zeile des Textes, im Textfluss und wird
durch Schriftart, -farbe, -größe oder einfach bold hervorgehoben.
... Die Frage ob es sinnvoll ist, EM, STRONG oder andere gleichartige Elemente mit anderen Eigenschaften zu überladen, ...
Schon wieder dieses "überladen"
Es hat nichts mit Überladen zu tun, wenn du das Browserstylesheet mit für
dein Design sinnvollen Werten überschreibst. Es ist sogar oft notwendig,
weil diese in manchen Eigenschaften doch unterschiedlich sind.
(z.B. Verwendung von margin oder padding und die Größe dieser)
... orientiert sich innerhalb DIESER Diskussion doch an dem Argument der Verfügbarkeit von CSS auf diversen Browsern. Die Diskussion um die Verfügbarkeit von CSS gleicht einer Diskussion um die 10. Nachkommastelle bei einer Zahl, die mindestens 10 Stellen vor dem Komma hat.
Bei diesem deinen Projekt vielleicht, du kennst die Nutzer und ihre Browser.
Meist sind die Nutzer aber unbekannt.
Ich kenne z.B. Leute, die nur einen langsamen Internetzugang haben, die
haben Grafiken und CSS deaktiviert oder benutzen Lynx, damit sie schnell die
Informationen finden. Wenn sie dann eine interessante Seite gefunden haben,
gönnen sie sich den Luxus, CSS und Grafiken zu aktivieren.
Ob sie sich bei der Suche und Auswahl auf einer Seite ohne logisch
(semantisch) sinnvoller HTML-Struktur zurechtfinden ...
Es gibt auch verschiedene Sehstörungen, auf bestimmte Farben oder
Farbkontraste bezogen, nicht nur Blinde, die auf Screenreader oder
Braillezeile angewiesen sind. Auch diese dürften das Autorenstylesheet
deaktiviert haben oder eventuell deaktivieren.
Wenn ich einmal meine speziellen Bedürfnisse außer acht lasse und nur auf die Verfügbarkeit von CSS abstelle, dann verbietet sich jegliches Überladen von HTML-Elementen, somit wäre der Einsatz von SPAN absolut sinnlos.
Jain
Der Einsatz von <span> für irgendeine Bedeutung des damit Ausgezeichneten
ist sinnlos!
Die logische Struktur der Seite wird mit HTML-Elementen ausgezeichnet:
Was ist _die_ Überschrift? -> h1
Was eine untergeordnete Überschrift? -> h2
Was ist noch eine Überschrift, die dieser aber untergeordnet ist? -> h3
...
Was ist eine Liste? -> ul, ol, dl (je nachdem)
Was ein Absatz? -> p
Tabellarische Daten? -> table
Welche Teile des Fließtextes haben eine besondere Bedeutung?
Und wie stark bzw. welche? -> em, srong, code, cite, dfn ...
Also, welches HTML-Element entspricht am besten der logischen, der
strukturellen Bedeutung?
Absolut unabhängig davon, wie irgendein Browser dieses darstellt!
Damit ist das Dokument ganz ohne CSS benutzbar, übersichtlich und
verständlich (im Rahmen der Möglichkeiten des jeweiligen User-Agenten).
Nun kommen wir zum "Überladen".
Nun gibt es durch CSS die Möglichkeit, das Aussehen jedes Elementes so zu
verändern, dass es zum gewünschten Design passt. Dabei kann es passieren,
dass designbedingt bestimmte Teile der Seite eine andere Formatierung
benötigen, ohne dass genau diese bereits in einem eigenen HTML-Element
eingeschlossen sind, dass mehrere Elemente zusammengefasst werden müssen,
um einen Angriffspunkt für CSS zu bekommen, oder dass irgendwelche Browser
ohne ein zusätzliches Element spinnen. Genau dann, und nur dann wird <span>
oder <div> verwendet.
... SPAN, das semantisch nur auf das Vorhandensein einer Funktion hinweist, ...
Es weist in der logischen Struktur des Dokumentes auf nichts hin.
Es sagt nur: "Hier zwischen den Strichen grün streichen."
Es hat mit dem HTML-Dokument und seinem Inhalt eigentlich nichts zu tun.
Das ist für mich eine glatte Vergewaltigung eines voreingestellten HTML-Elements, ...
Was hat irgendeine Voreinstellung mit _deinem_ Design zu tun?
Die Browser haben ähnliche Voreinstellungen für die Elemente, die sollen
verwendet werden, wenn _du_ nichts anderes sagst, oder wenn dem User die
Voreinstellung besser gefällt als dein Design, sonst nicht!
Auf Wiederlesen
Detlef
PS: Habe dieses Posting bereits 20:45 begonnen.
--
- Wissen ist gut
- Können ist besser
- aber das Beste und Interessanteste ist der Weg dahin!