it-swarm.com.de

Das Attribut name ist veraltet. Wie verhält es sich beim Umgang mit Ankern?

Beim Testen meines Codes mit dem w3 html5 validator erhalte ich folgende Warnmeldung:

Warnung : Das Attribut name ist veraltet. Stellen Sie stattdessen ein id -Attribut in den nächsten Container.

Frage (n):

  • Was bedeutet der nächste Container?
  • Ist <a> jetzt veraltet?
  • Soll ich id anstelle von name verwenden?
17
Kzqai

[A] Sind leere Platzhalter-Tags insgesamt veraltet und können Anker stattdessen einfach auf ein Element mit einer ID verweisen?

Ich ziehe es vor, Benutzer zu Überschriften-Tags zu springen (entsprechend dem Standardverhalten von MediaWiki), wenn In-Page-Links erforderlich sind, aber ja, Sie können die ID eines beliebigen Elements adressieren.

9
danlefree

Wenn Sie Benutzer zu In-Page-Links, auch als Fragment-IDs bezeichnet, springen müssen, können Sie das id -Attribut festlegen (d. H. - wird nicht nur für frag-IDs verwendet ) für ein beliebiges Element. Verwenden Sie dann den üblichen # in der URL eines href Attributs eines a Elements. Hier ist ein Beispiel:

<body>
  <p>Despite the many
    <a href="#benefits-of-gum-chewing">benefits</a>
    you may experience while chewing gum, there are also many drawbacks,
    especially with 
    <a href="http://www.example.org/sugar.html#cons">non-sugarless</a>
    gum.</p>
  ...
  <section id="benefits-of-gum-chewing">
    <h1>Benefits of Gum Chewing</h1>
    ...
  </section>
</body>

Wenn ich meine eigenen Seiten schreibe, möchte ich jedem <section> -Tag (HTML5) ein id zuweisen, auch wenn ich nicht vorhabe, es zu verwenden. Der Wert von id ist eine URL-freundliche Version des Inhalts der Überschrift. Sie können den gleichen Effekt erzielen, indem Sie einem <h1> usw. den gleichen id zuweisen.

Zuletzt werden leere <a> -Tags nicht als veraltet betrachtet, wie in der HTML5-Spezifikation angegeben:

Wenn das a -Element kein href -Attribut hat, stellt das Element einen Platzhalter dar, für den ein Link ansonsten platziert worden sein könnte.

Gleiches gilt auch für area Elemente :

Das Attribut href für die Elemente a und area ist nicht erforderlich. Wenn diese Elemente keine href -Attribute haben, werden keine Hyperlinks erstellt.

17
chharvey

Für HTML5 ist das Attribut name jetzt veraltet, dh, es wird id anstelle von name verwendet. Ansonsten ist alles gleich.

<a> ist NICHT veraltet.

1