aria-label 是否需要 type=button?
Is type=button necessary with aria-label?
我读到按钮类型的隐含值是 submit
。要制作 UI 按钮,我还读到我们需要指定 type=button
属性。
例如:
<button type="button">Click me</button>
但是,我将此示例视为可访问按钮:
<button aria-label="undo"></button>
我注意到它没有 type=button
属性。
如果在按钮上定义了 aria-label
,是否暗示该按钮属于 type=button
?
如果不是,上面的例子(撤消按钮)是不是不正确?
type
和 aria-label
无关。
如果您没有在 <button>
上指定 type
,则默认类型为 submit
。如果您的按钮包含在 <form>
中,则按钮的 onclick() 将 运行 并且将提交表单。
如果您的类型是button
,那么表单将不会被提交。只有按钮的 onclick() 会 运行.
参见 <button>
规范。
第二个示例具有 aria-label
的原因是按钮上没有可见文本。使用图标字体(如图像),为了让屏幕 reader 知道要为按钮宣布什么,指定 aria-label
。
我读到按钮类型的隐含值是 submit
。要制作 UI 按钮,我还读到我们需要指定 type=button
属性。
例如:
<button type="button">Click me</button>
但是,我将此示例视为可访问按钮:
<button aria-label="undo"></button>
我注意到它没有 type=button
属性。
如果在按钮上定义了 aria-label
,是否暗示该按钮属于 type=button
?
如果不是,上面的例子(撤消按钮)是不是不正确?
type
和 aria-label
无关。
如果您没有在 <button>
上指定 type
,则默认类型为 submit
。如果您的按钮包含在 <form>
中,则按钮的 onclick() 将 运行 并且将提交表单。
如果您的类型是button
,那么表单将不会被提交。只有按钮的 onclick() 会 运行.
参见 <button>
规范。
第二个示例具有 aria-label
的原因是按钮上没有可见文本。使用图标字体(如图像),为了让屏幕 reader 知道要为按钮宣布什么,指定 aria-label
。