2011-02-23 59 views
0

我做了一個頁面,並使用名爲WebKing的軟件對它進行了檢查,它告訴我我有重複的錨?如何避免重複錨XHTML?

<ul > 
      <li><a href="#toc1" title="About The Code">About The Code</a></li> 
      <li><a href="#toc2" title="Blah Blah Test">Link 2 is boring</a></li> 
      <li><a href="#toc3" title="3rd link test">3rd line in</a></li> 
      <li><a href="#toc4" title="Contact Manny">Contact Manny</a></li> 

      <h3><a name="toc1" id="toc1">About the code</a></h3> 
      <h3><a name="toc2" id="toc2">Link 2 test</a></h3> 
      <h3><a name="toc3" id="toc3">3rd test</a></h3> 
      <h3><a name="toc4" id="toc4">Contact Manny</a></h3> 
</ul> 

那麼我在做什麼錯?我是否將ID更改爲其他內容?

回答

0

name和id屬性共享相同的名稱空間,因此它們需要不同。

http://www.w3.org/TR/html401/struct/links.html#h-12.2.3

如果你正在編寫有效的XHTML儘量不使用名稱標籤。

http://www.w3.org/TR/xhtml1/

第4.10節。具有'id'和'name'屬性的元素 請注意,在XHTML 1.0中,這些元素的name屬性被正式棄用,並且將在後續版本的XHTML中被刪除。

另外你還有一些不在裏面的h3,但是裏面有一個ul。

+0

我真的需要這個ID嗎? @Loktar – Manny 2011-02-23 19:44:00

+0

oopss ..剛剛閱讀文章..我錯了..非常感謝@Loktar – Manny 2011-02-23 19:47:15

+0

你不需要編號或名稱的錨點工作。你只需要有一個href屬性。 – Loktar 2011-02-23 19:55:41

1

這看起來像是您正在使用的分析軟件中的一些不良啓發式算法。該代碼沒有任何技術上的錯誤。

這就是說,一個現代的方法(即,不迎合到Netscape 4)是說:

  <h3 id="toc1">About the code</h3> 

...我懷疑這也將避免引發上述不良啓發。

你也許應該有更好的ID。 id="about" - 即告知讀者,他們去的網址一般比不這樣/mypage/#about/mypage/#toc1

上的不良風氣主題的URL更好,title屬性是有提供有關元素的諮詢信息。它應該包含有用的額外信息。你的例子有它複製鏈接的主要文本。最好這只是一些額外的字節下載。在最壞的情況下,您可能會期望一些屏幕閱讀器用戶必須收聽每個正在重複的鏈接的目的地。

+0

是的,我同意屏幕閱讀器的一部分..這只是一個簡單的例子。非常感謝!!! – Manny 2011-02-23 20:17:20