【问题标题】:Is type=button necessary with aria-label?aria-label 需要 type=button 吗?
【发布时间】:2019-06-23 20:39:06
【问题描述】:

我读到按钮类型的隐含值是submit。为了制作 UI 按钮,我还读到我们需要指定 type=button 属性。

例如:

<button type="button">Click me</button>

但是,我将此示例视为可访问按钮:

<button aria-label="undo">&#xE000;</button>

我注意到它没有type=button 属性。

如果在按钮上定义了aria-label,是否暗示该按钮属于type=button

如果不是,上面的例子(撤消按钮)是否不正确?

【问题讨论】:

    标签: html wai-aria htmlbutton


    【解决方案1】:

    typearia-label 不相关。

    如果您没有在&lt;button&gt; 上指定type,则默认类型为submit。如果您的按钮包含在 &lt;form&gt; 中,则该按钮的 onclick() 将运行并提交表单。

    如果您的类型是button,则不会提交表单。只有按钮的 onclick() 会运行。

    请参阅&lt;button&gt; 规范。

    第二个示例有aria-label 的原因是按钮上没有可见文本。使用图标字体(如图像),为了让屏幕阅读器知道要为按钮宣布什么,指定了aria-label

    【讨论】:

    • 所以写按钮的正确方法是: ?
    • 如果您的按钮包含在
      中,那么如果您希望按钮自动提交表单,则需要type="button"。如果您的按钮只是页面上的一个独立元素(而不是
      ),那么您不需要type="button"。无论哪种方式,您确实需要aria-label="undo"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 2013-11-06
    • 2018-07-31
    • 2013-11-23
    • 1970-01-01
    相关资源
    最近更新 更多