即使声明了我的文档类型,我的导航也是未定义的

时间:2014-03-27 17:55:20

标签: html css html5 w3c-validation

http://jsfiddle.net/cEv2S/ - 我的索引页面无法通过xhtml 1.1标准进行验证

我收到验证错误“第38行,第6列:元素”nav“undefined”

<div id="header">Leon's CS150 Assignment</div>
    <nav>   <!-- this is the line quoted in my error message -->
        <div>
            <a class="Menu-Item" href="#">Home</a>
            <a class="Menu-Item" href="about.html">About</a>
            <a class="Menu-Item" href="cv.html">CV</a>
            <a class="Menu-Item" href="../wordpress">Wordpress</a>
            <a class="Menu-Item" href="../webshop/catalog">Webshop</a>
        </div>
    </nav>

我的导航在我的CSS中明确定义,并且在我尝试验证之前一直很好,有人知道为什么会这样吗?我甚至宣布了文件类型。

提前致谢。

3 个答案:

答案 0 :(得分:2)

您使用的错误DOCTYPE用于HTML5。

{05}规范中定义了<nav>元素,但您的文档未使用HTML5。

您需要使用以下doctype

<!DOCTYPE html>

答案 1 :(得分:1)

这是因为nav是HTML5元素,您正在验证XHTML 1.1标准。 nav元素在XHTML 1.1中不存在。要使用HTML5 elemnet,您应该使用HTML5 doctype:

<!DOCTYPE html>

答案 2 :(得分:1)

<nav>是HTML5元素。您正在尝试针对XHTML 1.1进行验证,这是完全不同的事情

您应该使用HTML5 doctype(<!DOCTYPE html>)和http://validator.w3.org/处的验证器

请注意,您仍然可以使用XML语法:http://www.w3.org/TR/html5/the-xhtml-syntax.html

如果您需要使用XHTML1.1,请尝试使用带有WAI-ARIA导航角色的div代替nav<div role="navigation">。见http://www.marcozehe.de/2014/03/27/what-is-wai-aria-what-does-it-do-for-me-and-what-not/