← All documentation
8 checks

Accessibility

What a keyboard and a screen reader run into: labels, landmarks, tab order and link text.

Medium

Buttons without an accessible name

Give every button text, an aria-label, or an inner image with alt text, so it is announced as something other than "button".

Id
BUTTON_MISSING_ACCESSIBLE_NAME
Fix estimate
10 min per page
Medium

Form fields without a label

Tie every field to a label element, or give it aria-label, so it is clear what is being asked for.

Id
FORM_FIELD_MISSING_LABEL
Fix estimate
10 min per page
Low

Data table without header cells

Mark the header row with th cells so a screen reader can say which column a value belongs to.

Id
DATA_TABLE_MISSING_HEADERS
Fix estimate
10 min per page
Low

Links with generic text

Replace "read more" and "click here" with wording that says where the link goes, since links are often read out of context.

Id
GENERIC_LINK_TEXT
Fix estimate
5 min per page
Low

Iframe without a title

Give each iframe a title attribute saying what it contains, otherwise a screen reader announces only "iframe".

Id
IFRAME_MISSING_TITLE
Fix estimate
5 min per page
Low

No skip-to-content link

Put a skip link first in the body so keyboard users can step past the navigation on every page.

Id
MISSING_SKIP_LINK
Fix estimate
10 min per page
Low

Page built almost entirely from divs

Wrap the page in header, nav, main and footer so assistive tech can jump between regions instead of reading everything in order.

Id
NON_SEMANTIC_LAYOUT
Fix estimate
20 min per page
Low

Positive tabindex overrides tab order

Use tabindex="0" or none at all, so focus follows the document instead of a hand-written order that drifts as the page changes.

Id
POSITIVE_TABINDEX
Fix estimate
10 min per page
See it on your own site

Which of these would your site trip?

Read your site, free