我们目前正在为单个页面应用程序提供初始索引页面,而不在HTML标记上设置lang属性。目前,我们也没有在页面加载后动态设置它。
如果动态设置语言而不是已在初始页面上设置语言,屏幕阅读器是否有任何问题?
答案 0 :(得分:2)
现代屏幕阅读器理解javascript并使用javascript修改的DOM而不是初始DOM。
只要您没有太晚更改lang
属性(在屏幕阅读器已经开始发言之后),它就应该有效。
请注意,如果您不使用HTML5 api历史记录更改当前网址,则切换语言可能会导致一些错误。
答案 1 :(得分:0)
不,不是我的知识。 我们已经在已发布的产品中完成了它。我们的案例是获得了满意的拼写检查语言。所以我们动态地改变所有元素的lang属性,它只是工作正常。
答案 2 :(得分:0)
没有。之前的两个答案都有,但是我将链接用于客户端/会话的CodePen演示,以便您自己测试并确认:
http://codepen.io/aardrian/pen/eBOrZY
我切换main
,但我也在html
上进行了操作,您可以在笔中调整以下代码来执行此操作:
function toggleLang(l) {
var m = document.querySelector('main');
m.setAttribute('lang', l);
}