Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html <;按钮>;与<;输入类型=";“图像”&燃气轮机;_Html_Accessibility - Fatal编程技术网

Html <;按钮>;与<;输入类型=";“图像”&燃气轮机;

Html <;按钮>;与<;输入类型=";“图像”&燃气轮机;,html,accessibility,Html,Accessibility,这是一个“添加到篮子”控件,我的一位同事为它设计了一个漂亮的图形。显然,它应该生成一个post请求,这是一个简单的超链接所不能做到的 Amazon使用图像输入来实现它。但是,它的利与弊是什么呢 <input type="image" src="atb.png" alt="Add to Basket" /> 对 <button type="submit"><img src="atb.png" alt="Add to Basket" /></butto

这是一个“添加到篮子”控件,我的一位同事为它设计了一个漂亮的图形。显然,它应该生成一个post请求,这是一个简单的超链接所不能做到的

Amazon使用图像输入来实现它。但是,它的利与弊是什么呢

<input type="image" src="atb.png" alt="Add to Basket" />

<button type="submit"><img src="atb.png" alt="Add to Basket" /></button>

(并使用CSS控制外观)

我想这可以归结为以下几个问题:

  • 是否所有的浏览器,无论是图形浏览器还是非图形浏览器,都能成功地将图像输入到键盘上?(或者,在无键盘设备的情况下,通过任何输入方式使其可访问?)

  • 有哪些浏览器不支持

  • 每种方法还有哪些优点/缺点

  • 有没有其他可能的方法具有自己的优势(除了忘记它,只使用简单的提交)

它们应该是等效的。出于样式设计的目的,我发现如果将来更改内容,按钮标记会更灵活

但是:IE有一个错误/功能,其中按钮或输入的值设置为等于innerHTML。如果服务器端代码需要将其设置为特定值,则这可能会导致问题

除非您需要
的额外样式灵活性,否则请使用
,这样您就不需要处理IE的怪癖。

Input type=“Image”支持禁用属性,浏览器将为您灰显图像。使用Type=按钮,您必须提供一个备用的灰色图像。

来自MDN:

使用用
创建的按钮提交表单时,浏览器会自动向服务器提交两个额外的数据点-x和y


因此,一个区别是,
输入[type=image]
传输您单击的像素的坐标。现在是2019年,
按钮
得到了很好的支持,所以我个人会使用它,除非我真的需要
x,y
-比如说,如果图像是地图,我想知道用户在地图中单击的位置。

旁注:IE bug已经在IE8标准模式下修复。是的,我也注意到IE bug。我们可能会在每个表单中只使用一个这样的按钮,IWC这不会是一个问题。但是我可以看到将一些东西放入innerHTML中,以便服务器端代码检测的可能性。但是
?这是错别字,还是我遗漏了什么?是的,是错别字。很抱歉固定的。