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 Service 和 Nu Html Checker)不会将这些属性的使用标记为错误。不标记这些似乎是验证器中的一个错误,一旦我收集到更多细节并构建一个简化的测试用例,我将提交一个。或者,如果这应该得到支持,那么我可以针对 ARIA 规范提交错误。如果您可以提供更多详细信息和上下文以添加对 ARIA 的支持,那将有所帮助。
同时,做了一些测试:
NVDA/FF 似乎不支持
aria-live
在<title>
完全没有。JAWS/IE11 似乎确实支持
aria-live
在<title>
但不一致。它也没有宣布它是已更改的页面标题。我没有方便的 VoiceOver 来测试。我没有在 Narrator、TalkBack 或 Orca 中进行测试。
我做了一个CodePen测试页:
- 您可以编辑的网址:http://codepen.io/aardrian/pen/XpqZMB?editors=1010
- 排除 CodePen cruft(用于测试)的 URL:http://s.codepen.io/aardrian/debug/XpqZMB
关于javascript - 实时区域不适用于动态页面标题 - angularjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42014903/