在 HTML 中有多余的语言属性是否可以接受?

Is it acceptable to have redundant language attributes in HTML?

就可访问性而言,可以使用类似的东西吗:

<html lang="en">
    <body>
      <h2 lang="fr">Imagine this is in French</h2>
      <h2 lang="en">English headline</h2>
      <h2 lang="en">English headline</h2>
      <h2 lang="fr">Imagine this is in French</h2>
    </body>
</html>

请注意,这只是一个粗略的演示示例,我不需要 HTML 验证。

正如您从示例中看到的那样,我假设理想的情况是具有上述但没有英文标题的 lang 定义,因为它是由整个文档给出的。但是从可访问性的角度定义它们有什么坏处吗?

lang 属性可以而且应该用于指示文档中的语言更改。这允许辅助技术 - 如屏幕阅读器 - 改变他们的发音,以可以理解的口音阅读文本。

你的例子没问题,但没有必要,因为文档的基本语言是英语,你只需要指出对其他语言的更改(范围是分层的——即它只适用于元素及其子元素)。

<html lang="en">
    <body>
      <h2 lang="fr">Parlez-vous Francais?</h2>
      <h2>English headline</h2>
      <h2>English headline</h2>
      <h2 lang="de">Sprechen Sie Deutsch?</h2>
    </body>
</html>

这是一个支持这种用法的 W3C 参考 http://www.w3.org/International/questions/qa-lang-why.en