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