码迷,mamicode.com
首页 > Web开发 > 详细

常见的2种HTML5错误语法

时间:2015-10-28 22:28:31      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:

不要使用section作为div的替代品

人们在标签使用中最常见到的错误之一就是随意将HTML5的<section>等价于<div>——具体地说,就是直接用作替代品(用于样式)。在XHTML或者HTML4中,我们常看到这样的代码:

<!-- HTML 4-style code -->
<div id="wrapper">
	<div id="header">

		<h1>My super duper page</h1>
		Header content
	</div>
	<div id="main">
		Page content
	</div>

	<div id="secondary">
		Secondary content
	</div>
	<div id="footer">
		Footer content
	</div>
</div>

而现在在HTML5中,会是这样:

<!-- 请不要复制这些代码!这是错误的! -->
<section id="wrapper">
	<header>
		<h1>My super duper page</h1>
		<!-- Header content -->
	</header>
	<section id="main">
		<!-- Page content -->
	</section>
	<section id="secondary">
		<!-- Secondary content -->
	</section>
	<footer>
		<!-- Footer content -->
	</footer>
</section>

这样使用并不正确:<section>并不是样式容器。section元素表示的是内容中用来帮助 构建文档概要的语义部分。它应该包含一个头部。如果你想找一个用作页面容器的元素(就像HTML或者XHTML的风格),那么考虑如Kroc Camen所说,直接把样式写到body元素上吧。如果你仍然需要额外的样式容器,还是继续使用div吧。

基于上述思想,下面才是正确的使用HTML5和一些ARIA roles特性的例子(注意,根据你自己的设计,你也可能需要加入div)

<body>
<header>

	<h1>My super duper page</h1>
	<!-- Header content -->
</header>
<div role="main">
	<!-- Page content -->
</div>
<aside role="complementary">
	<!-- Secondary content -->
</aside>
<footer>
	<!-- Footer content -->
</footer>

</body>


不要把所有列表式的链接放在nav里

随着HTML5引入了30个新元素(截止到原文发布时),我们在构造语义化和结构化的标签时的选择也变得有些不慎重。也就是说,我们不应该滥用超语义化的元素。不幸的是,nav就是这样一个被滥用的例子。nav元素的规范描述如下:

nav元素表示页面中链接到其他页面或者本页面其他部分的区块;包含导航连接的区块。

注意:不是所有页面上的链接都需要放在nav元素中——这个元素本意是用作主要的导航区块。举个具体的例子,在footer中经常会有众多的链接,比如服 务条款,主页,版权声明页等等。footer元素自身已经足以应付这些情况,虽然nav元素也可以用在这里,但通常我们认为是不必要的。

关键的词语是“主要的”导航。当然我们可以互相喷上一整天什么叫做“主要的”。而我个人是这样定义的:

    主要的导航
    站内搜索
    二级导航(略有争议)
    页面内导航(比如很长的文章)

既然并没有绝对的对错,所以根据一个非正式投票以及我自己的解释,以下的情况,不管你放不放,我反正不放在<nav>中:

    分页控制
    社交链接(虽然有些社交链接也是主要导航,比如“关于”“收藏”)
    博客文章的标签
    博客文章的分类
    三级导航
    过长的footer

如果你不确定是否要将一系列的链接放在nav中,问你自己:“它是主要的导航吗?”为了帮助你回答这个问题,考虑以下首要原则:

    如果使用section和hx也同样合适,那么不要用nav — Hixie on IRC
    为了方便访问,你会在某个“快捷跳转”中给这个nav标签加一个链接吗?

如果这些问题的答案是“不”,那就跟<nav>鞠个躬,然后独自离开吧。

常见的2种HTML5错误语法

标签:

原文地址:http://www.cnblogs.com/free-vip-com/p/4918610.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!