我们可以<dl>为每个"、"对使用不同的 '' 元素<dt><dd>吗?



我们可以为每个<dt>,<dd>对使用不同的<dl>吗?如果我们这样做,会不会有访问问题?用例是简化一些组件API。例如:

<!-- Can we do this -->
<div class="container">
<dl>
<dt>First Name</dt>
<dd>Jeff</dd>
</dl>
<dl>
<dt>Last Name</dt>
<dd>Bezos</dd>
</dl>
</div>
<!-- instead of this? -->
<div class="container">
<dl>
<dt>First Name</dt>
<dd>Jeff</dd>
<dt>Last Name</dt>
<dd>Bezos</dd>
</dl>
</div>

在这种情况下,这并不重要,因为定义列表在可访问性方面通常很糟糕。参见我在这个答案中的评论,如何正确使用咏叹调选择器在puppeteer中的定义列表

定义列表没有"列表";角色是默认的,所以不同的屏幕阅读器对它们的解释不同。因此,是否有单独的<dl>不会有太大的影响。

"真正"列表,<ul><ol>做出改变。如果你有一组相关的东西包含在一个列表中,那么它应该只有一个<ul>,而不是一系列的<ul>。屏幕阅读器传递关于列表的元数据信息,例如列表中元素的数量。你可以免费获得这些信息如果你有视力的话,用你的眼睛。一般来说,你可以判断列表中有多少项(如果列表不太长),而屏幕阅读器用户没有这种"看到"功能。选项,这样屏幕阅读器就可以告诉他们这是一个包含5个项目的列表,但前提是它是一个包含5个<li>元素的<ul>

最新更新