元素表达内容的角色

标题、段落、列表和链接可以分别用相应元素表示。属性进一步给出语言、链接目标等信息;例如a元素的href属性指定目标引用,浏览器据此提供链接操作。

这些标记表达内容角色,不是把页面固定成一张图片。同一文档可以在不同屏幕上呈现,也可以由辅助工具解释;仅靠把普通文字放大,不能自动赋予它标题的语义。

表单也体现这种结构语义。原生提交按规则构造名称—值条目,并不是把屏幕上所有文字一起发送:禁用控件和未勾选的复选框会被跳过,普通文本输入若没有非空name也不产生对应条目。label负责标示控件,并不代替它的提交名称;视觉上同样的表单若属性不同,实际发送的数据就可能不同。

参考:[1] [3]

源标记与内存文档树

浏览器把HTML语法解析为DOM,元素和文本成为文档树中的节点。DOM是运行时表示,不能简单看作源文件字符串逐字不变的复制品,脚本还可以在其上修改内容。

HTML语法与XML语法有不同解析要求。例如img、input等空元素不能写结束标签,一些其他元素的标签则在规定条件下可以省略;不能把XML的所有写法直接套在HTML上。

参考:[1] [2]

结构、表现与传送

HTML的职责集中于文档结构及相关语义。页面的视觉呈现可以交给CSS,交互行为可以由脚本与平台接口配合,HTTP则处理取得资源的请求与响应。

因此,HTML并不等于某个网站程序,也不要求每页都动态生成。静态文件与服务器生成的内容都可以采用同一种HTML语法,是否需要脚本或数据库取决于应用。

参考:[1]