0

我做了一个页面并使用一个名为 WebKing 的软件对其进行了检查,它告诉我我有重复的锚点??

<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 更改为其他内容?

4

2 回答 2

1

这看起来只是您正在使用的分析软件中的一些不良启发式方法。该代码在技术上没有任何问题。

也就是说,一种现代方法(即不迎合 Netscape 4)会说:

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

…而且我怀疑这也可以避免触发上述不良启发式。

你也应该有更好的身份证。id="about"— 通知读者去向的 URL 通常比不那么/mypage/#about节拍的 URL 更好/mypage/#toc1

关于不良风格的主题,title 属性用于提供有关元素的咨询信息。它应该包含有用的额外信息。您的示例复制了链接的正文。充其量这只是一些额外的下载字节。在最坏的情况下,您可以预期某些屏幕阅读器用户必须收听每个重复链接的目的地。

于 2011-02-23T20:11:36.237 回答
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 的后续版本中删除。

此外,您还有一些不在 li 内部但在 ul 内部的 h3。

于 2011-02-23T19:38:18.847 回答