Skip to content

Sheffield | May-2025 | Yousef | Form Controls #462

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions Form-Controls/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@

<!--{{<objectives>}}>-->

- [ ] Interpret requirements and check against a list of criteria
- [ ] Write a valid form
- [ ] Test with Devtools
- [ ] Refactor using Devtools
- [x] Interpret requirements and check against a list of criteria
- [x] Write a valid form
- [x] Test with Devtools
- [x] Refactor using Devtools
<!--{{<objectives>}}>-->

## Task
Expand All @@ -30,18 +30,18 @@ Do not write a form action for this project.

Let's write out our testable criteria. Check each one off as you complete it.

- [ ] I have used HTML only.
- [x] I have used HTML only.
- [x] I have not used any CSS or JavaScript.

### HTML

- [ ] My form is semantic html.
- [ ] All inputs have associated labels.
- [ ] My Lighthouse Accessibility score is 100.
- [ ] I require a valid name. I have defined a valid name as a text string of two characters or more.
- [ ] I require a valid email.
- [ ] I require one colour from a defined set of 3 colours.
- [ ] I require one size from a defined set of 6 sizes.
- [x] My form is semantic html.
- [x] All inputs have associated labels.
- [x] My Lighthouse Accessibility score is 100.
- [x] I require a valid name. I have defined a valid name as a text string of two characters or more.
- [x] I require a valid email.
- [x] I require one colour from a defined set of 3 colours.
- [x] I require one size from a defined set of 6 sizes.

## Resources

Expand Down
102 changes: 78 additions & 24 deletions Form-Controls/index.html
Original file line number Diff line number Diff line change
@@ -1,27 +1,81 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>My form exercise</title>
<meta name="description" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<header>
<h1>Product Pick</h1>
</header>
<main>
<form>
<!-- write your html here-->
<!--
try writing out the requirements first as comments
this will also help you fill in your PR message later-->
</form>
</main>
<footer>
<!-- change to your name-->
<h2>By HOMEWORK SOLUTION</h2>
</footer>
</body>

<head>
<meta charset="utf-8" />
<title>Product Pick</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>

<body>
<header>
<h1>Product Pick</h1>
</header>

<main>
<form method="POST">

<!-- Customer Name -->
<fieldset>
<legend>Customer Name</legend>
<label for="name">Full Name:</label><br>
<input type="text" id="name" name="name" required minlength="2"
pattern="(?=.*[A-Za-z])[A-Za-z\s]+"
title="Only letters and spaces allowed; must include at least one letter.">
</fieldset>
<br>

<!-- Email Address -->
<fieldset>
<legend>Email Address</legend>
<label for="email">Email:</label><br>
<input type="email" id="email" name="email" required>
</fieldset>
<br>

<!-- T-Shirt Colour -->
<fieldset>
<legend>T-Shirt Colour</legend>
<label for="colour">Select a Colour:</label><br>
<select id="colour" name="colour" required>
<option value="" disabled selected>Select a colour</option>
<option value="red">Red</option>
<option value="blue">Blue</option>
<option value="green">Green</option>
<option value="yellow">yellow</option>

</select>
</fieldset>
<br>

<!-- T-Shirt Size -->
<fieldset>
<legend>T-Shirt Size</legend>
<label for="size">Select a Size:</label><br>
<select id="size" name="size" required>
<option value="" disabled selected>Select a size</option>
<option value="XS">XS</option>
<option value="S">S</option>
<option value="M">M</option>
<option value="L">L</option>
<option value="XL">XL</option>
<option value="XXL">XXL</option>
</select>
</fieldset>
<br>

<!-- Submit Button -->
<div>
<input type="submit" value="Submit">
</div>
</form>
</main>

<footer>
<h2>By Yousef</h2>
</footer>
</body>

</html>