商品参数对比必须用<table>,因它是唯一能原生表达二维矩阵(属性行×商品列)的语义化标签;<ol>仅适用于有不可逆顺序的场景如购买流程、榜单或安装步骤;参数说明应使用<dl>,其中<dt>定义术语、<dd>提供解释。

有序列表 不适合商品参数对比
直接说结论:<ol> 不能用来组织“iPhone 15 vs Pixel 8 的参数对比”,因为这不是步骤或顺序关系,而是并列维度的横向比对。用 <ol> 会导致屏幕阅读器读成“第一步:价格;第二步:处理器”,语义完全错误,也破坏后续 CSS 定位和 JS 数据提取逻辑。
什么时候该用 做商品相关展示
只有当内容天然具备不可逆的执行顺序或排名时,<ol> 才成立。典型场景包括:
- 商品购买流程:
<li>选择规格 →<li>填写地址 →<li>支付完成 - 榜单类展示:
<li>销量第一(iPhone 15 Pro)→<li>续航最强(Pixel 8)→<li>拍照评分最高(S24 Ultra) - 安装/配置步骤:
<li>下载驱动 →<li>连接 USB →<li>运行 setup.exe
关键判断标准:打乱顺序后,用户是否无法理解或操作失败?如果是,才用 <ol>。
比 更适合参数说明类内容
- 更适合参数说明类内容
如果想在商品页里罗列“参数名 + 解释”,比如「防水等级:IP68,可在 6 米水深下停留 30 分钟」,应该用 <dl>,而不是 <ol> 或 <ul>:
立即学习“前端免费学习笔记(深入)”;
-
<dt>放参数名(如<dt>防水等级</dt>),必须为内联级、不可换行 -
<dd>放解释(如<dd>IP68,可在 6 米水深下停留 30 分钟</dd>),浏览器默认缩进,语义上明确是“对前一项的描述” - 禁止把多个
<dt>塞进一个<dd>,也不允许<dd>单独存在无对应<dt>
常见错误是写成 <ol><li>防水等级:IP68</li></ol>——这会让读屏器读作“第一项:防水等级:IP68”,丢失术语与解释的映射关系。



















