gpt4 book ai didi

image - 使用 而不是 包含图像是否有效?
转载 作者:技术小花猫 更新时间:2023-10-29 12:30:15 26 4
gpt4 key购买 nike

灵感来自 this question ,张贴者随意声明<object>应该使用而不是 <img>在 HTML 文档中嵌入图像。

I'm developing a web app at the moment, and, being a perfectionist, I try to make it all shiny and compliant with all the standards. As far as I know, the <img> tag is to be deprecated in the upcoming standards for xHTML, and as nowadays even IE is able to handle <object> properly, I wanted to use the <object> tag for all the images on my site

很明显,张贴者所说的“即将到来的标准”是被遗弃的 XHTML2规范,甚至没有正式弃用 <img>反正。 (尽管显然有 rumors 达到这种效果。)

据我所知,我在 Web 开发社区中没有看到任何人提倡使用通用 <object>标记可以说更具语义且绝对更兼容 <img>标签。

使用 <object> 有充分的理由吗?而不是 <img> ?应该<object>甚至可以用来代替 <img> – 这会破坏什么?

最佳答案

回答标题中的问题:是的,它当然有效object 元素的有效性甚至不依赖于嵌入的数据类型。如果您想问它是否正确,那么答案是肯定的,规范中没有禁止或建议反对的内容。

在使用 object 嵌入图像的可能原因中,最实际的是它允许后备内容包含 HTML 标记,例如标题、列表、表格和短语标记。 img 元素允许您仅指定纯文本作为后备内容——甚至不能指定分段符。

出于可访问性原因,任何图像都应具有要呈现的后备内容,例如在非视觉浏览(屏幕阅读器、盲文等)中使用文档或出于某种原因未显示图像时。对于任何内容丰富的图像(例如,组织结构图或描述复杂流程的绘图),回退内容需要很长并且需要具有某种结构。

但是,很少使用object 来嵌入图像。后备内容的重要性并未得到广泛理解,实际的经济和技术考虑常常导致后备问题被忽视。此外,object 长期以来在浏览器中的实现速度缓慢、漏洞百出且质量不佳。直到最近,相当安全地使用 object 来包含图像才变得可行。

哪个元素更具语义的问题大多是徒劳的,答案通常反射(reflect)了对“语义”概念的各种误解。 imgobject都表示包含(嵌入)外部内容。 img 元素原则上用于包含图像,无论是什么意思,尽管它也被用于包含视频。对于 object 元素,type 属性可用于指定嵌入内容的类型,具体到特定的图像类型,例如type=image/gif,或者它可以保持打开状态。

这意味着 object 元素更灵活:您可以不指定类型,让它在 HTTP header 中指定。这样,嵌入数据的类型可以在不改变 object 元素或一般嵌入文档的情况下改变;例如,您可以从一个简单的版本开始,其中嵌入的内容是图像,然后将其替换为 HTML 文档(例如包含图像和文本)。

关于image - 使用 <object> 而不是 <img> 包含图像是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10407236/

26 4 0