科室页须用划分简介、专家团队等逻辑区块,禁用堆砌;仅用于可独立分发的医生页或技术说明;承载附属内容如检查准备;出诊时间必须用符合iso 8601的标记。

科室页必须用 <section></section> 划分逻辑区块,别堆在 <div> 里
<p>医疗网站的科室页不是内容罗列,而是信息分层:简介、专家团队、诊疗项目、设备技术、出诊时间——每个都是独立语义单元。<code><section></section> 正是为这种“可标题化的内容组”设计的,搜索引擎和读屏软件能据此建立结构索引。用 <div> 套一堆 <code><p></p> 和 <h3></h3>,等于主动放弃语义表达。
实操建议:
-
<section></section>必须带aria-labelledby或内部有<h2></h2>~<h4></h4>,否则对辅助技术无效 - 一个科室页通常对应 4–6 个
<section></section>,不要嵌套超过一层(即避免<section></section>里再套<section></section>) - “专家团队”这类列表页,外层用
<section></section>,内部用<ul></ul>+<li>,别用<section></section>包每个医生
<article></article> 只用于可独立分发的医生介绍或技术说明
不是所有内容都配得上 <article></article>。它代表“能脱离上下文单独存在、被 RSS 抓取、被第三方引用”的内容单元。医生个人简介页、某项微创技术的原理说明页,符合这个定义;但“本科室开展 12 种手术”这种概括性描述,只是科室页的一部分,该用 <section></section>。
常见错误现象:
立即学习“前端免费学习笔记(深入)”;
- 把每位医生卡片都包成
<article></article>,但页面没提供独立 URL 或发布时间,语义失真 - 在科室页内用
<article></article>包“出诊时间表”,结果表本身无法被单独引用或订阅 -
<article></article>缺少<header></header>(含<h2></h2>)或<footer></footer>(如职称、执业编号),削弱可识别性
<aside></aside> 放真正“附属但相关”的内容,比如就诊须知或检查准备事项
医疗场景中,<aside></aside> 最常被误用为“右侧栏容器”。它真正的判断标准是:这段内容是否可以被移除,而不影响主流程理解?如果删掉“空腹抽血注意事项”,患者仍能看懂“检验科服务项目”,那它就适合 <aside></aside>;但如果删掉“医保报销范围”,整个就诊决策链就断了,那就该进主 <section></section>。
使用场景:
- 检查前准备(如胃肠镜禁食要求)
-
常见问题折叠面板(
<details></details>+<summary></summary>套在<aside></aside>内) - 关联科室导引(如“本院神经内科同时支持脑卒中绿色通道”,指向急诊科)
注意:<aside></aside> 不等于视觉右栏——它可以上、下、内联,CSS 控制布局,语义只管关系。
用 <time></time> 标记出诊时间,别只写文字“周一至周五 8:00–12:00”
纯文本时间对机器不可读,既不利于搜索引擎聚合“今日有号”信息,也阻碍语音助手朗读准确时段。必须用 <time></time>,且 datetime 属性要严格按 ISO 8601 格式。
<p>专家门诊:<time datetime="2024-06-10T08:00">周一至周五</time> <time datetime="PT4H">8:00–12:00</time></p>
参数差异:
- 日期范围用
datetime="2024-06-10/2024-06-14",不是"2024-06-10–14" - 持续时间用
PT4H(4 小时),不是"4小时"或"4:00" - 单次门诊起止时间建议拆成两个
<time></time>,比塞进一个datetime更利于解析
性能影响小,但兼容性要注意:老版 IE 不支持 <time></time>,需配合 aria-label 降级(如 <time datetime="..." aria-label="周一至周五上午8点到12点"></time>)。
最容易被忽略的是:出诊时间变动频繁,<time></time> 的 datetime 必须随 CMS 同步更新,手写静态值等于白标。











