html - 使用 IMG 元素作为标题 Logo 或背景图像更好吗?为什么?

标签 html seo accessibility graphical-logo

我经常看到像 stackoverflow 这样的网站将其 Logo 嵌入为背景图像,并为屏幕阅读器的文本添加了 span 标签。

<a href="https://stackoverflow.com" class="-logo js-gps-track">
                    <span class="-img _glyph">Stack Overflow</span>
                </a>

为什么这样做而不是带有 alt 文本的 img 元素? 有某种语义原因吗?一些可访问性原因? SEO 原因?

它不适用于在图像未加载时设置备用文本的样式。您可以设置替代文本的样式...

这不是为了性能 - 因为使用 img,您可以使用 srcset 和 Sizes 来提供替代的较小图像,而 CSS 唯一接近 srcset 和 Sizes 功能的规范尚未得到很好的支持。

我认为它有意义的唯一一次是当 spritesheet 用于站点时(例如堆栈溢出)。

如果是为了防止人们“窃取” Logo ,那似乎很愚蠢,因为简单的谷歌搜索就会告诉某人如何获取背景图像的 URL。如果这就是推理,它仍然看起来很愚蠢,因为你可以只使用 pointer-events:none;在图像本身上,并将换行链接设置为 display:inline-block; ,并且它仍然是一个可点击的链接,而没有人能够右键单击并另存为。

我只是想了解这样做是否有优势。

我用谷歌搜索了一下,但没有真正找到任何有用的信息来回答为什么要这样做。

有人将其标记为重复: When to use IMG vs. CSS background-image? 他们不是同一个问题。这是您在网络上看到的特定实践和模式,其背后的推理可能与其他帖子中的答案不同。

最佳答案

Why do this instead of an img element with alt text? Is there some semantic reason? Some accessibility reason? SEO reason?

当您想要使用 CSS 媒体查询并根据屏幕分辨率显示不同的 Logo 大小时,它非常有用。

关于可访问性,这就是允许用户在禁用图像时查看替代文本之类的原因。

关于html - 使用 IMG 元素作为标题 Logo 或背景图像更好吗?为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52900954/

相关文章:

r - WCAG 2.1 与 Shiny 仪表板应用程序表单标签的兼容性

html - 同源限制阻止来自同源的字体

javascript onsubmit 事件用于多个功能检查不起作用

javascript - SVG 曲线上的动画选取框

seo - 有谁知道如何用shopify平台解决IP规范化?

jquery - 在严重依赖 jQuery 模板的 html 页面上执行 SEO

HTML 可用性问题 -(双击)单击以选择文本

html - 大型 Bootstrap 堆叠导航丸?

seo - 如何使右栏 SEO 中的主要内容变得友好?

Swift - 禁用辅助功能画外音?