html - 从可访问性的角度来看,我对块引用元素的使用是否可以接受?
问题描述
我有一个简单的方法来输出一些我可以采用的标记,结果是:
<blockquote>The quote</blockquote>
<blockquote>The quotee</blockquote>
例如(1):
<blockquote>The secret of getting ahead is getting started.</blockquote>
<blockquote>- Mark Twain</blockquote>
这让我觉得有点恶心,好像块引用的内容都应该是独立的。而且在这样做的过程中,我可能会通过依赖语义标记的辅助技术(例如屏幕阅读器)触发一些不太理想的结果。
如果它是自包含的,则需要额外的标记来可靠地设置被引用者的样式,以不同于使用 CSS 的引用,例如 (2):
<blockquote>
The secret of getting ahead is getting started.
<span>- Mark Twain</span>
</blockquote>
除了对封装的所有感受之外,有谁知道这些不同的方法如何呈现给用户是否存在明显的差异?
解决方案
除非内容<cite>
是引文本身的一部分,否则它不应该存在于 中<blockquote>
,只有引文应该在其中。
正如html5 规范中关于 blockquotes 的详细说明,在这种情况下,正确的标记将用于<figure>
对引用和作者进行分组。从规范:
...块引用元素与图形元素及其 figcaption 结合使用,以清楚地将引用与其属性相关联(这不是引用的一部分,因此不属于块引用本身)
做,给定您的示例,理想的标记模式将是:
<figure>
<blockquote>
<p>The secret of getting ahead is getting started.</p>
</blockquote>
<figcaption>Mark Twain</figcaption>
</figure>
<cite>
将用于指向该报价的实际来源。
推荐阅读
- reactjs - 如何突出显示material-ui TextField中的部分文本
- python - 在python中将字符串列表与数字数组连接起来的最简单方法是什么
- swift - NSManagedObject 的 Swift 空数组
- android - 在 Android 上的 Expo 上强制 LTR
- lua - haproxy + lua,我们如何根据查询参数值在 2 个后端中进行选择
- c# - 覆盖空条件运算符的默认值
- laravel - Laravel CRON 只能手动通过命令工作,而不是每分钟触发命令
- ruby-on-rails - Rails 6 Capistrano 部署 - Webpacker 问题
- swift - 如何执行一个空名称参数的函数?
- c - 这段代码有错误吗?如果有,在哪里