- HTML5规范
- 1. 代码风格
- 1.1 缩进与换行
[建议]使用4个空格作为一个缩进层级。
[建议]模板代码的缩进优先保证 HTML 代码的缩进规则。
1.2 命名规则
[强制]class:必须单词全字母小写,单词间以-分隔,且必须代表相应的模块或部件的内容或功能,不得以html内置样式进行命名,命名应该具有明确的语义。
[强制]id:必须保持在页面中的唯一性,命名应该具有明确的语义。
1.3 标签
[强制]Html中的标签名必须使用小写字母。
[强制]标签的闭合要符合html5的规定。
[强制]标签的使用必须符合标签的嵌套规则,例:div不得置于p中,tbody必须置于table中。
[建议]标签的使用必须遵循标签的语义,例:
p - 段落
h1,h2,h3,h4,h5,h6- 层级标题
strong,em - 强调
ins - 插入
del - 删除
abbr - 缩写
code - 代码标识
cite - 引述来源作品的标题
q - 引用
blockquote - 一段或长篇引用
ul - 无序列表
ol - 有序列表
dl,dt,dd - 定义列表
[建议]在CSS可以实现相同需求的情况下不得使用表格进行布局。
1.4 属性
[强制]属性必须使用小写字母,其属性值必须用双引号包围。
[建议]布尔类型的建议不添加属性值。自定义属性建议以 xxx- 为前缀,推荐使用data-
2. 页面头部
2.1 DOCTYPE
[强制]使用doctype 来启用标准模式,建议使用大写的 DOCTYPE
2.2 语言编码
[建议]有助于提高页面的可访问性,必须设置正确的lang属性,例:<html lang="zh-CN">
[强制]页面必须指定字符编码的meta,且必须是 head 的第一个直接子元素,例:<metacharset="UTF-8">。
2.3 CSS和JavaScript引入
[强制]引入css时必须指明rel="stylesheet",在引入css和javascript时必须指明type属性。
[建议]Javascript代码必须放在页面末尾或采用异步加载。
2.4 Head内容
[强制]Title标签必须设置为head的直接子元素,并紧随charset声明之后。
[强制]Favicon保证可访问,例:<linkrel="shortcut icon" href="path /favicon.ico">
[强制]Viewport属性必须指定。
3. 图片
[强制]禁止 img 的 src 取值为空,延迟加载的图片也要增加默认的 src属性值。
[建议]重要图片添加 alt 属性值。
[建议]添加 width 和 height 属性以避免页面抖动。
4. 表单
4.1 控件标题
[强制]文本标题的控件必须使用 label 标签将其与其标题相关联,例:
<label><input type="checkbox"name="confirm" value="on"> 我已确认上述条款</label>或<labelfor="user">用户:</label><inputtype="text" name="user" id="user">
4.2 按钮
[强制]使用 button 元素时必须指明 type 属性值
4.3 可访问性
[建议]当使用 JavaScript 进行表单提交时,应使原生提交功能正常工作。
[建议] 根据内容类型指定输入框的 type 属性,例:<input type="date">
5. 多媒体
[建议]使用 audio 以及 video 标签来播放音频、视频时,应当注意格式:
音频格式:MP3、WAV、Ogg
视频格式:MP4、WebM、Ogg
6. 注释
[强制]针对页面或模块的CSS、javascript代码必须进行详细的注释