文档的可访问名称即 元素内容,是屏幕阅读器默认读出的首句;它必须存在、非空、清晰包含站点名与页面核心信息,且 spa 中需同步更新并配合 aria-live 提示。

HTML 文档本身没有“可访问名称”这个属性;可访问名称是给元素(尤其是交互控件)用的,不是给整个文档定义的。所谓“文档的可访问名称”,实际是屏幕阅读器读出的页面标题,它来自 <title></title> 元素内容,而不是某个叫“accessibility name”的 HTML 属性。
为什么 <title></title> 决定屏幕阅读器说的第一句话
当用户打开页面,NVDA、VoiceOver 等工具默认先读出 <title></title> 文本——这是唯一被所有主流辅助技术一致支持的“文档级可访问名称”。它不依赖 ARIA,也不需要 JavaScript,是最低成本、最高兼容性的入口标识。
-
<title></title>必须存在,且不能为空(否则屏幕阅读器可能 fallback 到 URL 或报“无标题”) - 不要写成
<title>首页</title>这类模糊表述;应包含站点名 + 当前页核心信息,例如<title>购物车 — 淘宝网</title> - 服务端渲染或单页应用中,路由切换时必须同步更新
<title></title>,否则用户会误以为没跳转成功
aria-label 和 aria-labelledby 不作用于 或
你不能给 标签加 aria-label 试图“定义文档名称”——规范明确禁止对根元素使用这些属性,浏览器和读屏器会直接忽略。同样, 也不是合法目标。
函数是一组语句一起执行任务。在MATLAB中,函数定义在单独的文件。文件函数的文件名应该是相同的。 函数操作在自己的工作空间,它也被称为本地工作区,独立的工作区,在 MATLAB 命令提示符访问,这就是所谓的基础工作区的变量。函数可以接受多个输入参数和可能返回多个输出参数 。 MATLAB是MathWorks公司开发的一种编程语言。它最初是一个矩阵的编程语言,使线性代数编程很简单。它可以运行在交互式会话和作为批处理作业。有需要的朋友可以下载看看
-
aria-label只对可聚焦/交互元素(如<button></button>、<a></a>、<input>)生效 - 若强行写
,DevTools 里能看到属性,但 NVDA 不会读它,也不会影响任何可访问性指标 - 想让整页有语义上下文?靠的是合理的 heading 结构(
<h1></h1>)、<main></main>区域标记,以及上面说的<title></title>
单页应用(SPA)里最容易漏掉的更新点
React/Vue 项目常通过 document.title = ... 动态改标题,但这只是 DOM 更新,部分旧版读屏器(比如 IE11 + JAWS)不会监听该变化,必须触发一次焦点重置或发送 aria-live 提示。
立即学习“前端免费学习笔记(深入)”;
- 推荐组合:改
document.title+ 在<main></main>上加临时aria-live="polite"并更新 innerText(如 “页面已切换到订单列表”) - 不要依赖
history.pushState()自动触发读屏;它只改 URL,不触发任何可访问性事件 - 测试时务必关闭浏览器标签页预加载(Chrome 的 “Prerender pages” 设置),否则读屏可能读取的是上一页的
<title></title>
真正影响“用户第一印象”的,就只是那一行 <title></title>。别的都得往后排——包括你刚写的那堆 aria-* 属性。别在根元素上浪费调试时间。










