如果页面加载,然后使用 javascript 更改<html>
元素上的语言属性,这会对可访问性有害吗?或者屏幕阅读器和其他辅助功能设备通常是否让页面在解析之前加载动态内容?此外,它是否符合WCAG 2 3.1.1?我已经阅读了规范的这一部分,它似乎没有涉及这一点。
在这种情况下,系统是一个单页 Web 应用程序,可根据用户首选项加载各种语言的内容。我们也在研究 3.1.2(将 lang 添加到子元素(,但我们仍然需要适当地标记<html>
元素。
我目前的实施计划是最初将 lang 修复为英语(因为这是默认语言(,然后在用户首选项加载时更改 lang 属性。
WCAG 3.1.1 要求中没有任何内容表明必须在加载的 html 上设置lang
,或者阻止在页面加载时设置lang
。 你应该没事的。
很容易测试您是否有一个屏幕阅读器,当它看到lang
属性时会切换方言。 只需尝试以下操作:
<p>dos</p>
<p lang="es">dos</p>
<p>deux</p>
<p lang="fr">deux</p>
然后,如果您动态地将页面语言更改为"es"或"fr",请查看"dos"或"duex"是否与指定lang
的
发音相同。