Images
Every image needs alt text. Decorative ones can use an empty alt.
playground · mistakes on purpose
Every block on this page has mistakes on purpose, next to a version that passes. OdinEye is running: hover a marker to read the problem, or open the panel in the bottom right corner to see the full list.
Every image needs alt text. Decorative ones can use an empty alt.
A button needs a name: visible text or an aria-label.
Same rule as buttons. An image inside a link counts if it has alt text.
A placeholder is not a label. Use a label element or an aria-label.
One h1 per page, and no skipped levels on the way down.
An id must be unique. Labels and anchors break when it is not.
Most SEO checks look at the whole page (title, description, Open Graph, canonical). This page gets those right, so they only show up in the panel when something is missing. The link checks are below.
Link text should say where the link goes.
A link that goes nowhere should be a button.
Broken, stretched, or much bigger than the space they fill.
Anything clickable should be at least 24×24px.
Text under 12px is hard to read, especially on a phone.
This text is too small
This text is fine
This box is wider than the window, so the whole page scrolls sideways. That is the bug.