lang = unknown属性有效吗?

时间:2013-03-14 17:54:04

标签: html lang

给定特定语言的HTML文档(英文)。

我在标签上定义了一个lang属性:

<html lang="en">

页面中的某些文字是用其他语言撰写的(例如法语):

<span lang="fr">
  blabla...
</span>

但是,如果我无法识别语言,但我知道它不是英语,我可以将“unknown”设置为lang属性的有效值吗?

<span lang="unknown">
  blabla...
</span>

我在w3c文档中读过这篇文章,但我不确定“默认值是否为[...]未知”意味着“未知”是真正的价值......

http://www.w3.org/TR/html4/struct/dirlang.html

lang =语言代码[CI] 此属性指定元素的属性值和文本内容的基本语言。 此属性的默认值未知

2 个答案:

答案 0 :(得分:8)

HTML 4.01规范中的措辞不明确;值unknown不是有效的语言标记,并且规范使用单词“unknown”作为普通英语单词。也就是说,默认值是一个值,表示该语言未知,但未明确指定此值。

该规范部分过时,因为它指的是语言标签上被取代的RFC。当前的RFC是RFC 5646,用于识别语言的标签,也称为BCP(最佳实践)47。除其他事项外,它还涉及ISO 639-2关于主要语言标签,并且它们包含代码und表示“未确定”。从技术上讲,你可以使用lang=und,但RFC说:“除非需要语言标签且语言信息不可用或无法确定,否则不应使用此子标签。省略语言标签(如果允许)是优选的。“

这是HTML5 RC中采用的方法,它表示about lang:“将属性设置为空字符串表示主要语言未知。 [BCP47]”

因此,对于无法识别的语言,您可以使用例如<span lang="">...</span>

原则上,当您在更高级别的元素嵌套中指示语言时,这是有用的。设置lang=""可能意味着用户代理禁用拼写检查和特定于语言的格式,例如,尽管这仍然是理论上的。

答案 1 :(得分:0)

如果您不需要,我希望根本不设置。 请注意,lang=值将从其封闭(父)元素派生(如果未设置)。

如果您以某种方式被迫设置,将其设置为默认unknown ,正如您已经建议的那样根据规范似乎完全合法。