02.02.06SPAN - DIV der Inline Elemente

DIV dienen dazu, eine Website in verschiedene Bereiche zu gliedern. Semantisch haben diese Elemente keine Relevanz, sind dennoch Bestandteil guter Websites. Sie werden zur Einteilung einer Website in verschiedene Bereiche genutzt. Sie dienen Präsentationszwecken bzw. gestalterischen Aufgaben im Webdesign.

Ähnlich verhält es sich mit den SPAN-Elementen. Diese Inline Elemente ermöglichen die gezielte – andersartige – Gestaltung von Bereichen im Textfluss. Aber das Element eignet sich auch gut, wenn es um das Verständnis der Inhalte geht, wie z.B. bei Sprachwechseln.

<p>Im Englischen nennt man sowas
<span lang="en">clean and clear</span>.</p>

Nach der kurzen Passage innerhalb des SPAN, für die die Sprache auf Englisch (en) gesetzt wurde, geht es mit der eigentlichen Dokumentsprache weiter. SPAN haben, genau wie auch die DIV, keinen Einfluss auf die Logik des Dokuments. Sie besitzen keine semantische Relevanz. Gerade der Aspekt der Semantik bzw. eine imho unsaubere Interpretation von der Semantik einer Website, hat dazu geführt, dass mancher Orts SPAN kategorisch vom Einsatz auf einer sauberen Website ausgeschlossen wurden.

Nicht sinnvoll, leider aber noch zu oft zu beobachten, ist der Einsatz zur Darstellung von Zitaten etc. mit entsprechend gestalteten SPAN-Elementen.

So bitte nicht. Für Zitate gibt es bessere Möglichkeiten. Dazu sollen SPAN-Elemente nicht missbraucht werden.

Fazit

SPAN dürfen eingesetzt werden und oft ist man dringend auf ihren Einsatz angewiesen. Das oberste Gebot, wie auch bei den DIV: Zuerst über zur Verfügung stehende Elemente nachdenken. Sieht man dann keine andere Lösung, darf über den sparsamen Einsatz von SPAN nachgedacht werden.

Links zum Thema

Bookmarks

Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • del.icio.us
  • DotNetKicks
  • Furl
  • MisterWong
  • NewsVine
  • Spurl
  • Technorati

10 Antworten

  1. Stefan am Feb 5, 2006 | Reply

    Ein einzelner Bereich einer Webseite muss nicht zwangsläufig in Divisions, DIV, geliedert werden. Dies geschiet in erster Linie aus Design-technischen Gründen. Ein Bereich

    wäre ebenso denkbar wie eindeutig und müsste sogar noch nicht einmal als Individualformat im CSS auftauchen.

    Bei inline Elementen lassen sich dank XML-basierter Webseite auch Elemente weiterer Namensräume einbinden und ein

    clean and clear

    wäre auch möglich.

  2. Haschek am Feb 7, 2006 | Reply

    Woher nimmst du die Erkenntnis, dass sowohl DIV als auch - entsprechend deiner Überschrift - SPAN Elemente keine semantische Relevanz haben? Steht das irgendwo oder hast du das eben festgelegt? Ich würde mich über eine Quellenangabe freuen :)

    Ich denke, dass beiden Elementen durchaus eine semantische Bedeutung zugestanden werden kann (wenn auch nicht so einfach und direkt wie z.B. P), du zeigst es im Falle des SPAN doch selber in deinem Beispiel.

    Oder wie würde man das HTML2-Element SECTION denn momentan umsetzen, doch evtl. mit DIV, somit scheint auch hier durchaus Semantik dabei zu sein. Nicht?

  3. Björn am Feb 7, 2006 | Reply


    , du zeigst es im Falle des SPAN doch selber in deinem Beispiel.

    Es hat mich schon gewundert, dass es so lange gedauert hat, bis dieser Einwand kam.

    Die Bedeutung bei der Sache bringt aber das erweiternde Attribut “lang” mit, dass auch für viele andere Elemente Anwendung finden kann.

    DIV und SPAN sind hauptsächlich der Präsentation der Inhalte dienlich. Im Fall der DIV meist der Dimensionierung bestimmter Bereiche über die entsprechenden CSS-Eigenschaften.

    Für Fälle, in denen bessere Elemente zur Verfügung stehen, sollten diese verwendet werden. Da für für Hauptbereiche keine besseren Möglichkeiten haben, nehmen wir DIV. Natürlich Grenzen wir so logische Einheiten der Website ab, diese sind zunächst aber mal leer. Sie enthalten dann wiederum Elemente, die Inhalte der Website tragen.

    Wenn Du das XHTML2 Element SECTION meinst, dann ersetzt man bzw. setzt man bisher dieses nicht mit DIV um. Es wird ja erst noch kommen. Sondern umgekehrt wird dieses neue Element dann bessere bzw. erweiternde Möglichkeiten bieten, Webdokumente logisch und sinnvoller anzuordnen, die DIV nicht besitzen. Wobei dann DIV dann weiter Verwendung finden werden - nicht ersetzt werden.

  4. Siegfried am Feb 7, 2006 | Reply

    Wie ich schon zu den divs angemerkt habe, das Gleiche gilt auch für span: Diese Elemente haben zwar keine semantische Vorbelegung, aber deswegen kann man noch lange nicht davon ausgehen, daß sie keine semantische Relevanz haben. Ganz besonders fatal ist es, wenn man divs und spans nur als optisches Gestaltungsmittel verwendet, womöglich wegen der fehlenden semantischen Relevanz. So sind weder div noch span gedacht.
    Beides sind Container, denen man im Gegensatz zu anderen Containern wie z.B. h1 erstmal eine Bedeutung geben muß. Das tut man z.B. durch passende Klassennamen oder IDs. Bei span macht zusätzlich auch lang Sinn. Auch ein title könnte bei divs und spans eventuell Sinn machen. Aber ganz bestimmt nicht, um damit das Aussehen dieser Elemente zu beeinflussen, sondern um die Semantik dieses Containers festzulegen.

    Ich wüsste z.B. nicht, warum der Inhalt eines span lang=”en” irgendwie optisch anders dargestellt werden sollte als der restliche Text. Beim Vorlesen hingegen macht das schon einen Unterschied. Ein span lang=”en” dient ganz im Sinne des Semantik Markup nicht der Festlegung des Aussehens, sondern der Festlegung der Bedeutung. Die fehlende semantische Vorbelegung von div und span heißt noch lange nicht, daß man durch die Verwendung dieser Elemente auf semantisches Markup verzichten kann. Genausowenig wie der Verzicht auf diese Elemente das semantische Markup verbessert. Semantisch leere Container dienen dazu, die Möglichkeiten des semantischen Markup auszuweiten auf Inhalte, deren Markup mit den Standardelementen nicht vorgesehen ist.

    Interessant in diesem Zusammenhang ist übrigens auch die Initiative rund um die “Microformats”. Denn auch einem Paragraphen oder gar einem h1 kann man mit den richtigen Klassennamen zusätzliche und hoffentlich präzisere Bedeutung verleihen. Und nicht jeder h1 class=”sonstwas” muß nur deswegen optisch anders dargestellt werden als andere h1-Elemente.

  5. Björn am Feb 7, 2006 | Reply

    Ich sehe, wir sprechen da verschiedene Sprachen ;-) Das macht aber nichts. Im Gegenteil, finde ich die anderen Meinungen interessant und es lohnt sich darüber nachzudenken. Danke für Eure ausführlichen Beiträge und die mittlerweile sehr kreative Diskussion zum - für manche wahrscheinlich - trockenen Thema.

    Nehmen wir das Beispiel DIV. Schreibe ich ohne weiteres Zutun dort Text hinein. Was ist das dann? Ein DIV? Was ist ein DIV? Ergänzende Elemente wird man innerhalb des DIV verwenden. Z.B. eine Liste (UL) um irgendwas aufzulisten. Der DIV alleine leistet das nicht, vor allem auch nicht für Screenreader z.B.

    Es geht mir nicht darum, zu zeigen, dass die beiden Elemente rein desigtechnische Aufgaben erfüllen. Den Sinn geben ihnen jedoch erst erweiternde Attribute, wie z.B. die angesprochenen IDs. Bzw. erhalten die enthaltenen Inhalte erst Bedeutung über die innerhalb der DIV verwendeten Elemente UL, P etc.

    Die Microformats zeigen, wie man diese Elemente erweitern kann. Genauso z.B. Javascript, wo über die ID Elemente angesprochen werden.

  6. Siegfried am Feb 7, 2006 | Reply

    Korrekt! Absolut. Nur, wo ich vehement Einspruch dagegen erhebe ist, den divs und spans “lediglich” eine optische Präsentationsmöglichkeit zuzugestehen. Dann kommen wir wieder zu div class=”blau” oder ähnlichem Unsinn. Das ist absolut nicht im Sinne des semantik Markup.

    Und ein div oder span ohne jegliches Attribut hat in der Tat kaum eine Daseinsberechtigung. Aber ein div oder span mit den richtigen Attributen ist ganz und gar im Sinne des Semantic Markup, und das sind wichtige Elemente. Man darf sie nur nicht missverstehen oder missbrauchen. Und da ihnen die semantische Vorbelegung fehlt, ist ein Missbrauch natürlich um so leichter.

  7. Björn am Feb 7, 2006 | Reply


    Nur, wo ich vehement Einspruch dagegen erhebe ist, den divs und spans “lediglich” eine optische Präsentationsmöglichkeit zuzugestehen. Dann kommen wir wieder zu div class=”blau” oder ähnlichem Unsinn. Das ist absolut nicht im Sinne des semantik Markup.

    Siegfried, genau darauf wollte ich raus. Aber ich denke, ich habe mich etwas umständlich ausgedrückt. Aber nochmal: Danke für Deinen Einsatz :-)

  8. Haschek am Feb 8, 2006 | Reply

    Hallo Björn, Hallo Siegfried,

    so trocken finde ich die Diskussion nicht, im Gegenteil. Ich denke auch, dass wir in eine Richtung denken, aber das etwas (evtl. nach Prioritäten) anders ausdrücken. Betrachtungen von SPAN und DIV und deren sematischer Gehalt hilft mit viel Optimismus evtl. auch, Missbrauch dieser Elemente (z.B. Diveritis) vorzubeugen :)

    Allerdings glaube ich, dass SPAN und DIV durchaus auch ohne Attribute eine semantische Relevanz haben können, auch wenn das vom Standard aus (evtl.) nicht direkt vorgesehen ist. Kurz zwei Beispiele:

    Wenn ich mal annehme, dass eine Klammerbemerkung im direkten Lesefluss meines Satzes eine gegenüber der Wichtigkeit des Restes eine heruntersetzende Wirkung hat, könnte ich das durchaus für mich mit SPAN ohne Attribute lösen (z.B. das “(evtl.)” weiter oben). Das hat erstmal auch nichts damit zu tun, ob ich das nun optisch/akustisch mitteile.

    Genauso für DIV, ich komme nochmal zu meinen SECTION-Beispiel (natürlich meinte ich XHTML2). Hier wollte ich nicht sagen, dass DIV das momentane Äquivalent ist, aber trotzdem kann ich eine SECTION-Struktur in meinen pre-XHTML2-Dokumenten mit DIV nachbilden. In diesem Falle würden diese DIVs auch ohne Attribute einen semantischen Gehalt haben, genau den des kommenden SECTION Elementes.

    Ein wichtiger Punkt meines ersten Kommentares ist leider etwas untergegangen: Referenzen. Ich denke, dass es unheimlich wichtig ist, eigene Aussagen (in Björn’s Fall: Semantisch haben diese Elemente keine Relevanz.)zu untermauern. Das dürfen auch gern ein wenig wissenschaftlichere Quellen sein, denn durch eine Wiederholung einer Aussage in anderen Weblogs wird nicht unbedingt eine richtige Aussage daraus :)

  9. Haschek am Feb 8, 2006 | Reply

    Ups, immer nochmal genau lesen, damit man nichts vergisst:

    The DIV and SPAN elements, in conjunction with the id and class attributes, offer a generic mechanism for adding structure to documents.

    Ist mir schon klar, aber imho sind id bzw. class-Angebn nicht zwingend nötig, sofern ich die Elemente nicht in unterschiedlichen semantischen Kontexten nutze.

  10. Andy am Apr 22, 2006 | Reply

    Wieso ist denn ein Ich seh nur blau.. nicht sinnvoll? Wie soll ich denn sonst ein Designelement auf diesen Wege und diesem Resultat basteln?

Mitreden? Dann schreibe einen Kommentar!

* = Pfichtfelder

Markup Webdesign Blog

Markup ist das Blog von Björn Seibert. Mehr
Impressum | Kontakt

Feed abonnieren