Markup from hell

A collection of bad practices in HTML, copied from real websites.

  1. #2 div with button role

    submitted on by Schepp
    <div tabindex="-1">
    <div role="button">
    <svg width="28" height="24"></svg>
    </div>
    </div>

    Details and tips on how to fix the diabolic code of #2.

  2. #1 button disguised as a link

    submitted on by Manuel
    <button role="link" title="Name of website" tabindex="0">
    <img alt="Name of website" src="logo.jpg" title="Name of website">
    </button>

    Details and tips on how to fix the diabolic code of #1.