Bezeichnung vs. Spanne: HTML

Lesezeit: 5 Minuten

Benutzer-Avatar
Jason

Ich bin etwas verwirrt, was ich zum Rendern von Daten verwenden soll. Mein Szenario ist, dass ich count rendern muss und mir nicht sicher bin, ob ich es verwenden soll span oder label.

<span id="spnCount"></span>

oder

<label id="lblCount"></label>

EIN label wird verwendet, wenn Sie ein Formular oder Eingabeelemente haben – die label ist verbunden mit einem input Element. Span ist ein allgemeiner Container für alle Inline-Inhalte. Ich glaube, du willst ein span in diesem Fall

Benutzer-Avatar
Ron van der Heiden

Spanne

Das <span> Tag wird verwendet, um Inline-Elemente in einem Dokument zu gruppieren.

Das <span> -Tag selbst keine sichtbare Änderung bewirkt.

Das <span> -Tag bietet eine Möglichkeit, einen Haken zu einem Teil eines Textes oder einem Teil eines Dokuments hinzuzufügen.

Etikett

Das <label> tag definiert eine Bezeichnung für ein Element.

Das <label> -Element wird für den Benutzer nicht als etwas Besonderes gerendert. Es bietet jedoch eine Verbesserung der Benutzerfreundlichkeit für Mausbenutzer, denn wenn der Benutzer auf den Text innerhalb der <label> Element, schaltet es die Steuerung um.

Das for-Attribut der <label> tag sollte gleich dem id-Attribut des verwandten Elements sein, um sie zusammenzubinden.

Jede einzelne Person, die “antwortete”, kopierte einfach die Dokumentation, die den beabsichtigten Anwendungsfall beschreibt. Allerdings erklärte niemand die Unterschiede, oder die WARUM hinter warum du SOLLTE benutze das eine oder andere.

Die Realität ist, dass beide technisch funktionieren werden, also spielt es ehrlich gesagt keine Rolle. Sie könnten eine beliebige Anzahl anderer ähnlicher Tags verwenden, einschließlich der <i> -Tag (richtig mit einer Klasse gestylt). Weisen Sie ihm eine eindeutige ID zu, verwenden Sie document.getElementById(), oder verwenden Sie Knoten usw., tun Sie, was Sie wollen. Die einzigen Leute, die sich darum kümmern, sind semantische Puristen.

Die Bezeichnungen „kann“ und „sollte“ werden mit einem Formulareingabeelement verwendet, wahr. Aber es ist NICHT WAHR dass es KANN NICHT oder DARF NICHT anderweitig verwendet werden. Was bedeutet es KANN und KÖNNTE anderweitig verwendet werden.

Beachten Sie zunächst, wie <label> wird einfach als Bezeichnung “für ein Element” verwendet. Es sagt nicht was TYP des Elements. Es besagt nicht, dass es sich um ein Eingabeelement oder ein Formularelement handeln muss. In der Tat können Nicht-Formular-Elemente mit Steuerelementen verknüpft sein, um eine Benutzererfahrung bereitzustellen, die möglicherweise Objekte mit CSS manipulieren usw., und ein Label kann den Text einfach mit solchen Dingen verbinden. Das Formular könnte unsichtbar auf der Seite vorhanden sein. Wer weiß.

Warum könnte es eine schlechte Idee sein, ein eigenständiges Label zu verwenden? Wenn Ihr Dokument möglicherweise schon lange existiert, wird durch mehrere Browserversionen und Aktualisierungen der HTML-Standards die Definition von <label> möglicherweise ändern, um die Verknüpfung mit Formulareingabeelementen strenger zu erzwingen, liegt möglicherweise ein Problem vor. Das Gleiche gilt jedoch für fast jeden anderen Aspekt einer Reihe von Spezifikationen, auf die wir uns verlassen, nur um eine Seite zu rendern.

Es ist wahrscheinlich ein sehr seltenes Szenario, dass eine solche Änderung eintritt, und Sie würden wahrscheinlich nicht einmal im selben Unternehmen oder im selben Projektteam arbeiten, also ganz ehrlich, wen interessiert das wirklich, außer Puristen?

Nun, vielleicht jemand, der sehbehindert ist, wenn er auf eine Technologie angewiesen ist, die einen behandelt <label> anders als <span>, was die Technologie oder den Benutzer oder beides verwirren könnte. Ich habe keine Erfahrung mit solchen barrierefreien Geräten, aber das könnte ein besserer Grund sein WARUM.

Ein weiterer triftiger Grund ist <span> ist kürzer zu tippen als <label>.

Ein weiterer Grund könnten subtile Unterschiede in der Art und Weise sein, wie eine Suchmaschine Ihre Seite einordnet oder bei der Verwendung auf Inhalte verweist <label> vs <span>. Das ist ein bisschen weit hergeholt, weil solche Algorithmen im Allgemeinen nicht öffentlich verfügbar sind, aber es ist möglich. Eine Engine könnte auf eine Weise bessere Ergebnisse erzielen, eine andere Engine mag die andere Weise bevorzugen, und einer anderen Engine ist beides möglicherweise egal.

Alles in allem würde ich ohne weitere Kontextkenntnisse wahrscheinlich zustimmen <span> wie es scheint am generischsten und am wenigsten umstritten Art, Dinge zu tun. Aber ich hatte das Gefühl, dass die Frage gründlich fehlte Antwortenda die Antworten normalerweise ein Verständnis von beinhalten warum.

  • Ausgezeichneter Punkt über Sehbehinderte. Es ist sehr leicht, den Erreichbarkeitsfaktor zu vergessen!

    – Simon Forsberg

    18. Oktober 2017 um 18:09 Uhr

  • Bitte beachten Sie, dass der Kommentar eine reine hypothetische Vermutung war, da ich keine Erfahrung mit einer solchen Barrierefreiheitssoftware habe. Wenn es tatsächlich stimmte, dass es einen Unterschied machte, könnte es meine endgültige Schlussfolgerung ändern, mitzumachen <span> zu <label> für Barrierefreiheit. An diesem Punkt weiß ich es einfach nicht und habe keine Möglichkeit, weiter nachzuforschen. Weitere Forschung hier wäre großartig, um endgültige Antworten zu erhalten.

    Benutzer2895783

    20. Oktober 2017 um 4:49 Uhr

Benutzer-Avatar
Marat Tanalin

Wenn Ihre Daten ein Ergebnis der Berechnung sind, die output Das HTML5-Element passt wahrscheinlich am besten zu Ihrem Zweck.

Das Tag definiert eine Bezeichnung für ein Element. Wenn Sie es nicht als Eingabeelement verwenden, kann span verwendet werden.

Benutzer-Avatar
jao

Ein Label wird in Kombination mit einem Formulareingabeelement verwendet. In einigen Browsern kann das Label angeklickt werden, um das Eingabeelement zu aktivieren.

Benutzer-Avatar
Samich

label wird zur Beschriftung von Formularsteuerelementen in HTML verwendet. Es hat auch for -Attribut, in dem Sie die ID des Steuerelements festlegen können, auf das sich dieses Label bezieht. span Wird verwendet, wenn Sie einige wörtliche Daten anzeigen müssen.

1245510cookie-checkBezeichnung vs. Spanne: HTML

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy