元素表达内容的角色
标题、段落、列表和链接可以分别用相应元素表示。属性进一步给出语言、链接目标等信息;例如a元素的href属性指定目标引用,浏览器据此提供链接操作。
这些标记表达内容角色,不是把页面固定成一张图片。同一文档可以在不同屏幕上呈现,也可以由辅助工具解释;仅靠把普通文字放大,不能自动赋予它标题的语义。
表单也体现这种结构语义。原生提交按规则构造名称—值条目,并不是把屏幕上所有文字一起发送:禁用控件和未勾选的复选框会被跳过,普通文本输入若没有非空name也不产生对应条目。label负责标示控件,并不代替它的提交名称;视觉上同样的表单若属性不同,实际发送的数据就可能不同。
源标记与内存文档树
浏览器把HTML语法解析为DOM,元素和文本成为文档树中的节点。DOM是运行时表示,不能简单看作源文件字符串逐字不变的复制品,脚本还可以在其上修改内容。
HTML语法与XML语法有不同解析要求。例如img、input等空元素不能写结束标签,一些其他元素的标签则在规定条件下可以省略;不能把XML的所有写法直接套在HTML上。
结构、表现与传送
HTML的职责集中于文档结构及相关语义。页面的视觉呈现可以交给CSS,交互行为可以由脚本与平台接口配合,HTTP则处理取得资源的请求与响应。
因此,HTML并不等于某个网站程序,也不要求每页都动态生成。静态文件与服务器生成的内容都可以采用同一种HTML语法,是否需要脚本或数据库取决于应用。
参考:[1]