Html 我是否需要将图像包装在按钮中以使其可点击?

Html 我是否需要将图像包装在按钮中以使其可点击?,html,Html,为什么要将图像包装在按钮内 <button> <img/> </button> 不仅使图像可点击,而且将其包装在按钮中,这是否是一种良好的做法?按钮是为交互式控件设计的,而图像不是 <button> <img/> </button> 屏幕阅读器将宣布一个作为按钮,以便用户知道他们可以点击它 使用非定点设备导航的人,如在文档中使用标签或(再次)使用屏幕阅读器,将遇到,但将跳过 只需在图像上点击事件处理程序就

为什么要将图像包装在按钮内

<button>
   <img/>
</button>


不仅使图像可点击,而且将其包装在按钮中,这是否是一种良好的做法?

按钮是为交互式控件设计的,而图像不是

<button>
   <img/>
</button>
屏幕阅读器将宣布一个
作为按钮,以便用户知道他们可以点击它

使用非定点设备导航的人,如在文档中使用标签或(再次)使用屏幕阅读器,将遇到
,但将跳过


只需在图像上点击事件处理程序就会产生重大的可访问性问题。

按钮是为交互控件设计的,而图像不是

屏幕阅读器将宣布一个
作为按钮,以便用户知道他们可以点击它

使用非定点设备导航的人,如在文档中使用标签或(再次)使用屏幕阅读器,将遇到
,但将跳过


只需在图像上点击事件处理程序就会产生重大的可访问性问题。

同意上面的屏幕阅读器观点。这不是最好的做法

您可以使用JS click事件使图像可单击,并使用css cursor属性作为指针使图像在鼠标上方显示为可单击。还可以向图像添加alt文本,以便在屏幕阅读器上将其标识为图像


希望这能帮助你更好。

同意上面的屏幕阅读点。这不是最好的做法

您可以使用JS click事件使图像可单击,并使用css cursor属性作为指针使图像在鼠标上方显示为可单击。还可以向图像添加alt文本,以便在屏幕阅读器上将其标识为图像



希望这能有帮助。

@CertainPerformance-这是一个糟糕的建议,会造成可访问性问题。不,你不需要(编辑:但这是个好主意)@evolutionxbox-不这样做会造成严重的可访问性问题。这是(a)糟糕的生意,(b)可能是非法的,这取决于你是谁和你经营的司法管辖区in@Quentin我匆忙地发表了评论。需要什么?不,应该吗?绝对地。@ EngimeXbox——大多数人会认为履行法律义务是他们需要做的事情。“肯定的性能-这是一个可怕的建议,会产生可访问性的问题。不,你不需要(编辑:但这是一个好主意)”EngReXXBOX——不这样做会造成主要的可访问性问题。这是(a)糟糕的生意,(b)可能是非法的,这取决于你是谁和你经营的司法管辖区in@Quentin我匆忙地发表了评论。需要什么?不,应该吗?绝对地。@ EngimeXbox——大多数人会考虑将法律义务作为他们需要做的事情。“你可以使用CSS指针事件来防止点击”——这将与问题所期望的相反效果。“你可以把图像作为DIV的背景,并给那个元素提供宽度和高度。”-因此,现在不再使用包含alt文本的图像的可单击按钮,而是使用具有背景(即非内容)图像且没有alt文本的可单击div。这对可访问性来说更糟。哦,我的错。谢谢你指出这一点。我应该读得更好。我读它是为了不让图像可点击。那完全是我的错。道歉。重新编辑:问题表明OP已经知道了。他们在问,将其包装在按钮中是否是一种好的做法。“你可以使用css指针事件来防止点击”-这将产生与问题所期望的相反的效果。“你可以将图像作为div的背景,并为该元素指定宽度和高度。”-因此,现在不再使用包含alt文本的图像的可单击按钮,而是使用具有背景(即非内容)图像且没有alt文本的可单击div。这对可访问性来说更糟。哦,我的错。谢谢你指出这一点。我应该读得更好。我读它是为了不让图像可点击。那完全是我的错。道歉。重新编辑:问题表明OP已经知道了。他们在问用纽扣包起来是否是一种好的做法。