我了解到按钮类型的隐式值为submit
。为了制作UI按钮,我还读到我们因此需要指定type=button
属性。
例如:
<button type="button">Click me</button>
但是,我已将此示例视为可访问的按钮:
<button aria-label="undo"></button>
我注意到它没有type=button
属性。
如果在按钮上定义了aria-label
,是否暗含意味着该按钮属于type=button
?
如果不是,那么上面的示例(撤消按钮)是否正确?
答案 0 :(得分:2)
type
和aria-label
无关。
如果未在type
上指定<button>
,则默认类型为submit
。如果您的按钮包含在<form>
中,则该按钮的onclick()将运行并提交表单。
如果您的类型是button
,则将不提交表单。仅按钮的onclick()会运行。
请参阅<button>
规范。
第二个示例具有aria-label
的原因是因为按钮上没有可见的文本。使用图标字体(如图像),并且为了使屏幕阅读器知道要为按钮通告的内容,请指定aria-label
。