HTML style guide

Buttons

- 1.1 Use button type Button tags requires a type attribute according to the W3C HTML specification.

// bad
<button></button>

// good
<button type="button"></button>

- 1.2 Use button role for non buttons If an HTML element has an onClick handler but is not a button, it should have role="button". This is more accessible.

// bad
<div onClick="doSomething"></div>

// good
<div role="button" onClick="doSomething"></div>

- 2.1 Use rel for target blank Use rel="noopener noreferrer" whenever your links open in a new window i.e. target="_blank". This prevents the following security vulnerability documented by JitBit

// bad
<a href="url" target="_blank"></a>

// good
<a href="url" target="_blank" rel="noopener noreferrer"></a>

- 2.2 Do not use fake links Use a button tag if a link only invokes JavaScript click event handlers. This is more semantic.

// bad
<a class="js-do-something" href="#"></a>

// good
<button class="js-do-something" type="button"></button>