fix(curriculum): add size attributes (#58624)

This commit is contained in:
Supravisor
2025-02-07 14:22:59 +13:00
committed by GitHub
parent 278c7bda51
commit b8a90f8fbc
23 changed files with 185 additions and 85 deletions

View File

@@ -65,89 +65,93 @@
"title": "Step 14"
},
{
"id": "66a9401c9d660d6bb15993e2",
"id": "67a51d3a8a6fe123b77b0c6e",
"title": "Step 15"
},
{
"id": "66a9419e2d18476c645ce693",
"id": "66a9401c9d660d6bb15993e2",
"title": "Step 16"
},
{
"id": "66a94ea5df66236ebed260e8",
"id": "66a9419e2d18476c645ce693",
"title": "Step 17"
},
{
"id": "66a9521bc70162712caf118d",
"id": "66a94ea5df66236ebed260e8",
"title": "Step 18"
},
{
"id": "66a954b2bcddba72076c1857",
"id": "66a9521bc70162712caf118d",
"title": "Step 19"
},
{
"id": "66a9577022877d72d8f43b4f",
"id": "66a954b2bcddba72076c1857",
"title": "Step 20"
},
{
"id": "66a95d0eff8168747805f1f3",
"id": "66a9577022877d72d8f43b4f",
"title": "Step 21"
},
{
"id": "66a96127422411756204bc1b",
"id": "66a95d0eff8168747805f1f3",
"title": "Step 22"
},
{
"id": "66a962954f4e0d76223b37ed",
"id": "66a96127422411756204bc1b",
"title": "Step 23"
},
{
"id": "66ad24c7eb8c121000c603a6",
"id": "66a962954f4e0d76223b37ed",
"title": "Step 24"
},
{
"id": "66a9689b1bf24b7750898a1b",
"id": "66ad24c7eb8c121000c603a6",
"title": "Step 25"
},
{
"id": "66a969951120be7818d8ee49",
"id": "66a9689b1bf24b7750898a1b",
"title": "Step 26"
},
{
"id": "66a96b01f33ef178dfca9e42",
"id": "66a969951120be7818d8ee49",
"title": "Step 27"
},
{
"id": "66a972137acd1179fa3fe8a0",
"id": "66a96b01f33ef178dfca9e42",
"title": "Step 28"
},
{
"id": "66a975260401487af226b290",
"id": "66a972137acd1179fa3fe8a0",
"title": "Step 29"
},
{
"id": "66a975c259525b7bc2d5c776",
"id": "66a975260401487af226b290",
"title": "Step 30"
},
{
"id": "66a97ca8c4cbae7d0bb6e0ad",
"id": "66a975c259525b7bc2d5c776",
"title": "Step 31"
},
{
"id": "66a97f40ddd40d7deb0618b7",
"id": "66a97ca8c4cbae7d0bb6e0ad",
"title": "Step 32"
},
{
"id": "66a9824ac5d9f77ec304969f",
"id": "66a97f40ddd40d7deb0618b7",
"title": "Step 33"
},
{
"id": "66a9836b339fed7f9a8fe35a",
"id": "66a9824ac5d9f77ec304969f",
"title": "Step 34"
},
{
"id": "66a9843525e9fa8046d709b7",
"id": "66a9836b339fed7f9a8fe35a",
"title": "Step 35"
},
{
"id": "66a9843525e9fa8046d709b7",
"title": "Step 36"
}
],
"helpCategory": "HTML-CSS"
}
}

View File

@@ -1,8 +1,8 @@
---
id: 66a9401c9d660d6bb15993e2
title: Step 15
title: Step 16
challengeType: 0
dashedName: step-15
dashedName: step-16
---
# --description--
@@ -57,7 +57,7 @@ assert.strictEqual(document.querySelector('label[for="age"]')?.textContent, "Age
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -66,6 +66,7 @@ assert.strictEqual(document.querySelector('label[for="age"]')?.textContent, "Age
id="email"
type="email"
name="email"
size="20"
/>
--fcc-editable-region--

View File

@@ -1,8 +1,8 @@
---
id: 66a9419e2d18476c645ce693
title: Step 16
title: Step 17
challengeType: 0
dashedName: step-16
dashedName: step-17
---
# --description--
@@ -77,7 +77,7 @@ assert.isNotNull(document.querySelector('label + input[max="100"]'));
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -86,6 +86,7 @@ assert.isNotNull(document.querySelector('label + input[max="100"]'));
id="email"
type="email"
name="email"
size="20"
/>
--fcc-editable-region--
<label for="age">Age (optional):</label>

View File

@@ -1,8 +1,8 @@
---
id: 66a94ea5df66236ebed260e8
title: Step 17
title: Step 18
challengeType: 0
dashedName: step-17
dashedName: step-18
---
# --description--
@@ -57,7 +57,7 @@ assert.strictEqual(document.querySelectorAll('fieldset legend')[1]?.textContent,
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -66,6 +66,7 @@ assert.strictEqual(document.querySelectorAll('fieldset legend')[1]?.textContent,
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -1,8 +1,8 @@
---
id: 66a9521bc70162712caf118d
title: Step 18
title: Step 19
challengeType: 0
dashedName: step-18
dashedName: step-19
---
# --description--
@@ -86,7 +86,7 @@ assert.strictEqual(document.querySelector('fieldset:nth-of-type(2) label + input
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -95,6 +95,7 @@ assert.strictEqual(document.querySelector('fieldset:nth-of-type(2) label + input
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -1,8 +1,8 @@
---
id: 66a954b2bcddba72076c1857
title: Step 19
title: Step 20
challengeType: 0
dashedName: step-19
dashedName: step-20
---
# --description--
@@ -81,7 +81,7 @@ assert.strictEqual(document.querySelector('fieldset:nth-of-type(2) label + input
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -90,6 +90,7 @@ assert.strictEqual(document.querySelector('fieldset:nth-of-type(2) label + input
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -1,8 +1,8 @@
---
id: 66a9577022877d72d8f43b4f
title: Step 20
title: Step 21
challengeType: 0
dashedName: step-20
dashedName: step-21
---
# --description--
@@ -57,7 +57,7 @@ assert.strictEqual(document.querySelector('fieldset:nth-of-type(3) legend')?.inn
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -66,6 +66,7 @@ assert.strictEqual(document.querySelector('fieldset:nth-of-type(3) legend')?.inn
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -1,8 +1,8 @@
---
id: 66a95d0eff8168747805f1f3
title: Step 21
title: Step 22
challengeType: 0
dashedName: step-21
dashedName: step-22
---
# --description--
@@ -96,7 +96,7 @@ assert.strictEqual(document.querySelector("fieldset:nth-of-type(3) label + input
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -105,6 +105,7 @@ assert.strictEqual(document.querySelector("fieldset:nth-of-type(3) label + input
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -1,8 +1,8 @@
---
id: 66a96127422411756204bc1b
title: Step 22
title: Step 23
challengeType: 0
dashedName: step-22
dashedName: step-23
---
# --description--
@@ -79,7 +79,7 @@ assert.strictEqual(document.querySelector("fieldset:nth-of-type(3) label + input
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -88,6 +88,7 @@ assert.strictEqual(document.querySelector("fieldset:nth-of-type(3) label + input
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -1,8 +1,8 @@
---
id: 66a962954f4e0d76223b37ed
title: Step 23
title: Step 24
challengeType: 0
dashedName: step-23
dashedName: step-24
---
# --description--
@@ -113,7 +113,7 @@ assert.strictEqual(document.querySelectorAll("fieldset:nth-of-type(3) label + in
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -122,6 +122,7 @@ assert.strictEqual(document.querySelectorAll("fieldset:nth-of-type(3) label + in
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -1,8 +1,8 @@
---
id: 66a9689b1bf24b7750898a1b
title: Step 25
title: Step 26
challengeType: 0
dashedName: step-25
dashedName: step-26
---
# --description--
@@ -75,7 +75,7 @@ assert.strictEqual(document.querySelectorAll("fieldset:nth-of-type(3) label + in
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -84,6 +84,7 @@ assert.strictEqual(document.querySelectorAll("fieldset:nth-of-type(3) label + in
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -1,8 +1,8 @@
---
id: 66a969951120be7818d8ee49
title: Step 26
title: Step 27
challengeType: 0
dashedName: step-26
dashedName: step-27
---
# --description--
@@ -75,7 +75,7 @@ assert.strictEqual(document.querySelectorAll('fieldset:nth-of-type(4) legend + l
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -84,6 +84,7 @@ assert.strictEqual(document.querySelectorAll('fieldset:nth-of-type(4) legend + l
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -1,8 +1,8 @@
---
id: 66a96b01f33ef178dfca9e42
title: Step 27
title: Step 28
challengeType: 0
dashedName: step-27
dashedName: step-28
---
# --description--
@@ -67,7 +67,7 @@ assert(document.querySelector('select[id="service"]'));
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -76,6 +76,7 @@ assert(document.querySelector('select[id="service"]'));
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -1,8 +1,8 @@
---
id: 66a972137acd1179fa3fe8a0
title: Step 28
title: Step 29
challengeType: 0
dashedName: step-28
dashedName: step-29
---
# --description--
@@ -113,7 +113,7 @@ assert.strictEqual(document.querySelector('option[value="excellent"]')?.textCont
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -122,6 +122,7 @@ assert.strictEqual(document.querySelector('option[value="excellent"]')?.textCont
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -1,8 +1,8 @@
---
id: 66a975260401487af226b290
title: Step 29
title: Step 30
challengeType: 0
dashedName: step-29
dashedName: step-30
---
# --description--
@@ -49,7 +49,7 @@ assert(document.querySelector('option[value="excellent"][selected]'));
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -58,6 +58,7 @@ assert(document.querySelector('option[value="excellent"][selected]'));
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -1,8 +1,8 @@
---
id: 66a975c259525b7bc2d5c776
title: Step 30
title: Step 31
challengeType: 0
dashedName: step-30
dashedName: step-31
---
# --description--
@@ -63,7 +63,7 @@ assert(document.querySelector('label + select[name="food"]'));
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -72,6 +72,7 @@ assert(document.querySelector('label + select[name="food"]'));
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -1,8 +1,8 @@
---
id: 66a97ca8c4cbae7d0bb6e0ad
title: Step 31
title: Step 32
challengeType: 0
dashedName: step-31
dashedName: step-32
---
# --description--
@@ -122,7 +122,7 @@ assert(document.querySelector('fieldset:nth-of-type(4) select#food option[value=
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -131,6 +131,7 @@ assert(document.querySelector('fieldset:nth-of-type(4) select#food option[value=
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -1,8 +1,8 @@
---
id: 66a97f40ddd40d7deb0618b7
title: Step 32
title: Step 33
challengeType: 0
dashedName: step-32
dashedName: step-33
---
# --description--
@@ -49,7 +49,7 @@ assert.strictEqual(document.querySelector('label[for="comments"]')?.textContent,
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -58,6 +58,7 @@ assert.strictEqual(document.querySelector('label[for="comments"]')?.textContent,
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -1,8 +1,8 @@
---
id: 66a9824ac5d9f77ec304969f
title: Step 33
title: Step 34
challengeType: 0
dashedName: step-33
dashedName: step-34
---
# --description--
@@ -53,7 +53,7 @@ assert(document.querySelector('label + textarea'));
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -62,6 +62,7 @@ assert(document.querySelector('label + textarea'));
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -1,8 +1,8 @@
---
id: 66a9836b339fed7f9a8fe35a
title: Step 34
title: Step 35
challengeType: 0
dashedName: step-34
dashedName: step-35
---
# --description--
@@ -61,7 +61,7 @@ assert(document.querySelector('textarea[rows="10"]'));
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -70,6 +70,7 @@ assert(document.querySelector('textarea[rows="10"]'));
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -1,8 +1,8 @@
---
id: 66a9843525e9fa8046d709b7
title: Step 35
title: Step 36
challengeType: 0
dashedName: step-35
dashedName: step-36
---
# --description--
@@ -59,7 +59,7 @@ assert.strictEqual(document.querySelector('button')?.textContent, 'Submit');
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -68,6 +68,7 @@ assert.strictEqual(document.querySelector('button')?.textContent, 'Submit');
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -1,8 +1,8 @@
---
id: 66ad24c7eb8c121000c603a6
title: Step 24
title: Step 25
challengeType: 0
dashedName: step-24
dashedName: step-25
---
# --description--
@@ -49,7 +49,7 @@ assert(document.querySelector("input#reputation[checked]"));
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required size="20">
<label for="email">Email address (required):</label>
<input
@@ -58,6 +58,7 @@ assert(document.querySelector("input#reputation[checked]"));
id="email"
type="email"
name="email"
size="20"
/>
<label for="age">Age (optional):</label>
<input type="number" name="age" id="age" min="3" max="100" />

View File

@@ -0,0 +1,75 @@
---
id: 67a51d3a8a6fe123b77b0c6e
title: Step 15
challengeType: 0
dashedName: step-15
---
# --description--
`input` elements can have a `size` attribute. This attribute defines the number of characters that should be visible as the user types into the input. The value of `size` should be a non-negative integer greater than zero. If `size` is not specified, or is specified with an invalid value, the input will have the default width set by the browser.
```html
<label for="lastName">Last Name:</label>
<input id="lastName" name="lastName" type="text" size="10" />
```
Give the name and email inputs a `size` attribute with a value of `"20"`.
# --hints--
You should give the name `input` a `size` attribute with a value of `"20"`.
```js
const label1 = document.querySelector('label:nth-of-type(1) + input');
assert.strictEqual(label1?.getAttribute('size'), '20');
```
You should give the email `input` a `size` attribute with a value of `"20"`.
```js
const label2 = document.querySelector('label:nth-of-type(2) + input');
assert.strictEqual(label2?.getAttribute('size'), '20');
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Hotel Feedback Form</title>
</head>
<body>
<header>
<h1>Hotel Feedback Form</h1>
<p>
Thank you for staying with us. Please provide feedback on your recent
stay.
</p>
</header>
<main>
<form method="POST" action="https://hotel-feedback.freecodecamp.org">
<fieldset>
<legend>Personal Information</legend>
<label for="full-name">Name (required):</label>
--fcc-editable-region--
<input type="text" id="full-name" name="name" placeholder="Ex. John Doe" required>
<label for="email">Email address (required):</label>
<input
placeholder="example@email.com"
required
id="email"
type="email"
name="email"
/>
--fcc-editable-region--
</fieldset>
</form>
</main>
</body>
</html>
```