89 Stimmen

Warum werden für HTML-Formulare Definitionslisten (DL, DD, DT) anstelle von Tabellen verwendet?

Ich bin in letzter Zeit auf einige Beispiele gestoßen, die so etwas tun:

<dl>
  <dt>Full Name:</dt>
  <dd><input type="text" name="fullname"></dd>
  <dt>Email Address:</dt>
  <dd><input type="text" name="email"></dd>
</dl>

für die Erstellung von HTML-Formularen. Warum ist das so? Was ist der Vorteil gegenüber der Verwendung von Tabellen?

14voto

Bret Punkte 413

Definitionslisten haben eine semantische Bedeutung. Sie dienen der Auflistung von Begriffen (<dt>) und ihren zugehörigen Definitionen (<dd>). Daher gibt in diesem Fall ein <dl> die semantische Bedeutung des Inhalts genauer wieder als eine Tabelle.

6voto

Andrew G. Johnson Punkte 26013

Definitionslisten werden fast nie verwendet, da sie semantisch gesehen kaum im Internet auftauchen.

In Ihrem Fall wurde der richtige Code veröffentlicht:

<form>
    <label for="fullname">Full Name:</label>
    <input type="text" name="fullname" id="fullname">
    <label for="email">Email Address:</label>
    <input type="text" name="email" id="email">
</form>

Sie erstellen ein Formular mit Eingaben und Bezeichnungen für diese Eingaben, Sie erstellen keine Liste von Wörtern und definieren sie.

Wenn Sie eine Art Hilfeabschnitt erstellen, wären Definitionslisten angebracht, z. B.:

<dl>
    <dt>HTML</dt>
    <dd>Hypertext Markup Language</dd>
    <dt>CSS</dt>
    <dd>Cascade Stylesheets</dd>
    <dt>PHP</dt>
    <dd>Hypertext Preprocessor</dd>
</dl>

4voto

Theran Punkte 3746

Ein Grund für die Verwendung von <dl> für die Kennzeichnung des Formulars ist, dass es viel einfacher ist, ausgefallene CSS-Layout-Tricks mit einem <dl> zu machen als mit einem <table>. Zum anderen spiegelt es die Semantik des Formulars (eine Liste von Label/Feld-Paaren) besser wider als eine Tabelle.

Ok, der Hass auf den Tisch gehört auch dazu.

2voto

staticsan Punkte 29057

Manchmal stellt eine Definitionsliste die Informationen einfach auf die gewünschte Weise dar, während eine Tabelle dies nicht tut. Ich persönlich würde eine Definitionsliste wahrscheinlich nicht für ein Formular verwenden, es sei denn, sie passt zum Stil der Website.

2voto

netrox Punkte 5143

Praktisch alle Formen sind tabellarisch. Haben Sie jemals ein Formular gesehen, das nicht tabellarisch ist? In den Leitlinien, die ich gelesen habe, wird die Verwendung des Table-Tags für tabellarische Darstellungen empfohlen, und genau dafür sind Formulare, Kalender und Tabellenkalkulationen gedacht. Und jetzt verwenden sie DD und DT anstelle von Tabellen? Was ist nur aus dem Web geworden?! :)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X