html - 以最易于访问的方式显示统计信息的正确 HTML 是什么?
问题描述
语境
我正在创建一个显示重要统计信息的组件,如下所示:
它将在几种情况下使用:
- 作为仪表板的一部分,其中将有许多用于不同统计数据的组件,例如 Twitter 关注者和 Github 明星。
- 它也将单独出现在博客文章中(这是关于如何构建此组件的)。
问题
使该组件可访问的最合适的 HTML 是什么?我是否需要使用 ARIA 属性?
我之前的做法
我倾向于使用figure
标题为“Github 追随者”的元素。
<figure>
<figcaption>Github followers</figcaption>
<span>10</span>
</figure>
我目前的做法
我已更改为 using div
s,因为我不知道将使用该组件的所有上下文。相反,我使用该aria-labelledby
属性将数字与其标签相关联。
<div>
<div id="followers">Github followers</div>
<div aria-labelledby="followers">10</div>
</div>
解决方案
感谢所有评论这篇文章的人。我会尽量用我收集到的信息来回答这个问题。
<div>
<div id="followers">Github followers</div>
<div aria-labelledby="followers">10</div>
</div>
这是可重用的React 组件的一部分,所以我使用div
s 而不是上下文/语义 HTML 元素。为了向辅助技术提供有用的信息,我使用了ARIA labelledby 属性。
如果有人对我构建的完整解决方案感兴趣,我已经在我的博客上对此进行了更详细的描述:https ://www.jamiedavenport.dev/blog/building-a-stat-card-component
推荐阅读
- imagesharp - 使用 ImageSharp 加载和保存不透明的 8 位 PNG 文件
- javascript - 无法在 Safari 上运行 webdriver.io javascript 测试
- amazon-web-services - YAML_FILE_ERROR 消息:容器标签数量错误,应为 1
- python - MYSQL CONNECTOR 加载数据本地文件:无法读取文件
- makefile - Automake 和外部条件源
- jquery - 当我使用 jquery 检查复选框时如何打开下拉列表?
- kubernetes - 使用外部域名集成外部服务时,OpenShift 中的主机名验证失败
- javascript - 反应路由器 - 没有从 url 获取参数
- c# - 列表属性实体框架的位置
- string - 字符串中的通配符作为输入