Learn HTML Forms by Building a Registration Form - Step 38

I’m clearly doing something wrong here as even though I’ve got the for attribute in there, it’s still asking for it and I can’t see the issue yet

<!-- file: index.html -->
<!DOCTYPE html>
<html lang="en">
    <meta charset="UTF-8">
    <title>Registration Form</title>
    <link rel="stylesheet" href="styles.css" />
    <h1>Registration Form</h1>
    <p>Please fill out this form with the required information</p>
    <form method="post" action='https://register-demo.freecodecamp.org'>
        <label for="first-name">Enter Your First Name: <input id="first-name" type="text" required /></label>
        <label for="last-name">Enter Your Last Name: <input id="last-name" type="text" required /></label>
        <label for="email">Enter Your Email: <input id="email" type="email" required /></label>
        <label for="new-password">Create a New Password: <input id="new-password" type="password" pattern="[a-z0-5]{8,}" required /></label>
        <label for="personal-account"><input id="personal-account" type="radio" name="account-type" /> Personal Account</label>
        <label for="business-account"><input id="business-account" type="radio" name="account-type" /> Business Account</label>
        <label for="terms-and-conditions">
          <input id="terms-and-conditions" type="checkbox" required /> I accept the <a href="https://www.freecodecamp.org/news/terms-of-service/">terms and conditions</a>

<!-- User Editable Region -->

        <label>Upload a profile picture:<input for="profile-picture" id="profile-picture" type="file"/></label>
        <label>Input your age (years): <input for="age" id="age" type="number" min="13" max="120" /></label>
        <label for="referrer">How did you hear about us?
          <select id="referrer"
            <option value="">(select one)</option>
            <option value="1">freeCodeCamp News</option>
            <option value="2">freeCodeCamp YouTube Channel</option>
            <option value="3">freeCodeCamp Forum</option>
            <option value="4">Other</option>
        <label for="bio">Provide a bio:
          <textarea id="bio"</textarea>

<!-- User Editable Region -->

      <input type="submit" value="Submit" />
/* file: styles.css */
body {
  width: 100%;
  height: 100vh;
  margin: 0;
  background-color: #1b1b32;
  color: #f5f6f7;

label {
  display: block;
  margin: 0.5rem 0;

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ Safari/537.36 OPR/

Challenge: Learn HTML Forms by Building a Registration Form - Step 38

Link to the challenge:

What does the hint say?

The first label element should have a for attribute with a value of profile-picture .

Hey mixiah,
You should add a for attribute with a value of profile-picture as stated. Add the for attribute next to this label element.

Note : the for attribute is used for labels only not for input elements

Hope it helped you,
Happy coding ! :slight_smile:

Please do not post solutions on the forum. We only offer guidance to allow people to work things out for themselves.

I’m still none the wiser tbh!

Here is the beginning of the line that has the element that the hint is referring to.
So far so good?

The hint wants you to add a for attribute.

These are added as we learned back in step 56 of CatPhotoApp project in the label opening tag.

The value should match the id of the linked input element.

To link a label to an input, add a for attribute to the label which matches exactly the id attribute in the input.

<label for="cheese">What's your favourite cheese? <input id="cheese" type="text"></label>

Thanks, I understand the task, just not what I’ve done in my coding that doesn’t work?

I quoted your code to you in my previous response.

Did you see a for attribute added to the label as was expected and hinted at ?

Got there in the end. Thanks for the help

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.