我不使用这些属性,因为我稍后会动态添加 src。我也不需要alt。但是,我确实希望我的页面能够验证。我可以通过在 div 中使用 CSS 背景来绕过这个要求。这是一种有效的方法吗?
澄清:
我不关心搜索引擎。
我的图像总是加载。
我使用 JavaScript 设置了 src 属性。
适用于主要的现代浏览器。
还不需要辅助功能。
文档类型是 HTML 5 -
<!DOCTYPE html>
参考
我不使用这些属性,因为我稍后会动态添加 src。我也不需要alt。但是,我确实希望我的页面能够验证。我可以通过在 div 中使用 CSS 背景来绕过这个要求。这是一种有效的方法吗?
澄清:
我不关心搜索引擎。
我的图像总是加载。
我使用 JavaScript 设置了 src 属性。
适用于主要的现代浏览器。
还不需要辅助功能。
文档类型是 HTML 5 -<!DOCTYPE html>
参考
Html 具有特定的结构,该结构记录在w3.org站点上。w3 验证器验证输入是否符合规范,在这种情况下符合要求:
src 属性必须存在
没有 src 的 img 标签具有未定义的行为,例如,可能会根据浏览器重新请求当前页面以代替有效图像。
必须指定 alt 属性且其值不能为空
从同一个参考资料中,alt 属性要求的理由:
[alt 属性] 应该包含用户可以使用的替换文本而不是图像
从问题:
我不使用这些属性,因为我稍后会动态添加 src。我也不需要alt。
如果您要动态添加 src(这也意味着没有 javascript 的页面,或者至少这个特定的标记对任何人都没有用) - 为什么不动态添加 img 标签。
坚持使用 Alt 标签至少部分基于各个国家/地区的联邦法律,因为在某些情况和情况下,它被认为是对残疾人的非法歧视,可能会受到一些非常高额的罚款 - 因此,W3 标准明智地坚持它,如果该页面将被视为符合标准。
除了残疾之外,alt 标签还用于各种环境,例如屏幕阅读器、浏览器关闭图像时等。
如果您真的想避免定义 alt 标签,请使用默认标签,例如 alt="Alt tag 由于'原因'而故意留空" 或诸如此类。
至于源属性,它涉及一个事实,即 html 页面必须在运行脚本之前在内部有效,才能被视为符合标准。这是由于在脚本运行后检查标准合规性的复杂性和不可靠性,以及该标准受到“不显眼的脚本”思想的影响 - 页面可以通过脚本增强,但不应该在非绝对必要时坚持为基本功能编写脚本。
现在,如果您有充分的理由必须在运行时定义图像,那么您有两种选择:
至于 src 标签,还必须记住,随着应用程序的增长,加载时间会增加,并且根据样式和尺寸等,事情可能会开始变得很奇怪。
总之,即使您认为不需要它们,也请始终使用 Alt 标签,并使用上述两种关于 src 标签的解决方案之一。
该alt
属性对于基于文本的浏览器、屏幕阅读器等残疾人辅助功能和搜索引擎(其中一些在您的问题的评论中提到)很有用。
您可能也不应该有空的图像标签。这在语义上是错误的(更不用说它未能如您所说的那样验证),并且可能导致您的网站出现技术问题。相反,可能有空的“图像持有者”(如div
或figure
),并使用动态图像标签填充其内部 HTML 内容。
用 JS设置src
(甚至静态)不能保证图片的加载。如果网络出现非常严重的故障怎么办?您不能保证所有资源都会正确加载。处理加载不良的 JS 或 CSS 可能会有点荒谬,并且可能超出您的控制范围,但是像alt
在图像上添加标签这样简单的事情可能是一个非常简单的解决方法。
仅仅因为您不需要所有这些特性,并不意味着 W3C 在为全世界制定通用规范时不应该考虑它们。