Semantic HTML Foundations

Forms, labels, and accessible controls

Collect user input with understandable controls.

8 minutes - Absolute beginner

What this means

A form groups controls. Each input needs a visible label associated through nesting or matching for and id values. Button text should describe its action.

In beginner terms, this topic answers one practical question: "What should I write, and why does React care about it?" Do not try to memorize the syntax first. First understand the idea, then connect the syntax to that idea.

Why it matters

Correct labels increase the clickable area, support assistive technology, and make validation messages easier to understand.

When you build real React screens, this idea helps you decide where data should live, what the user should see, and what should happen after an interaction. That is why this lesson is part of the main path instead of being an optional detail.

Step by step

1. Notice the UI problem this topic solves. 2. Look at the smallest possible example. 3. Change one value and predict what should appear. 4. Run the example and compare the result with your prediction. 5. Use the practice task before moving on.

Small example

<label for="email">Email</label>
<input id="email" name="email" type="email">

Common mistake

Do not rely on placeholder text as the only label.

Practice task

Create a registration form with name, email, and a clear submit button.

Remember this

Every form control needs a real label.

try.it

Examples

Try it: Forms, labels, and accessible controls

Edit this focused HTML and CSS example and run it in the browser preview.

html

editor

preview

Preparing preview...

practice.next

Practice before moving on

Login to save progress

You can read lessons without an account, but progress requires login.

Login