HTML 词条目录
前端Wiki/词条/无障碍 aria 标签

无障碍 aria 标签

定义给屏幕阅读器补充文字描述,让图标按钮等无文字的控件可被理解

aria-label 的作用对象是「看起来不像什么」的控件:一个只有放大镜图标的搜索按钮、一个纯图标导航,视觉用户能看懂,读屏用户只能听到「按钮」二字。此时加 aria-label=搜索,读屏软件就会把这串文字播报出来。核心原则是补充而非重复——按钮里已有文字就不要再写 label,否则会被重复朗读。

无障碍的优先级永远是:原生语义标签优先,aria 打补丁次之。能用 button 就别用 div 加 role=button;table已经有 th 就别再补 aria。真正需要 aria 的场景除了图标按钮,还有动态更新的区域(aria-live 把新消息播报出来)和自定义控件(用法与属性对照 WAI-ARIA 设计模式实现)。一个常见的黄金搭档是 aria-label 配合 visually-hidden 样式隐藏可见文字。

HTML
<style>
  .icon-btn { width: 40px; height: 40px; border-radius: 8px;
              border: 1px solid #4a9eff; background: #f0f7ff;
              font-size: 18px; cursor: pointer; }
  .sr-only { position: absolute; width: 1px; height: 1px;
             overflow: hidden; clip: rect(0 0 0 0); }
</style>
<button class="icon-btn" aria-label="搜索">
  <span aria-hidden="true">&#128269;</span>
  <span class="sr-only">搜索</span>
</button>
<button class="icon-btn" aria-label="关闭菜单">&#10005;</button>
<nav aria-label="主导航">
  <a href="#a">首页</a> <a href="#b">文章</a>
</nav>
⚠ 常见误区
🔗 相关词条可访问性alt
← 返回来源章节可访问性