2008-11-24 4 views
25

Normalerweise habe ich es mit Formularen gesehen, aber ich habe es hilfreich gefunden, zusammengehörige Datenmengen zu gruppieren (zB wenn Sie mehrere Tabellen auf einer Seite haben, ein fieldset um jede Tabelle oder eine Gruppe verwandter Tabellen verwenden) sichtbare Bedeutung und ein Gruppenname (Legende)). Wird der Feldset-Tag dadurch missbraucht, dass er in meinen Anwendungen keine semantische Bedeutung mehr hat?Hat die Verwendung des Feldset-HTML-Tags eine Bedeutung, die über das Gruppieren von Formularen hinausgeht?

Antwort

4

Ich sehe semantische Vorteile beim Blockieren von Inhalt in Feldsets mit Legenden.

Obwohl das W3C die Verwendung von Feldgruppen und Legenden mit Formularen verknüpft, ermöglicht die Verwendung außerhalb des Formular-Tags neue Grenzen für das Experimentieren. Ähnlich wie die verwendete Definitionsliste.

Ich persönlich glaube nicht, dass das "Feld" in fieldset spezifisch für Formularfeld ist. Es hat nur die Beziehung geerbt, die es innerhalb des Formular-Tags verwendet. Feld bezieht sich auf die Gruppierung.

Stellen Sie sich vor, Sie gehen in Ihre lokalen Parks und Freizeiteinrichtungen, um Softball mit Ihren Freunden zu spielen. Es gibt 3 verfügbare Felder. Alle von ihnen haben Zeichen auf dem Zaun "BASEBALL ONLY"

Packen Sie Ihre Ausrüstung und nach Hause gehen?

Kennzeichnung der Verwendung von Feldgruppen und Legenden außerhalb des Formular-Tags Missbrauch ist engstirnig.

Nirgends in der Definition ist das Formen erwähnen:

Das FIELDSET Element Autoren Gruppe thematisch verwandte Kontrollen und Etiketten ermöglicht. Gruppierungskontrollen macht es einfacher für Benutzer zu verstehen, ihre Zweck, während gleichzeitig Erleichterung der Tab-Navigation für visuelle Benutzer-Agenten und Sprache Navigation für sprachorientierte Benutzer Agenten. Die richtige Verwendung dieses Elements macht Dokumente zugänglicher.

Ich betrachte XHTML-Tags Formatierungssteuerung. div p blockquote usw.

<h1>The Big Book about Everything</h1> 
<fieldset> 
    <legend>Jokes</legend> 
    <h2>30 pages of humorous Jokes</h2> 
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 
    <p>Cras nec diam eu lectus condimentum faucibus in et odio.</p> 
</fieldset> 
<fieldset> 
    <legend>Poems</legend> 
    <h2>20 pages of well written poems</h2> 
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 
    <p>Cras nec diam eu lectus condimentum faucibus in et odio.</p> 
</fieldset> 
<fieldset> 
    <legend>Horror</legend> 
    <h2>3 Short and scary stories</h2> 
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 
    <p>Cras nec diam eu lectus condimentum faucibus in et odio.</p> 
</fieldset> 
<fieldset> 
    <legend>Mystery</legend> 
    <h2>3 Short and mysterious stories</h2> 
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 
    <p>Cras nec diam eu lectus condimentum faucibus in et odio.</p> 
</fieldset> 
+9

Kontrollen und Etiketten, d.h. Felder. Die Verwendung von Feldsets für normale Inhalte ist ein Missbrauch, wie MMIIKA sagt. Wenn Sie nach semantischen Gruppierungselementen suchen, sollten Sie sich die Elemente

1

Das Feldset-Tag wird auch für Bildschirmlesegeräte und einige andere unterstützende Technologien verwendet.

18

Ich glaube, das wäre Missbrauch. http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.10 states "Das FIELDSET-Element ermöglicht Autoren, thematisch verwandte controls und Labels zu gruppieren".

+0

Steuerelemente würden individuelle Formelemente bedeuten, richtig? Wie eine Gruppe von Kontrollkästchen, eine Gruppe von Optionsfeldern und nicht das gesamte Formular? –

+0

Ja: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.2 – mmiika

2

fieldset ist etwa Formkontrollgruppe. Durch die Gruppierung verwandter Formularsteuerelemente können Autoren ein Formular in kleinere, besser zu verwaltende Teile aufteilen, wodurch das Usability-Desaster verbessert wird, das auftreten kann, wenn Benutzer mit zu vielen Formularsteuerelementen konfrontiert werden.

Die not means a fieldset always group fields within a form tut, obwohl die Spezifikation diskutiert Fieldset nur im Kontext des Benutzers mit Form interagieren ...

der So kann aus der Tatsache, „missbrauchen“, die HTML 4 und XHTML-Spezifikationen erfordern keine Fieldset und Legende, die in Formelementen enthalten sein soll. FIELDSET kann sogar das Kind des BODY-Elements sein. Es ist eine gültige Syntax, um Feldsätze außerhalb von Formularen zu platzieren.

Aber wenn Sie etwas als ein Feldset beschreiben, das nicht wirklich ein Fieldset ist, verursachen Sie nur Verwirrung.

Es ist am besten, sich an HTML/XHTML-Tags zu erinnern, die die Bedeutung eines Elements beschreiben und nicht, wie es aussehen wird. Dann können Sie CSS verwenden, um das Element wie gewünscht aussehen zu lassen. Wenn Sie Daten zu Präsentationszwecken gruppieren, finden Sie hier eine nice CSS alternative.

Zum Vergleich:

.fieldset { 
border-right: 1px solid #75736E; 
border-bottom: 1px solid #75736E; 
border-left: 1px solid #F2F0EE; 
border-top: 1px solid #F2F0EE; 
padding: 10px 3px 3px 3px; 

} 

.outer { 
border-left: 1px solid #75736E; 
border-top: 1px solid #75736E; 
border-right: 1px solid #F2F0EE; 
border-bottom: 1px solid #F2F0EE; 
width: 200px; /* CHANGE THIS FOR BOX SIZE */ 
} 

.legend { 
float: left; 
margin-left: 15px; 
margin-top: -8px; 
padding-left: 5px; 
padding-right: 5px; 
font-weight: bold; 
background: #FFF; 
} 

<div class="legend">Lipsum.com Is The Best</div> 
<div class="outer"> 
<div class="fieldset">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 
Donec congue fermentum metus. Quisque vel ante. 
Cras purus metus, dignissim at, luctus et, sollicitudin eget, urna. 
Maecenas eget lacus. Aenean bibendum risus non erat mattis semper. 
Aliquam placerat nibh eget lacus. Sed blandit eleifend justo. Nam elit. 
Fusce feugiat orci id eros facilisis laoreet. 
Integer vestibulum condimentum purus. 
Proin vehicula congue lacus. Quisque placerat diam nec enim. 
Nunc lorem. Maecenas nec sem sed nulla tristique faucibus.</div></div> 
+0

Danke für den Link, aber ich wusste über die Verwendung von Tags, um Bedeutung zu beschreiben. Ich bin mir jedoch nicht sicher, was "fieldset" bedeutet. –

2

Wenn Sie Gruppentabellen wollen, sollten Sie für jede Gruppe eine entsprechende Überschrift (h1-h6) Element verwendet. Einzelne Tabellen können mit dem Element 'caption' beschrieben werden. Das Attribut 'Zusammenfassung' ist auch für jede Tabelle verfügbar.

Von der Spezifikation:

Jede Tabelle eine zugehörige Beschriftung (siehe das Caption-Element) haben kann, dass eine kurze Beschreibung des Zwecks der Tabelle. Eine längere Beschreibung kann auch (über die Zusammenfassung Attribut) für Menschen mit Sprache oder Braille-basierte Benutzer Agenten zur Verfügung gestellt werden.

Und für den Datensatz ist das Element "fieldset" nicht für die Verwendung außerhalb von Formularen vorgesehen. Und innerhalb von Formularen ist es beabsichtigt, wie Eingabefelder wie "persönliche Informationen" oder "Rechnungsadresse" zu gruppieren.

Hier ist ein interessanter Artikel, der beschreibt, was Screenreader-Benutzer beim Navigieren von Fieldsets hören.http://www.rnib.org.uk/wacblog/articles/too-much-accessibility/too-much-accessibility-fieldset-legends/

4

Das Feld "Feld" im Namen fieldset bezieht sich auf <form> Felder.

Mit fieldset außerhalb form s zu gruppieren Aribtrary Daten ist eindeutig semantischen Missbrauch.

Allerdings wird Ihr HTML validieren und Gott wird nicht Töten Sie ein Kätzchen.

Verwandte Themen