# How to label form fields

> Every input needs a label so screen readers announce what it is for. Placeholders are not labels.

Accessibility · HTML version: https://getreport.app/learn/form-labels

## Form field labels

Passing looks like: Every form field has a label.

**Why it matters.** Without a label a screen reader announces only "edit text", so visitors cannot tell the email field from the search box. Labels also make the tap target bigger on phones.

**How to fix it.**

1. Give every input, select and textarea a <label for="…"> that matches its id, or wrap the field in the label.
2. Where a visible label does not fit the design, add aria-label="…" to the field; a placeholder is not a label.

Check your own page: https://getreport.app/
