javascript - 实时区域不适用于动态页面标题 - angularjs

标签 javascript html angularjs accessibility single-page-application

Angular 改变 View ,使页面标题改变,但屏幕阅读器无法阅读,所以我尝试使用实时区域,但这不起作用。

<title ng-bind="title" aria-live="assertive" aria-atomic="true">Title here</title>

我想知道为什么实时区域在这种情况下不起作用? 我不需要任何解决方案来让用户知道页面已更改并且内容也已更改

最佳答案

<title>元素不允许任何 ARIA 或 role属性:http://w3c.github.io/html-aria/#el-title

两个 HTML 验证器(Markup Validation ServiceNu Html Checker)不会将这些属性的使用标记为错误。不标记这些似乎是验证器中的一个错误,一旦我收集到更多细节并构建一个简化的测试用例,我将提交一个。或者,如果这应该得到支持,那么我可以针对 ARIA 规范提交错误。如果您可以提供更多详细信息和上下文以添加对 ARIA 的支持,那将有所帮助。

同时,做了一些测试:

  1. NVDA/FF 似乎不支持 aria-live<title>完全没有。

  2. JAWS/IE11 似乎确实支持 aria-live<title>但不一致。它也没有宣布它是已更改的页面标题。

  3. 我没有方便的 VoiceOver 来测试。我没有在 Narrator、TalkBack 或 Orca 中进行测试。

我做了一个CodePen测试页:

关于javascript - 实时区域不适用于动态页面标题 - angularjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42014903/

相关文章:

javascript - "saturation"globalCompositeOperation 不改变透明度?

html - 重定向选择框中的选择选项

angularjs - 在angularjs中停止从父 Controller 到子 Controller 的广播传播?

javascript - 数组中的 JSON 对象数组在 javascript 中查找和替换

javascript - 通过多级 html 标签的多行省略号 (clamp),也适用于 IE、Firefox 等

JavaScript 交通灯 OnClick 使用 Switch/Case。语法或逻辑错误?

javascript - Websockets 不再对我有用

javascript - 仅使用 Angular 和 css 在折叠元素上平滑过渡

javascript - 基于滚动高度的淡入/淡出

javascript - 获取 Firestore 中查询的大小