在客户端动态设置HTML lang属性有什么缺点吗?

时间:2017-03-08 10:14:17

标签: javascript html accessibility

我们目前正在为单个页面应用程序提供初始索引页面,而不在HTML标记上设置lang属性。目前,我们也没有在页面加载后动态设置它。

如果动态设置语言而不是已在初始页面上设置语言,屏幕阅读器是否有任何问题?

3 个答案:

答案 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);
}