为什么W3验证需要为图像填充alt和src属性?
Why does W3 validation require populated alt and src attribute for images?
我不使用这些属性,因为我稍后动态添加了src。我也不需要。我确实希望我的页面验证,但是。我可以通过在div中使用CSS背景来绕过这个要求。这是一个有效的方法吗?
澄清:
-
我才不在乎搜索引擎呢
-
适用于主流现代浏览器
-
还不需要无障碍
-
文档类型为HTML 5 -
<!DOCTYPE html>
http://validator.w3.org/
因为它符合规范
Html有一个特定的结构,在w3.org网站上有文档。w3验证器验证输入是否与规范匹配,在本例中与需求匹配:
img标记
src属性必须存在
没有src的img标签具有未定义的行为,例如,可能会根据浏览器重新请求当前页面而不是有效图像。
alt属性必须指定Alt属性,且其值不能为空
来自同一引用,对alt属性需求的调整:
[Alt属性]应该包含可供用户使用的替代文本,而不是图像
为什么提供无效的标记
从问题:
我不使用这些属性,因为我稍后动态添加src。我也不需要。
如果您动态添加src(这也意味着没有javascript的页面,或至少这个特殊的标记位,是没有用的任何人)-为什么不动态添加img标签
Alt标签至少部分是基于不同国家的联邦法律,因为在某些情况下,Alt标签被认为是对残疾人的非法歧视,可能会被处以非常高额的罚款——因此,如果要将页面视为符合标准,W3标准明智地坚持使用Alt标签。
除了残疾之外,alt标签还用于各种上下文中,例如屏幕阅读器,当浏览器关闭图像时,等等。
如果你真的想避免定义alt标签,使用一个默认的,如alt=" alt标签故意留下空白,由于'原因'"或诸如此类的。
至于source属性,它涉及到这样一个事实,即在脚本运行之前,html页面必须在内部有效才能被认为符合标准。这是由于在脚本运行后检查标准遵从性的复杂性和不可靠性,以及标准受到"不引人注目的脚本"思想影响的事实——页面可以通过脚本增强,但在没有严格必要的情况下,它不应该坚持为基本功能编写脚本。
现在,如果你有一个很好的理由,你的图像必须在运行时定义,你有两个选择:
- 使用空白或占位符图像,例如至少1x1透明的gif/png。
- 从HTML中完全删除图像,并在运行时添加它们,而不仅仅是更改相关的src属性。
至于src标签,必须记住,随着应用程序的增长,加载时间也会增加,并且根据样式和尺寸等不同,事情可能会开始变得非常奇怪。
总而言之,即使你认为你不需要Alt标签,也要使用Alt标签,并使用上述两种解决方案中的一种。alt
属性对于基于文本的浏览器、屏幕阅读器等残疾访问性和搜索引擎(其中一些在您的问题的评论中提到)非常有用。
你可能也不应该有空的图像标签。这在语义上是错误的(更不用说您所说的验证失败了),并且可能导致站点出现技术问题。相反,也许有空的"图像持有人"(如div
或figure
)躺在周围,并填充他们的内部HTML内容与您的动态图像标签。
设置src
与JS(甚至静态)不能保证加载的图像。如果网络出现了严重的问题怎么办?您不能保证所有资源都能正确加载。处理加载不良的JS或CSS可能会变得有点荒谬,并且可能超出您的控制范围,但是像图像上的alt
标签这样简单的东西可以是一个非常简单的解决方案。
仅仅因为您不需要所有这些特性并不意味着W3C在制定整个世界遵循的通用规范时不应该考虑它们。
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- Javascript:使用绝对路径设置img src
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- Javascript将图像src更改为淡入淡出
- 如何使用Angular动态添加iframe-src
- //而不是在src=“”上使用http://"属性
- 使用:new Image()控制加载html.src=html_URL
- 无法使用nodeJS在html中设置Image src
- 如何动态更改脚本src
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 在字符串中查找所有图像 src URL 并存储在数组中
- Mozilla没有;t在附加视频src后触发视频后台事件
- 选择具有特定 src 且没有 alt 标记的所有图像元素
- 如何用phantom.js抓取javascript注入的图像src和alt
- 如何根据图像的src来选择alt
- 如何自动调整图像的屏幕大小从Alt属性,而不是src
- 为什么W3验证需要为图像填充alt和src属性?
- 更改<img>src根据它's的alt属性