Skip to content

useButtonType (since v1.0.0)

Diagnostic Category: lint/a11y/useButtonType

Sources:

Enforces the usage of the attribute type for the element button

<button>Do something</button>
a11y/useButtonType.js:1:1 lint/a11y/useButtonType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

   Provide an explicit type prop for the button element.
  
  > 1 │ <button>Do something</button>
   ^^^^^^^^
    2 │ 
  
   The default type of a button is submit, which causes the submission of a form when placed inside a `form` element. This is likely not the behaviour that you want inside a React application.
  
   Allowed button types are: submit, button or reset
  
<button type="incorrectType">Do something</button>
a11y/useButtonType.js:1:14 lint/a11y/useButtonType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

   Provide a valid type prop for the button element.
  
  > 1 │ <button type="incorrectType">Do something</button>
                ^^^^^^^^^^^^^^^
    2 │ 
  
   The default type of a button is submit, which causes the submission of a form when placed inside a `form` element. This is likely not the behaviour that you want inside a React application.
  
   Allowed button types are: submit, button or reset
  
React.createElement('button');
a11y/useButtonType.js:1:21 lint/a11y/useButtonType ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

   Provide an explicit type prop for the button element.
  
  > 1 │ React.createElement('button');
                       ^^^^^^^^
    2 │ 
  
   The default type of a button is submit, which causes the submission of a form when placed inside a `form` element. This is likely not the behaviour that you want inside a React application.
  
   Allowed button types are: submit, button or reset
  
<>
<button type="button">Do something</button>
<button type={buttonType}>Do something</button>
</>