html5常见问题包括:语义标签误用导致渲染异常,required属性失效,音视频加载失败无控制台报错,flex/grid在ie11兼容性差,以及语义标签与aria配合缺失影响可访问性。

HTML5 标签写错导致浏览器静默忽略
浏览器对非法 HTML5 结构通常不报错,而是直接跳过或自动修复,结果页面渲染异常却找不到源头。比如把 <main></main> 放在 <header></header> 外但嵌套在 <div> 里,部分旧版 Safari 会丢弃整个 <code><main></main> 内容。
实操建议:
- 用 W3C Nu Validator 在线校验,它比浏览器开发者工具更早发现语义结构错误
- 避免在
<section></section>、<article></article>前缀的 CSS,但注意它无法修复语法级不兼容(如<div> 需手动替换为 <code><h2></h2>) - IE11 的 Flex 子项必须显式设
<h6></h6>,不能只靠<footer></footer>;推荐写成<article></article> - Grid 布局在 IE11 中仅支持旧语法(
),且不支持<div> 单位,需换算为 <code>required或百分比 实际项目里最容易被忽略的,是 HTML5 语义标签与 ARIA 属性的配合使用——比如data-required没加required,屏幕阅读器就无法区分多个导航区;或者required打开后没调用display: none,键盘焦点就出不去。这些不报错,但可访问性直接归零。










