带有`lang`属性的`img`元素:图像本身的语言?

时间:2012-09-27 13:31:57

标签: image html lang

(我对HTML 4.01 HTML5感兴趣,如果存在差异的话)

lang元素的img属性是否也适用于src属性?或者仅适用于alttitle属性?

示例:

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

图片“example.png”是否被认为是英文? (想想论坛帖子的截图,或者单词的图形表示,或者文档的扫描)

如果确实如此,包含非语言内容的图片需要获得lang="zxx"。但这也适用于alt / title属性,这也是不正确的。

2 个答案:

答案 0 :(得分:6)

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

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

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

答案 1 :(得分:2)

在HTML 4.01中,section 13.8说:

  

备用文本的语言由lang属性指定。

在HTML5中,it says

  

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

我在当前的HTML5草案中找不到任何定义altlang属性之间关系的内容,就像HTML 4.01规范那样明确。希望以后能够澄清,但我现在假设没有任何变化,而所做的状态同样适用。

两个规范都没有说明srclang属性之间的明确关系,但我不认为源图像本身的语言对应于lang属性,因为不是所有图像都将具有语言内容(如您所述)。

同样适用于titlelang,但这可能取决于元素类型,我不完全确定。同样,上面状态的内容应适用于title