Thorsten: XHTML id-Attribut

Guten Abend,

laut http://meiert.com/de/publications/articles/20040212/ heist es:

-----------------------
Des weiteren sind zumindest zwei weitere Nova zu beachten: Zum einen wird das name- vom id-Attribut abgelöst und ist somit veraltet (deprecated); zum anderen ist erwähnenswert, dass vordefinierte Attributswerte (zum Beispiel beim type-Attribut des input-Elements) grundsätzlich kleingeschrieben werden müssen, da XML „case-sensitiv“ ist und diese Werte in XHTML in Kleinbuchstaben definiert werden.
-----------------------

meine frage dazu lautet, ob ich das name attribut ganz weg lassen soll oder name zusätzlich verwenden soll, was meint ihr? ich sehe oft das name und id den gleichen wert haben bei xhtml seiten.

--
lg Thorsten
  1. Hi,

    laut http://meiert.com/de/publications/articles/20040212/ heist es:

    Die Qualität dieses Dokuments ist nicht sehr hoch:

    Beispiel:

    XHTML unterscheidet sich syntaktisch in einigen wenigen, aber entscheidenden Punkten von seinem Vorgänger HTML:
        * Der Dokumenttyp muss definiert werden

    Das ist kein Unterschied - auch HTML schreibt den DOCTYPE vor.

    Des weiteren sind zumindest zwei weitere Nova zu beachten: Zum einen wird das name- vom id-Attribut abgelöst und ist somit veraltet (deprecated);

    Das ist - so allgemein ausgedrückt - falsch.
    form-controls haben auch in XHTML 1.1 noch immer das name-Attribut (und brauchen es auch - id-Attribute müssen eindeutig sein, aber z.B. alle Radiobuttons einer Radiobutton-Group werden über den gemeinsamen Namen identifiziert).

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hi,

      erstmal danke für deine schnelle antwort.

      Also macht es quasi nichts aus wenn ich meinem xhtml dokument den form's nur name's zuordne und keine id's? verstehe ich da so richtig?

      --
      lg thorsten
      1. Hallo Thorsten,

        Also macht es quasi nichts aus wenn ich meinem xhtml dokument den form's nur name's zuordne und keine id's? verstehe ich da so richtig?

        Erst einmal richtig. IDs (= Identifier) brauchst Du nur, wenn Du Elemente eindeutig im xhmtl-Code identifizieren willst. Dann kannst Du für das Element

        <input type="text" id="user" name="user" />

        z. B.

        • bei css Individualformate definieren:

        #user {
            color: #F90;
        }

        • mit js/dom direkt auf das Objekt zugreifen:

        document.getElementById("user").style.color = '#F90';

        • dem Formularelement ein <label> zuordnen, um die Benutzbarkeit zu erhöhen.

        <label for="user">Benutzer:</label>

        Den letzten Punkt sehe ich persönlich bei sichtbaren Formelementen fast immer als Pflicht an. In wieweit Du die anderen Möglichkeiten nutzt, dürfte von Fall zu Fall unterschiedlich sein.

        Gruß
        Olaf

      2. hi,

        Also macht es quasi nichts aus wenn ich meinem xhtml dokument den form's nur name's zuordne und keine id's?

        Wenn du XHTML 1.0 Strict schreibst, dann hat form selber kein name-Attribut mehr - wenn du also per Javascript auf's Formular zugreifen willst, dann per ID oder mit einer anderen Methode, jedoch nicht mehr über den Namen.

        Formularfelder bekommen (idR.) nach wie vor Namen, Gründe wurden ja schon erwähnt.
        IDs können sie zusätzlich bekommen, müssen sie aber natürlich nicht.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hallo,

    meine frage dazu lautet, ob ich das name attribut ganz weg lassen soll oder name zusätzlich verwenden soll, was meint ihr? ich sehe oft das name und id den gleichen wert haben bei xhtml seiten.

    Die Frage stellt sich eigentlich nur im Zusammenhang mit Ankern, an anderen Stellen haben name-Attribut wie gesagt andere Funktionen und sind nicht einfach weglassbar/austauschbar.

    Die Doppelschreibweise <a name="anker" id="anker"></a> brauchst du nur dann zu notieren, wenn du Netscape 4 und noch ältere Browser unterstützen willst.

    Für neuere, aktuelle Browser kannst du dir meist das ganze a-Element sparen und das id-Attribut einfach an das Element setzen, das angesprungen werden soll, z.B. sind üblich

    <h2 id="anker">Überschrift</h2>

    oder

    <div id="abschnitt">
    ...
    </div>

    Mathias

    1. Hi,

      Die Doppelschreibweise <a name="anker" id="anker"></a> brauchst du nur dann zu notieren, wenn du Netscape 4 und noch ältere Browser unterstützen willst.

      Für neuere, aktuelle Browser kannst du dir meist das ganze a-Element sparen und das id-Attribut einfach an das Element setzen, das angesprungen werden soll, z.B. sind üblich

      Geht hierbei aber um Formulare...

      --
      lg thorsten
      1. Hallo,

        Geht hierbei aber um Formulare...

        Hättest du vielleicht erwähnen sollen.

        Bei Formularelementen existieren die name-Attribute in XHTML genauso wie in HTML. Du kannst sie auch nicht durch id-Attribute ersetzen. Du notierst ganz normal <input type="..." name="..." value="..." /> und so weiter.

        Ein id-Attribut kannst du hinzufügen, wenn du es brauchst, z.B. wenn ein entsprechendes label-Element existiert oder du das Element in JavaScript einfach ansprechen willst. Ansonsten haben name und id bei input, select, textarea, button usw. nichts miteinander zu tun.

        Mathias