2009-02-18 8 views
7

Ich habe viele leere span-Tags und so weiter in meinem Code, aufgrund der CSS-Bild-Ersatz-Techniken. Sie lösen eine HTML-Validierungswarnung aus. Kümmert mich das?Empty HTML-Tags

Danke.

Antwort

1

Eine Warnung ist kein Fehler. Es ist nur eine Erinnerung, dass Sie etwas verbessern sollten.

+5

Es ist nur eine Erinnerung daran, dass man etwas verbessern sollte. - Geschichte meines Lebens;) –

10

Ich stimme @Gumbo zu, aber viele Warnungen, die keinen Unterschied machen, können diejenigen verbergen, auf die Sie achten müssen. Wenn Sie etwas in den Bereich einfügen können, der die Warnung löscht, aber Ihre Benutzeroberfläche nicht beschädigt, sollten Sie zumindest darüber nachdenken.

1

Ich nehme an, wenn Bandbreite ein Problem war, könnten diese leeren Tags erneut besucht werden, um zu sehen, ob Sie sie von zusammen erscheinen könnten.

8

Sie sollten das Verhalten der Seite für Dinge wie Bildschirmleser berücksichtigen. Es ist üblich, ein paar Worte zu schreiben, die das Bild im Tag beschreiben, die dann durch den Bildaustausch verborgen werden.

Sehen Sie die CSS Zen Garden, wo Sie Beispiele wie H1 Spannen mit Text in CSS durch Bilder ersetzt sehen können.

Dies verbessert nicht nur die Zugänglichkeit Ihrer Website, sondern auch die Suchfunktion.

9

Ich habe Validierung Teil meines Workflows gemacht, weil es mir hilft, Fehler früh zu fangen. Und während ich leere Elemente nicht für ein Problem halte, negiert es etwas von der Verwendung eines Validators, wenn ich jedes Mal eine Liste von Warnungen analysieren und entscheiden muss, ob eine Warnung wichtig ist oder nicht. Also versuche ich meine Seiten sowohl fehler- als auch warnungsfrei zu halten, so dass sich ein kurzer Blick auf die HTML Validator icon in the Firefox status bar nur bei einem echten Problem ändert. Zu diesem Zweck halte ich leere Elemente durch Einfügen eines leeren Kommentars "unempettiert".

<span><!-- --></span> 

(zumindest die mit dem Tidy Validator funktioniert.)

Nun, dass gesagt wird, ich glaube nicht, das überhaupt notwendig für viele Situationen. Es ist vollkommen vernünftig zu denken, dass das Hinzufügen von acht zusätzlichen Zeichen zu Ihrem Code, nur um eine Warnung des Validators zu vermeiden, lächerlich ist. Aber es funktioniert für mich.

+0

Das ist eine großartige Lösung, danke! – Hikari

2

Ein "leerer" Tag hat eine sehr spezifische Definition in HTML:

<span/> 

gegen

<span></span> 

Erstere erlaubt ist, nicht von den HTML 4.0 Strict DTD, so sollte durch einen Validator gekennzeichnet werden. Die einzigen Tags, die die frühere Syntax verwenden können, sind solche, die in der DTD als "LEER" gekennzeichnet sind (z. B. <br>).

Die zweite Form ist gültiges HTML und wird nicht durch die W3C validator markiert.

Also muss ich davon ausgehen, dass entweder (1) Ihr Validator defekt ist, oder (2) Sie das Tag falsch verwenden.

0

Eric Meyer sagt auch, dass Empy-Tags sind schlecht, semantisch.

Warnung nicht bedeuten, dass es falsch ist, aber sagen, dass es könnte, oder manchmal sollte besser sein.

In gleicher Weise

if("value"==variable) 

ist besser als

if(variable=="value")