İsim özelliği geçersiz, çapalarla uğraşırken doğru davranış nedir?


19

Kodumu w3 html5 doğrulayıcı kullanarak test ederken , şu uyarı iletisini alıyorum:

Uyarı : nameÖzellik eski. idBunun yerine bir özelliği en yakın kapsayıcıya koymayı düşünün .

Soru (lar):

  • En yakın konteyner ne anlama geliyor?
  • Boş <a>şimdi kullanımdan kaldırıldı mı?
  • Bunun idyerine kullanmalı mıyım name?

Yanıtlar:


9

[A] boş yer tutucu etiketlerini bir bütün olarak kullanımdan kaldırdınız ve tutturucular bunun yerine kimliğine sahip herhangi bir öğeye işaret edebilir mi?

Kullanıcıları sayfa içi bağlantıların gerekli olduğu başlık etiketlerine (MediaWiki'nin varsayılan davranışını izleyerek) atlamayı tercih ederim, ancak evet, herhangi bir öğenin kimliğini adresleyebilirsiniz.


17

Kullanıcıları parça tanımlayıcıları olarak da bilinen sayfa içi bağlantılara atlamanız gerekiyorsa , herhangi bir öğede idözelliği ( yalnızca parça kimliklerinden daha fazlası için kullanılır) ayarlayabilirsiniz . Ardından , bir öğenin özelliğinin URL'sinde olağan olanı kullanın . İşte bir örnek:#hrefa

<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>

Kendi sayfalarımı yazarken, kullanmayı düşünmese bile idher <section>etikete (HTML5) vermek istiyorum . Değerinin değeri id, başlık içeriğinin URL dostu bir sürümüdür. Aynı efekti idbir <h1>vb. İçin atayarak aynı efekti elde edebilirsiniz .

Son olarak, HTML5 spesifikasyonunda<a> belirtildiği gibi boş etiketler kullanımdan kaldırılmaz :

aÖğenin hrefözniteliği yoksa, öğe başka bir şekilde bağlantının yerleştirilmiş olabileceği bir yer tutucuyu temsil eder…

Ek olarak aynı şey areaelemanlar için de geçerlidir :

hrefÖzniteliği ave areaelemanların gerekli değildir; bu öğelerin hreföznitelikleri olmadığında köprüler oluşturmazlar.


2

HTML5 için nameözellik artık araç kullanmak böylece itiraz edildi, idyerine name. Aksi takdirde, her şey aynıdır.

<a> onaylanmadı.


Bu cevap iyi olsa da, belgelerin bağlantısı veya kullanımdan kaldırmayı açıklayan bir makale bunu daha da iyi hale getirecektir.
Stephen Ostermiller

1
Spesifik olarak, bağlantısız öğedeki, kullanımdan kaldırılan / kullanılmayan nameözelliktir . nameNitelik yine de diğer unsurları tamamen geçerli (ve gerekli) olduğunu.
MrWhite
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.