重新审视 abbr 元素

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您的旅程各个阶段提供云产品。从 免费赠送的 200 美元信用额度 开始!

来自 Ire Aderinokun 的一篇关于 <abbr title=""> 元素用于缩写的不可抗拒的 HTML 元素深入研究。你可以直接使用它 (JUI),它工作得很好,但如果你希望为它们创建一个工具提示(在触摸屏上也适用),那么它会变得更加复杂。

最终结果是将语义 HTML 保持原样,并通过大约 50 行 JavaScript 进行渐进增强,这些 JavaScript 添加了交互式包装器元素和事件处理程序。

我觉得这非常适合做成一个 Web 组件,它可以/应该广泛分发供使用。也许一个 <a11y-abbr> 组件或其他什么。不过,Web 组件可以扩展其他原生 HTML 元素吗?如果不是,我想它基本上会退回到 <span>,所以也许这不是理想的选择。

我敢说,这也是 React 可以胜任的一件事。例如,我使用 Reach Router,默认情况下,在创建链接 (<Link> 变成 <a>) 时,它们会获得正确的 aria-current 属性,因为它就是当前页面。这是您免费获得的良好可访问性,因为该库足够好,可以正确地获取该细节。尽管像 React 这样的库在可访问性方面存在问题,但它们在抽象方面存在很大潜力来改进可访问性。就像 Brad Frost 一直在 React 组件中强制执行可访问性最佳实践 一样。

直接链接 →