正确使用button标签可提升可访问性和代码语义化。button元素默认提交表单,type属性决定行为:submit提交、button无默认行为、reset重置表单。应优先于div或span用于触发操作,因其原生支持键盘交互且屏幕阅读器可识别。需确保按钮有文本内容或aria-label,禁用时使用disabled属性而非仅视觉灰显。链接a用于导航,button用于动作执行,二者语义不可混淆。

在HTML中,button标签不仅仅是一个可点击的元素,它还承载着重要的语义信息。正确使用不仅能提升页面的可访问性,还能让代码更清晰、更易于维护。
button标签的基本语义
HTML中的元素表示一个可点击的按钮,其默认行为是提交表单(当位于表单内且类型为submit时),但也可以用于触发JavaScript操作或其他交互。
浏览器会根据type属性决定按钮的行为:
- submit:提交表单数据(默认值)
- button:无默认行为,通常配合JavaScript使用
- reset:重置表单字段到初始状态
例如:
立即学习“前端免费学习笔记(深入)”;
何时使用button而不是div或span
很多开发者习惯用 应该使用 而 语义化不仅是写对标签,还包括让所有用户都能顺畅使用。 示例: 基本上就这些。用对来模拟按钮,但这破坏了语义结构。
的情况包括:
没有内置的交互语义,屏幕阅读器无法识别它们为可操作控件,除非额外添加role="button"和键盘事件处理,这反而增加了复杂度。
提升可访问性的关键点
aria-label
可通过Tab聚焦,按Enter或Space触发,无需额外代码disabled属性,以便辅助技术感知状态与其他交互元素的区别
不是唯一能触发操作的标签,但它最适合“执行动作”的场景。下一步不只是语法问题,而是构建健壮、可访问Web应用的基础。不复杂但容易忽略。











