是制作食谱步骤最直接、语义最准确的标签,因其明确表达强顺序依赖关系,确保浏览器、屏幕阅读器和搜索引擎正确识别步骤先后,避免手动编号或用/模拟导致的语义丢失、维护困难与无障碍缺陷。

<ol></ol> 是制作食谱步骤最直接、语义最准确的标签,浏览器和屏幕阅读器都能正确识别“顺序性”,不需要手动编号,也不该用 <ul></ul> 或 <div> 模拟。
<h3>为什么必须用 <code><ol></ol> 而不是其他方式
食谱步骤本质是强顺序依赖的操作流:没煮土豆就不能捣碎,没热锅就不能下蛋。用 <ul></ul> 会丢失语义,搜索引擎无法判断步骤先后,无障碍设备会读作“项目一、项目二”而非“第一步、第二步”。手动写“1. 2. 3.”更糟——改顺序就得全手动调数字,还容易漏改或错位。
type 和 start 属性的实际取舍
多数食谱用默认阿拉伯数字(type="1")最自然;但遇到分段续写(比如“上半部分做到第3步,下半部分从第4步开始”),就靠 start="4" 接续。注意:type="A" 或 type="i" 适合章节标题编号,不适合日常烹饪步骤——用户扫一眼要反应“a 是第几个字母”,反而拖慢理解。
-
type="1"(默认):推荐用于所有常规食谱步骤 -
start="5":仅当需接续前序列表时使用,比如拆成两个<ol></ol>块 - 避免
type="I"(大写罗马数字):IE 旧版兼容差,且“XII”比“12”难识别
嵌套步骤或子操作怎么处理
真遇到“将蛋液倒入锅中,同时小火加热并不断搅拌”这种并行动作,别硬塞进一个 <li>。正确做法是:在该 <li> 内部再套一层 <ol></ol> 或 <ul></ul> ——前者表子步骤(如“搅拌手法:1. 手腕打圈 2. 频率每秒2次”),后者表并列动作(如“同时:加热锅、搅拌蛋液、观察气泡”)。浏览器会自动缩进,语义也清晰。
- 子步骤用
<ol></ol>:强调执行顺序不可颠倒 - 并行动作用
<ul></ul>:不强调先后,只强调都要做 - 禁止在
<li>里用<br>或多个<p></p>模拟分点——那只是视觉换行,不是结构化列表
CSS 干预要克制,尤其别动 counter-reset
用 CSS 改编号样式(比如把数字换成箭头)听起来酷,但实际增加维护成本。如果真要定制,优先用 list-style-type: decimal; 这类标准值,而不是重写 counter-increment。更关键的是:别给 <ol></ol> 设 list-style-type: none; 再用伪元素模拟编号——这会让屏幕阅读器完全读不出顺序信息,对视障用户是功能阉割。
- 可安全调整:
margin、padding、字体大小、颜色 - 危险操作:覆盖
counter-reset/counter-increment、移除list-style后手动加序号 - 移动端注意:iOS Safari 对
reversed属性支持不稳定,别用它倒序显示步骤
<ol></ol> 是唯一同时满足语义、可访问性、SEO 和维护性的解法,其余都是绕路。











