微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 <dl> 用于技能列表是否合适? 简答更长的答案

如何解决将 <dl> 用于技能列表是否合适? 简答更长的答案

我正在为我的作品集网站编写一个“关于我”页面,我想知道使用 <dl> 列出我的技能在语义上是否正确。像这样:

<dl>
  <div class="flex-container flex-row">
    <dt>html</dt>
    <dd>clean,</dd>
    <dd>semantic,</dd>
    <dd>accessible.</dd>
  </div>
  <div class="flex-container flex-row">
    <dt>css</dt>
    <dd>flexBox,</dd>
    <dd>grid</dd>
  </div>
</dl>

还是仅使用 <ul> 更好?我主要想知道屏幕阅读器会用它做什么。 MDN 有点不清楚。

谢谢!

解决方法

简答

争论主要集中在定义列表与一系列标题+段落之间。从技术上讲,它们通常可以互换,不会产生太大的影响。

我会说选择一个或另一个实际上应该取决于定义体的长度。 如果它很短,使用定义列表可能会更好。如果定义包含整个段落,那么最好使用标题和段落。

在你的情况下,我建议保留定义列表,因为你的“定义”很短。

更长的答案

在考虑短=定义列表,长=标题+段落的背后,请记住屏幕阅读器可以选择按标题导航:

  • 如果有很多,导航效率会降低。 您必须将它们用于页面的重要部分,但不应过度使用它们来拆分太小的部分。如果您为每个技能使用一个标题和一个段落,那么像您的技能列表之类的内容可能会产生太多嘈杂/非常无用的标题。
  • 在另一边,如果没有标题或标题太少,导航就没有用了。如果一个 DD 的内容变长了,其实你的 DT 就是在“偷”一个标题,也就是说你应该用一个标题分隔那个长的 DD 部分,这样就可以快速跳转到它。 在您的情况下,您的 DD 相当短,因此您根本没有“窃取”任何标题。

我想知道 <div> 中是否允许使用 <dl>,是的,根据 this question。 所以继续使用定义列表。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。