7

(我对 HTML 4.01HTML5 感兴趣,如果应该有区别的话)

lang元素上的属性是否也img适用于该src属性?还是仅针对altandtitle属性?

例子:

<img src="example.png" alt="a red foobar" lang="en" />

图像“example.png”是否被认为是英文的?(想想论坛主题的屏幕截图,或单词的图形表示,或文档的扫描)

如果是真的,具有非语言内容的图像将需要获取lang="zxx". 但这也适用于alt/title属性,这是不正确的。

4

2 回答 2

6

HTML 4.01 将属性定义lang为指定“元素属性值和文本内容的基本语言”,而HTML5 将其定义为“元素内容和任何包含文本的元素属性的主要语言”。不同之处显然仅在于配方。该lang属性指定语言alttitle属性以及可能包含散文文本的其他属性,这与 URL 或style属性等类似代码的值相反,其中(人类)语言不适用。

从逻辑上讲,src属性本身不是任何(人类)语言。所以问题是lang属性是否扩展到由src属性表示的图像。这是一个相当理论化的问题——答案可能对软件行为产生什么影响?无论如何,答案取决于我们所理解的“文本内容”(图像在某种意义上是文本,在格式上,但可能 HTML 4.01 意味着仅引用实际的字符数据)和“元素的内容”(是图像的一部分)img元素的内容?)。总体而言,似乎无法在 HTML 中指定图像的语言(尽管是一个可行的概念)。

因此,无需担心带有非语言内容的图像。对于“非语言”的文本内容(即不是任何人类语言的文本,而是一些代码符号或随机字符序列),lang=""HTML5 推荐使用。这也是实用的方法。在少数情况下,whetelang属性有任何影响,如在自动断字中,lang=""实际上意味着没有应用语言规则(例如,没有断字)。这与省略属性不同,这意味着元素从其父元素继承语言信息。

于 2012-09-27T16:28:14.060 回答
2

在 HTML 4.01 中,第 13.8 节说:

替代文本的语言由lang属性指定。

在 HTML5 中,它说

指定元素内容和包含文本的任何元素属性的主要语言。

我在当前的 HTML5 草案中找不到任何像 HTML 4.01 规范那样明确定义alt和属性之间关系的内容。lang希望稍后会澄清,但我现在假设没有任何变化,并且它所做的陈述同样适用。

src两个规范都没有说明和属性之间的明确关系lang,但我不会假设源图像本身的语言对应于lang属性,因为并非所有图像都具有语言内容(正如您所提到的)。

title和也是如此lang,但这可能取决于元素类型,我不完全确定。同样,它上面的一般说明应该适用于title.

于 2012-09-27T13:38:26.387 回答