html - 用于文章反应的语义 HTML
问题描述
我需要为博客文章创建一个反应部分(像 Facebook 反应一样思考),但我想知道我选择的标记在语义上是否正确。反应是否会<aside>
在一个标签下<article>
?
我决定使用带有 a 的<figure>
元素<figcaption>
作为反应的名称。现在它只是一个使用表情符号的模拟,但将来它可能是一个 svg/img 元素。
对于做出反应的人数,我决定使用该<output>
元素。当用户点击反应时,这个数字会增加。
我不确定我的选择在语义上是否正确,并且很想得到一些反馈。<output>
我对在标签中使用犹豫不决,<figure>
但它在MDN 中声明标签中允许流内容<figure>
。
.reactions {
list-style: none;
display: flex;
justify-content: center;
text-align: center;
}
figure {
display: flex;
flex-direction: column;
}
<article>
<header>
<h1>Me article heading</h1>
</header>
<section>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dicta quos, voluptatem ab aliquam perspiciatis magnam a ullam aspernatur neque unde similique omnis doloremque at, sit dolorum natus velit dolores. Illo.</p>
</section>
<aside>
<ul class="reactions">
<li>
<figure>
<figcaption>Like</figcaption>
<output>16</output>
</figure>
</li>
<li>
<figure>
<figcaption>Sad</figcaption>
<output>50</output>
</figure>
</li>
<li>
<figure>
<figcaption>Angry</figcaption>
<output>0</output>
</figure>
</li>
<li>
<figure>
<figcaption>Wow</figcaption>
<output>234</output>
</figure>
</li>
<li>
<figure>
<figcaption>LOL</figcaption>
<output>9</output>
</figure>
</li>
</ul>
</aside>
</article>
解决方案
您可以将它放在一个footer
元素中,因为它用于“有关其部分的信息”。在 this中,如果反应列表需要一个部分footer
,您可以继续使用该元素。aside
<article>
<h1>Me article heading</h1>
<footer>
<aside>
<h2>Reactions</h2>
<!-- reaction list -->
</aside>
</footer>
</article>
ul
您可以使用dl
element代替元素,它表示每个列表条目都包含一个标签和一个值。
<dl>
<dt>Sad <span></span></dt>
<dd>50</dd>
<dt>Angry <span></span></dt>
<dd>0</dd>
</dl>
但是,这不允许您使用figure
+ figcaption
(仅标签和图标除外),但我认为它无论如何都不会在这种情况下添加有用的语义。
虽然该output
元素似乎符合其定义(“用户操作的结果”),但我认为它不适合这种情况——但很难确定。
可能有用的是提供一个标签,清楚地表明这些是反应的数量。如果标签不应该在页面上可见,您可以考虑使用aria-label
.
推荐阅读
- postgresql - Postgres 使用 Truncate 捕获历史
- macos - 您必须自己安装对等依赖项
- objective-c - 内存泄漏 - 不确定如何/在哪里 CFRelease() CFSet
- python-3.x - ValueError:发现样本数量不一致的输入变量:[7111、1778]
- firebase - 是否在公共存储桶 uid(用户)安全中命名对象
- jquery - Flask - 使用 request.form.get 时获取 NoneType
- java - Maven - 在构建期间操作打包在 WAR 中的文件
- kubernetes-helm - 如何使用旅部署自定义舵图?
- php - 图片上传时未定义的索引错误
- php - 如何在查询中添加 PHP 变量?