HTML5 `<figure>` 标签:提升网页语义化与可访问性的利器

目录

  • 什么是 `<figure>` 标签?
  • 为什么我们要用 `<figure>`?
  • `<figure>` 标签的语法
  • `<figure>` 标签的适用场景
    • 1 图片及其说明 (最常用)
    • 2 代码片段及其注释
    • 3 图表、流程图或数据可视化
    • 4 引用或引文 (Quote) 及其出处
  • 总结

在现代网页开发中,我们不仅仅关注页面看起来如何,更注重其内在的 语义结构。一个结构良好、语义清晰的网页,不仅能更好地被搜索引擎理解,也能为使用辅助技术(如屏幕阅读器)的用户提供更友好的体验。而 HTML5 中的 <figure> 标签,正是实现这一目标的关键工具之一。

你可能经常看到网站用 <div> 来包裹图片和文字说明,但你知道吗?其实有一个更专业、更有语义的标签来完成这项任务——那就是 <figure>


什么是 <figure> 标签?

<figure> 标签用于表示一段独立的内容,这些内容可以独立于文档的主流程存在,并且在语义上与文档相关。它通常与 <figcaption> 标签一起使用,<figcaption> 用来为 <figure> 中的内容提供标题或说明。

简单来说,<figure> 就是给你的图片、图表、代码片段等内容提供一个“容器”,并附上一个明确的“标签说明”。


为什么我们要用 <figure>

使用 <figure> 的主要好处在于:

  1. 提升语义化: 告诉浏览器和搜索引擎这部分内容是一个独立的单元,并且附带了说明。这有助于提升网页的结构和意义。
  2. 增强可访问性: 对于依赖屏幕阅读器的用户来说,<figure><figcaption> 能够清晰地告知他们图片或图表的内容及其说明,极大提升了用户体验。
  3. 更好的内容组织: 让你的 HTML 代码更清晰、更易于管理和维护。

<figure> 标签的语法

<figure> 的基本语法非常直观:

<figure><figcaption></figcaption>
</figure>

请注意,<figcaption> 可以放在 <figure> 内部的开头或结尾,取决于你希望标题显示在内容的上方还是下方。


<figure> 标签的适用场景

现在我们来看看在哪些场景下,使用 <figure> 标签会是你的最佳选择:

1 图片及其说明 (最常用)

当你页面上的图片需要配上文字说明时,<figure> 是完美的选择。

<figure><img src="beautiful-sunset.jpg" alt="夕阳下的海滩"><figcaption>图 1:宁静的夕阳与沙滩,拍摄于夏威夷。</figcaption>
</figure>

这样做不仅让图片和说明语义关联,也方便 CSS 样式化。

2 代码片段及其注释

在技术博客或文档中,展示代码并提供说明是非常常见的。

<figure><pre><code>
function calculateSum(a, b) {return a + b;
}
console.log(calculateSum(5, 3)); // 输出 8</code></pre><figcaption>代码示例 1:一个简单的 JavaScript 求和函数。</figcaption>
</figure>

<pre><code> 标签通常用于包裹代码,而 <figure> 则为整个代码块提供了语义。

3 图表、流程图或数据可视化

任何需要解释的图表或可视化内容都非常适合用 <figure> 包裹。

<figure><img src="quarterly-sales-chart.png" alt="某公司季度销售额图表"><figcaption>图 2:2024 年第一季度公司销售额增长趋势图。</figcaption>
</figure>

4 引用或引文 (Quote) 及其出处

如果你想引用一段文字,并明确标注出处,<figure> 也可以派上用场。虽然 <blockquote> 标签用于引用块,但你可以用 <figure> 来包含 <blockquote> 和其出处,使其成为一个独立的语义单元。

<figure><blockquote><p>独行者速,众行者远。</p></blockquote><figcaption>—— 非洲谚语</figcaption>
</figure>

总结

在 HTML5 中,<figure> 标签不仅仅是一个简单的容器,它更是一种语义化的声明,告诉浏览器和用户这部分内容是一个独立的、有意义的单元。虽然它的使用频率可能不如 <div> 那么高,但它在提升网页可读性、可访问性和搜索引擎优化方面的作用不容小觑。

下次当你需要为图片、代码或其他独立内容添加说明时,不妨尝试使用 <figure><figcaption> 标签,让你的网页更加专业和友好!

你是否已经在你的项目中开始使用 <figure> 标签了呢?或者有什么其他关于语义化 HTML 的想法?欢迎在评论区分享!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/91125.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/91125.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络五层模型

我们常说的“计算机网络五层协议模型”&#xff0c;是一个实际应用中广泛采用的简化模型&#xff08;介于OSI七层&#xff08;Open System Interconnect&#xff09;与TCP/IP四层之间&#xff09;&#xff0c;用于描述网络通信中各层的职责与作用。 文章目录第5层&#xff1a;应…

数据开源 | “白虎”数据集首批开源,迈出百万数据征途第一步

“白虎”数据集首批开源 在机器人智能不断迈向自主化、通用化的进程中&#xff0c;如何解决人形机器人的“喂养”难题、走出“数据荒漠”&#xff0c;已成为具身智能领域亟需攻克的关键课题。为此&#xff0c;2025 年初&#xff0c;全国首个异构人形机器人训练场在模力社区正式…

第17章——多元函数积分学的预备知识

文章目录思维导图场论初步方向导数梯度散度与旋度今日格言&#xff1a;如果凡事缺少了实行的勇气&#xff0c;再有智慧与仁爱也是枉然。思维导图 场论初步 场就是空间区域ΩΩΩ上的一种对应法则。可分为&#xff1a;数量场和向量场。 比如一个数量函数uu(x,y,z)uu(x,y,z)uu(x…

Vue》》Slot 插槽

插槽的概念 插槽就是子组件中的提供给父组件使用的一个占位符&#xff0c;用slot标签 表示&#xff0c;父组件可以在这个占位符中填充任何模板代码&#xff0c;如 HTML、组件等&#xff0c;填充的内容会替换子组件的slot标签。简单理解就是子组件中留下个“坑”&#xff0c;父组…

AKS部署.Net Shopping(K8S本地部署/AKS部署/key-value)

文章目录 项目地址 一、Api配置修改 1.1 配置docker 1. docker-compose配置环境变量 2. 修改appsettings 二、本地k8s部署 2.1 将本地镜像Push到dockerHub 2.2 制作K8S yaml文件 1. mogodb 2. shopping api 3. shoppingclient 3. port补充 4. Service 的type 三、部署到AKS 3.1…

vue3 el-table 去除小数

在 Vue 3 中使用 Element Plus 的 <el-table> 组件时&#xff0c;如果你希望去除表格列中的小数&#xff0c;你可以通过几种方式来实现&#xff1a;1. 使用 formatter 属性<el-table-column> 组件的 formatter 属性允许你自定义单元格的显示格式。你可以使用这个属…

JavaScript数组去重性能优化:Set与Object哈希表为何效率最高

文章目录 数组去重性能优化:为什么Set和Object哈希表的效率最高 引言 一、数组去重的常见方法 1.1 双重循环法 1.2 indexOf/includes方法 1.3 排序后相邻比较法 1.4 filter + indexOf方法 1.5 使用Set数据结构 1.6 使用Object哈希表 二、性能对比分析 2.1 时间复杂度对比 2.2 …

在VS Code中克隆项目失败

前提条件&#xff1a;电脑中已经安装好了Git一、错误原因&#xff1a;1、打开命令面板 快捷键 CtrlShiftP&#xff0c;输入Git: Clone 并回车&#xff1b;2、输入仓库URL回车后就发现报错了可以看到最后一行的报错内容&#xff1a;Git 无法找到或读取 SSL 证书文件&…

ASP.NET Core MVC中taghelper的ModelExpression详解

Microsoft.AspNetCore.Mvc.ViewFeatures.ModelExpression 是 ASP.NET Core MVC 框架中的一个核心类型&#xff0c;用于表示对模型属性的强类型引用。它在 Razor 视图、表单绑定和自定义 Tag Helper 中扮演关键角色&#xff0c;下面从技术细节、应用场景和最佳实践三个方面详细解…

楼宇 3D 建模:驱动建筑领域革新的数字力量

在科技飞速发展的当下&#xff0c;数字化技术正深刻改变着各个行业&#xff0c;建筑领域也不例外。楼宇 3D 建模作为关键的数字化技术&#xff0c;逐渐成为建筑设计、施工和管理过程中不可或缺的工具。它通过将现实中的楼宇以三维数字模型呈现&#xff0c;为建筑行业带来前所未…

打通视频到AI的第一公里:轻量RTSP服务如何重塑边缘感知入口?

在 AI 系统大规模部署、设备边缘化、数据实时化趋势下&#xff0c;视频能力的部署方式正迎来深刻变革。2025世界人工智能大会&#xff08;WAIC&#xff09;上&#xff0c;视频感知与智能决策之间的“连接效率”成为关键话题。而在这场连接能力的竞争中&#xff0c;轻量级、标准…

旅行短视频模糊的常见原因及应对方法

在旅行中拍摄短视频时&#xff0c;你是否经常遇到这样的问题&#xff1a;明明景色很美&#xff0c;但拍出来的视频却模糊不清&#xff0c;色彩暗淡&#xff0c;甚至噪点严重&#xff1f;尤其是在弱光环境&#xff08;如夜景、洞穴&#xff09;或快速移动&#xff08;如航拍、运…

【基础篇四】ASGI:Python异步Web的新标准

目录 一、ASGI规范深度解析 1.1 ASGI的诞生背景 1.2 ASGI核心概念 1.3 ASGI规范版本演进 二、WSGI vs ASGI&#xff1a;深度对比分析 2.1 架构模式对比 2.2 性能特性对比 2.3 适用场景分析 三、ASGI支持的协议类型 3.1 HTTP协议支持 3.1.1 HTTP处理流程 3.2 HTTP S…

51 单片机单文件多文件结构工程模板的创建教程

本章将详细介绍KEIL C51软件的使用方法及51单片机工程的创建流程。通过本章学习&#xff0c;掌握建立51单片机工程模板的技能&#xff0c;为后续51 单片机编程学习奠定基础。 单文件与多文件结构对比 对比项单文件结构多文件结构项目规模小项目、实验项目中大型项目、正式开发…

【Git】实用Git操作指南:从入门到高效协作

目录 1. Git 工作流程图 2. 基本配置 3. 获取本地仓库 4. 基础操作 5. 分支 6. Git远程仓库 6.1 常用的托管服务[远程仓库] 6.2 注册码云 6.3创建远程仓库 6.4 配置SSH公钥 6.5 操作远程仓库 7. 在IDEA中使用Git 附&#xff1a;铁令 下载地址&#xff1a;Git - Downloads 安装&…

InstructBLIP:通过指令微调迈向通用视觉-语言模型

温馨提示&#xff1a; 本篇文章已同步至"AI专题精讲" InstructBLIP&#xff1a;通过指令微调迈向通用视觉-语言模型 摘要 大规模预训练和指令微调在构建通用语言模型方面取得了显著成功。然而&#xff0c;构建通用视觉-语言模型仍然面临挑战&#xff0c;这主要源于…

[python][flask]flask蓝图使用方法

在 Flask 中&#xff0c;蓝图&#xff08;Blueprint&#xff09;是一种用于组织和管理代码的机制&#xff0c;可以将应用分解为多个模块&#xff0c;每个模块专注于特定的功能。以下是使用蓝图的基本步骤和方法&#xff1a;1. 创建蓝图首先&#xff0c;需要创建一个蓝图对象。蓝…

学习dify:一个开源的 LLM 应用开发平台

Dify 是一个开源的 LLM 应用开发平台。其直观的界面结合了 AI 工作流、RAG 管道、Agent、模型管理、可观测性功能等&#xff0c;让您可以快速从原型到生产。以下是其核心功能列表&#xff1a; 1. 工作流: 在画布上构建和测试功能强大的 AI 工作流程&#xff0c;利用以下所有…

VEX实现物体沿线条流动

1. 效果如下&#xff1a;float offset fit01(rand(ptnum654),0.5,1)*Time*chf("speed") rand(ptnum547);int num nprimitives(1); vector pos primuv(1,"P",ptnum%num,offset%1);P pos;2.效果如下&#xff1a; float min detail(1,"min");…