lixx: fieldsets ohne form-tag

Hallo!

Kann man eigentlich auch fieldsets machen, die nicht innerhalb eines form-Tags sind. Ich finde diese Gruppierungsmöglichkeit auch für andere Sachen gut.

Z.B. geht es im konkreten Fall um eine Online-Bestellung. Zuerst hat man die Eingabefelder innerhalb der fieldsets. Bei der Bestellungsübersicht möchte ich jetzt gerne die selbe Darstellung verwenden. Also gruppiert und mit einem legend-Tag beschriftet. Jetzt sind aber keine Eigabefelder mehr vorhanden, sondern nur der Wert der Eingabe.

Laut Beschreibung können fieldsets in verschiedenen Block-Elementen verwendet werden und ist nicht nur auf form-Tags beschränkt.

Sehe ich das richtig?

lg lixx

  1. Kann man eigentlich auch fieldsets machen, die nicht innerhalb eines form-Tags sind. Ich finde diese Gruppierungsmöglichkeit auch für andere Sachen gut.

    Ja.
    allerdings ist es relativ unproblematisch möglich, auch andere Elemente so zu formatieren, dass sie dem Fieldset/Legend Aussehen gleich sehen.

    Z.B. geht es im konkreten Fall um eine Online-Bestellung. Zuerst hat man die Eingabefelder innerhalb der fieldsets. Bei der Bestellungsübersicht möchte ich jetzt gerne die selbe Darstellung verwenden. Also gruppiert und mit einem legend-Tag beschriftet. Jetzt sind aber keine Eigabefelder mehr vorhanden, sondern nur der Wert der Eingabe.

    Laut Beschreibung können fieldsets in verschiedenen Block-Elementen verwendet werden und ist nicht nur auf form-Tags beschränkt.

    Sehe ich das richtig?

    Den Hauptsinn solltest du einfach nicht aus den Augen lassen.
    Fieldset und Legend sind primär Elemente, die helfen ein Formular zu strukturieren. Dazu ist in meinen Augen nicht erforderlich, dass in einem fieldset ein input textarea oder select vorkommt.
    Alleine allgemeine Hinweise zu diesem Formular wie...

    [cde lang=html]<fieldset><legend>Allgemeine Hinweise</legend>
    <ul>
    <li>Aller Felder sind, so nicht ausdrücklich als optional gekennzeichnet, erforderlich.</li>
    <li>Javascript unterstützt sie bei der Eingabe. Javascript ist deaktiviert.</li>
    </ul>
    </fieldset>[/code]

    ...sind eine legitime Gruppe in einem Formular.

    HTML4
    "The FIELDSET element allows authors to group thematically related controls and labels. Grouping controls makes it easier for users to understand their purpose while simultaneously facilitating tabbing navigation for visual user agents and speech navigation for speech-oriented user agents. The proper use of this element makes documents more accessible.

    The LEGEND element allows authors to assign a caption to a FIELDSET. The legend improves accessibility when the FIELDSET is rendered non-visually."

    Ich lese keinen Hinweis, dass man keine rein informativen Abschnitte in einem Formular mittels Fieldset gruppieren darf.

    mfg Beat

    --
    Woran ich arbeite:
    X-Torah
       <°)))o><                      ><o(((°>o
    1. Hallo,

      Alleine allgemeine Hinweise zu diesem Formular wie...
      ...sind eine legitime Gruppe in einem Formular.

      Eine Gruppe mit Hinweisen ohne Felder ist keine Feldgruppe, sondern eine Hinweisgruppe.

      The FIELDSET element allows authors to group thematically related controls and labels.

      In deinem Beispiel gibts weder Controls noch Labels.

      Grouping controls

      ... ist der Sinn von fieldset. Ohne Controls ist das witzlos.

      Ich lese keinen Hinweis, dass man keine rein informativen Abschnitte in einem Formular mittels Fieldset gruppieren darf.

      Nochmal, ein Set ohne Fields ist kein Fieldset.

      Mathias

      1. Alleine allgemeine Hinweise zu diesem Formular wie...
        ...sind eine legitime Gruppe in einem Formular.

        Eine Gruppe mit Hinweisen ohne Felder ist keine Feldgruppe, sondern eine Hinweisgruppe.

        The FIELDSET element allows authors to group thematically related controls and labels.

        In deinem Beispiel gibts weder Controls noch Labels.

        Grouping controls

        ... ist der Sinn von fieldset. Ohne Controls ist das witzlos.

        Ich lese keinen Hinweis, dass man keine rein informativen Abschnitte in einem Formular mittels Fieldset gruppieren darf.

        Nochmal, ein Set ohne Fields ist kein Fieldset.

        "Grouping controls makes it easier for users to understand their purpose while simultaneously facilitating tabbing navigation for visual user agents and speech navigation for speech-oriented user agents."

        Es soll die Erfassung der Formulars erleichtern.
        Wenn du wiederum wegen einer überbordenden Lesart andere Elemente einführen musst, so hast du diesem Zweck eventuell eher geschadet.

        mfg Beat

        --
        Woran ich arbeite:
        X-Torah
        ><o(((°>        ><o(((°>
           <°)))o><                      ><o(((°>o
        1. Hallo,

          "Grouping controls makes it easier for users to understand their purpose

          Es soll die Erfassung der Formulars erleichtern.

          Aha. Das Zitat redet ausschließlich vom Gruppierung von Formularelementen und einer Navigation zwischen Control-Gruppen.

          Wenn du wiederum wegen einer überbordenden Lesart andere Elemente einführen musst, so hast du diesem Zweck eventuell eher geschadet.

          ?? Andere Elemente einführen?

          Mathias

  2. Hallo,

    Kann man eigentlich auch fieldsets machen, die nicht innerhalb eines form-Tags sind.

    Kann man schon, sinnvoll ist es nicht.

    Fieldsets sollen v.a. die Übersichtlichkeit und Navigierbarkeit, damit die Barrierefreiheit von Formularen verbessern. Außerhalb von Formularen tragen sie höchstens zur Verwirrung bei.

    Ich finde diese Gruppierungsmöglichkeit auch für andere Sachen gut.

    Warum ist sie geeigneter als das div-Element, die allgemeine Gruppierungsmöglichkeit, zusammen mit einer Überschrift, die allgemeine Möglichkeit, um einen Abschnitt mit einem Titel zu versehen?

    Geht es dir um die standardmäßige Darstellung von fieldset/legend in den Browsern? Die kannst du auch anderen Elementen per CSS verpassen.

    Mathias

    1. Geht es dir um die standardmäßige Darstellung von fieldset/legend in den Browsern? Die kannst du auch anderen Elementen per CSS verpassen.

      Ja, das mit der Linie rundherum. Habe kein ähnliches Tag dazu gefunden. Oder meinst Du damit dinen DIV-Tag und ein "verschobenes" H2-Tag? Oder geht das auch ganz anderst?

      lg lixx

      1. Hallo,

        Ja, das mit der Linie rundherum. Habe kein ähnliches Tag dazu gefunden.

        Der Sinn von Textauszeichnung ist nicht, Linien zu zeichnen. HTML-Elemente geben die Struktur der ausgezeichneten Inhalte wieder. Daher gibts dafür auch kein Element.

        Oder meinst Du damit dinen DIV-Tag und ein "verschobenes" H2-Tag?

        Ja, zum Beispiel.

        Oder geht das auch ganz anderst?

        CSS ist schon der richtige Weg, um die visuelle Darstellung zu beeinflussen, und erlaubt vielfältige Gestaltungsmöglichkeiten.

        Mathias

        1. Ja, das mit der Linie rundherum. Habe kein ähnliches Tag dazu gefunden.

          Der Sinn von Textauszeichnung ist nicht, Linien zu zeichnen. HTML-Elemente geben die Struktur der ausgezeichneten Inhalte wieder. Daher gibts dafür auch kein Element.

          Oder meinst Du damit dinen DIV-Tag und ein "verschobenes" H2-Tag?

          Ja, zum Beispiel.

          Aber wie machst du es dann, dass die Linie hinter den H2-Tag nicht durch den Text geht? Wenn, sagen wir, das DIV-Element einen anderen Hintergund hat als der Hintergrund worauf das Element steht, und ich nun einen H2-Tag darüber setze, wie schaffe ich es, dass nicht der Text von H2 wie durchgestrichen aussieht? Ich kann ihm ja keine Farbe geben, denn es gibt ja zwei Hintergundfarben und es würde wie ein Tabelement wirken.

          lg lixx

          1. Hallo,

            Aber wie machst du es dann, dass die Linie hinter den H2-Tag nicht durch den Text geht?

            Indem du dem h2-Element eine nicht-transparente Hintergrundfarbe gibst.

            Ich kann ihm ja keine Farbe geben, denn es gibt ja zwei Hintergundfarben und es würde wie ein Tabelement wirken.

            Wie meinst du das?

            Mathias

            1. Aber wie machst du es dann, dass die Linie hinter den H2-Tag nicht durch den Text geht?
              Indem du dem h2-Element eine nicht-transparente Hintergrundfarbe gibst.
              Ich kann ihm ja keine Farbe geben, denn es gibt ja zwei Hintergundfarben und es würde wie ein Tabelement wirken.
              Wie meinst du das?

              In meinem Firefox 3 wird fieldset mit legend so gerendert, dass dort, wo der Inhalt von legend steht, zwar nicht der Rahmen von fieldset ist, aber oben die Hintergrundfarbe des Elementes, in dem sich das fieldset befindet, zu sehen ist, und unten die Hintergrundfarbe des fieldset selbst.
              Das ist schwierig nachzubauen.

              --
              Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
              Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|
              1. Hallo,

                In meinem Firefox 3 wird fieldset mit legend so gerendert, dass dort, wo der Inhalt von legend steht, zwar nicht der Rahmen von fieldset ist, aber oben die Hintergrundfarbe des Elementes, in dem sich das fieldset befindet, zu sehen ist, und unten die Hintergrundfarbe des fieldset selbst.
                Das ist schwierig nachzubauen.

                Okay, das kann ich nachvollziehen. Aber wieso sollte man das auch nachbauen wollen?
                Jetzt verstehe ich die Frage »wie machst du es dann, dass die Linie hinter den H2-Tag nicht durch den Text geht?« noch weniger... Klar, ich muss dem hX-Element einen Hintergrund verpassen, der dann nach oben »herausragt«. Aber das hätte ich bei einem legend ohnehin gemacht, wenn legend und sein Elternelement unterschiedliche Hintergrundfarben haben.
                Ich verstehe das Problem immer noch nicht...

                Mathias

                1. Jetzt verstehe ich die Frage »wie machst du es dann, dass die Linie hinter den H2-Tag nicht durch den Text geht?« noch weniger... Klar, ich muss dem hX-Element einen Hintergrund verpassen, der dann nach oben »herausragt«. Aber das hätte ich bei einem legend ohnehin gemacht, wenn legend und sein Elternelement unterschiedliche Hintergrundfarben haben.
                  Ich verstehe das Problem immer noch nicht...

                  Ja, sorry. Das stimmt natürlich. Ich bin nur von meinem Beispiel ausgegangen, wo sich der Hintergrund nur geringfügig vom Feld unterscheidet. Wenn ich da noch einen Hintergrund für den Titel setze sieht das etwas unharmonisch aus. Würde zwar die Darstellung von fieldsets bevorzugen, werde es aber nun doch mit Hn's versuchen.

                  danke
                  lixx

              2. Hallo.

                In meinem Firefox 3 wird fieldset mit legend so gerendert,

                ... wie die Entwickler es unsinnigerweise vorschreiben. Eine Anpassung von <legend> an die eigenen visuellen Erfordernisse oder Bedürfnisse ist von den Mozilla-Entwicklern schlicht nicht vorgesehen und wird von ihnen seit Jahren blockiert, während <legend> für die meisten anderen Browser eben einfach nur ein Element ist, auf das selbstverständlich die üblichen Formatierungen angewandt werden können. Hinsichtlich der CSS-Unterstützung wird Firefox immer mehr zum Ärgernis.
                MfG, at

          2. Hallo lixx!

            Aber wie machst du es dann, dass die Linie hinter den H2-Tag nicht durch den Text geht? Wenn, sagen wir, das DIV-Element einen anderen Hintergund hat als der Hintergrund worauf das Element steht, und ich nun einen H2-Tag darüber setze, wie schaffe ich es, dass nicht der Text von H2 wie durchgestrichen aussieht? Ich kann ihm ja keine Farbe geben, denn es gibt ja zwei Hintergundfarben und es würde wie ein Tabelement wirken.

            Mein allseits verlinkter Gästebuch benutzt fälschlicherweise Fieldsets [1] zur Darstellung der einzelnen Einträge. Darauf hin hat unser Enginiör Layouts entwickelt, welche ohne Fieldsets auskommen: switch dich frei!

            [1] Mea culpa, beim nächsten GB gelobe ich Besserung (auch, was den gruseligen Perl-Code angeht - für Struppis Seelenfrieden!)

            Viele Grüße aus Frankfurt/Main,
            Patrick

            --

               Diblom
            _ - jenseits vom delirium - _
            [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
            Nichts ist unmöglich? Doch!
            Heute schon gegökt?