The Many Bad (and Good!) Patterns for Close Buttons

Avatar of Chris Coyier
Chris Coyier on (Updated on )

Manuel Matuzović details 10 bad HTML patterns for a close button. You know, stuff like this:

<a class="close" onclick="close()">×</a>

Why is that bad? There is no href there, so it really isn’t a link (close buttons aren’t links). Not to mention the missing href makes this “placeholder link” unfocusable. Plus, that symbol will be read as “multiplication” or “times”, which is not helpful (an “x” isn’t either).

What do you use instead?

There are plenty of good patterns too. If you prefer the visual look of a ×, then…

<button aria-label="Close">
  <span aria-hidden="true">×</span>
</button>
<!-- You should probably wire up the ESC key to trigger this too -->

…making sure you are accessibly hiding that close button.

Direct Link →