背景图像的加载速度是否比HTML中嵌入的图像快?屏幕阅读器是如何读取这些图像的?

背景图像的加载速度是否比HTML中嵌入的图像快?屏幕阅读器是如何读取这些图像的?,html,accessibility,screen-readers,Html,Accessibility,Screen Readers,如果背景图像和嵌入图像的大小相同,那么它们在HTML页面上的加载时间是否相同?如果我在一个页面中使用同一个图像两次,一次作为背景,一次作为普通嵌入图像,哪个加载速度更快 为了使网站与屏幕阅读器兼容,最好的方式是什么?屏幕阅读器是否能很好地阅读背景图像,还是他们只是忽略了背景图像 如果背景图像和嵌入图像的大小相同,那么它们在HTML页面上的加载时间是否相同 我会说是的,但我认为这也取决于它们的加载方式。过去有一种做法叫做图像预加载。我从未亲自做过速度测试,以了解这是否真的有益 为了使网站与屏幕阅读

如果背景图像和嵌入图像的大小相同,那么它们在HTML页面上的加载时间是否相同?如果我在一个页面中使用同一个图像两次,一次作为背景,一次作为普通嵌入图像,哪个加载速度更快

为了使网站与屏幕阅读器兼容,最好的方式是什么?屏幕阅读器是否能很好地阅读背景图像,还是他们只是忽略了背景图像

如果背景图像和嵌入图像的大小相同,那么它们在HTML页面上的加载时间是否相同

我会说是的,但我认为这也取决于它们的加载方式。过去有一种做法叫做图像预加载。我从未亲自做过速度测试,以了解这是否真的有益

为了使网站与屏幕阅读器兼容,最好的方式是什么?屏幕阅读器是否能很好地阅读背景图像,还是他们只是忽略了背景图像

屏幕阅读器不会宣布
等附加了背景图像。在这种情况下,
alt
属性没有神奇的位置。你需要记住,你的图像和文本颜色之间保持着良好的对比度。在我看来,WebAIM有一个很好的解决方案


如果您使用CSS将文本放置在用作背景的图像上,这样您就可以给它一个
alt
,不要这样做。无论如何,该图像可能应该有一个空alt(
)。

如果同时使用图像作为背景和图像(即使用同一图像两次),则技术上只需加载该图像一次,假设图像已正确缓存。。。 也就是说,一旦加载了带有缓存头的图像,或者正在下载该图像,浏览器将从缓存加载该图像,或者等待该图像完成加载

至于背景图像和嵌入图像的加载时间是否相同。让我们了解一下上下文。根据谷歌的说法:

最后,请注意,每个图像本身都会逐步渲染,以便 用户开始看到整个图像之前的图像内容 已完成加载。现代浏览器以HTML标记呈现图像 逐步地。相比之下,许多浏览器不渲染图像 使用CSS背景图像属性逐步指定。到 启用图像的渐进呈现,请改用HTML标记 CSS背景图像属性的

因此,使用标记的图像加载速度更快,并且不会阻碍DOM的准备工作,这与旧浏览器中的内联css背景图像不同,后者可能会降低速度

但是,渐进式渲染的注意事项是,如果在激发widow.onload事件时图像未完全加载(对于大型图像几乎总是如此),则会导致非常难看的渐进式渲染,并且在使用“自动宽度”和/或“100%宽度”将图像设置为响应时会导致绘制回流

为了使内联图像加载速度更快、效果更好,我所做的是:

首先,非常早地将它们作为css背景在页面中和页面上预加载。在css文件或主体被解析之前,您也可以通过这种方式开始预加载部分或全部css图像

其次,为了克服其他缺点,我使用javascript延迟加载方法在加载窗口之前隐藏交互事件上的图像

最后,加载完css图像后,将图像作为淡入淡入淡入淡入淡入淡入淡入淡入淡入淡入淡入淡入淡入淡入淡入淡入淡入淡入淡入淡入淡入淡入淡入

您可以在以下位置看到一个实例:

因此,虽然嵌入图像是最好的。如果您关心页面加载的最佳速度,我强烈建议您尽早通过头部的css背景预加载大型图像,特别是如果您必须立即将其用作背景


这是因为,否则,身体中的图像将不得不等到css文件和同步javascript都被完全接收,直到浏览器真正开始检索它们。这通常会导致100到500毫秒的延迟,最严重的延迟是在第一页加载时。

不同的浏览器可能有不同的优化,但我认为这两种情况下的瓶颈都是下载图像,而不是在输出中呈现图像的方式/位置。所以本质上是一样的。对于屏幕阅读器,您希望它如何读取图像?如果图像是样式的一部分,屏幕阅读器可能(也应该)忽略它。如果它是标记的一部分,那么我想象屏幕阅读器可能被配置为指示图像存在,并且可能指示有关图像的一些信息(例如其
alt
标记)。背景图像的最大优势是spring(更少的HTTP请求)。至于可访问性,图像替换技术可以解决这个问题。
我明白你的意思,但这可能不是SEO的理想选择?我想在这样的情况下,我们不能让它成为SEO和可访问性的理想选择。我们必须优先考虑其中一个。如果图像是用作背景的,那么最好通过CSS将其用作背景,而不是直接将其嵌入代码中。关键字填充是一种不好的SEO方法。背景图像的alt值过高弊大于利。自然搜索引擎优化(Natural SEO)包括写内容,这样你的关键词的变化就会自然出现,每200个单词就会出现1-3次。巧妙地使用标题标记,再次自然地使用关键字。使用关键字和描述
meta
标记。我从来没有听说过一个好的源代码为你搜索引擎优化。一个好的代码胜过填充关键字的垃圾。