Bird
Raised Fist0
HTMLmarkup~30 mins

Clean HTML structure - Mini Project: Build & Apply

Choose your learning style10 modes available
Clean HTML structure
📖 Scenario: You are creating a simple webpage for a local bakery. The page will have a header, a navigation menu, a main content area with a welcome message, and a footer with contact info.
🎯 Goal: Build a clean, semantic HTML5 page structure using appropriate tags: <header>, <nav>, <main>, and <footer>. The page should be easy to read and accessible.
📋 What You'll Learn
Use semantic HTML5 tags for page sections
Include a header with the bakery name inside an <h1> tag
Add a navigation menu with three links inside a <nav> element
Create a main section with a welcome paragraph inside a <main> tag
Add a footer with contact information inside a <footer> tag
💡 Why This Matters
🌍 Real World
Building clean and semantic HTML pages is essential for creating websites that are accessible, easy to maintain, and work well on all devices.
💼 Career
Web developers and designers must know how to structure HTML properly to ensure good user experience and accessibility compliance.
Progress0 / 4 steps
1
Create the basic HTML skeleton
Write the basic HTML5 document structure with <!DOCTYPE html>, <html lang="en">, <head> with <meta charset="UTF-8"> and <title> Bakery Homepage </title>, and an empty <body>.
HTML
Hint

Start with the standard HTML5 document structure. Include lang="en" in the <html> tag for accessibility.

2
Add the header with bakery name
Inside the <body>, add a <header> element containing an <h1> with the text Sweet Treats Bakery.
HTML
Hint

Use the <header> tag to group the page title inside an <h1>.

3
Add navigation menu with links
Below the header, add a <nav> element containing an unordered list <ul> with three list items <li>. Each list item should have a link <a> with href attributes: #home, #menu, and #contact. The link texts are Home, Menu, and Contact respectively.
HTML
Hint

Use <nav> for navigation and an unordered list <ul> for the links.

4
Add main content and footer
Below the navigation, add a <main> element with a paragraph <p> that says Welcome to Sweet Treats Bakery, your home for delicious pastries!. Then add a <footer> with a paragraph containing the text Contact us at info@sweettreats.com.
HTML
Hint

Use <main> for the main content and <footer> for the contact info.

Practice

(1/5)
1. Which HTML tag is best to use for the main content of a webpage to keep the structure clean and semantic?
easy
A. <span>
B. <div>
C. <section>
D. <main>

Solution

  1. Step 1: Understand semantic tags purpose

    The <main> tag is designed to hold the main content of a page, making it clear and meaningful.
  2. Step 2: Compare with other tags

    While
    and <section> can group content, <main> specifically indicates the primary content, improving clarity for users and search engines.
  3. Final Answer:

    <main> -> Option D
  4. Quick Check:

    Semantic main content = <main> [OK]
Hint: Use <main> for main content, not generic <div> or <span> [OK]
Common Mistakes:
  • Using <div> instead of semantic <main>
  • Confusing <section> with main content
  • Using <span> which is inline, not structural
2. Which of the following is the correct way to declare the character set in a clean HTML document?
easy
A.
B.
C.
D.

Solution

  1. Step 1: Check correct charset attribute value

    The standard and correct value for UTF-8 encoding is 'UTF-8' with a hyphen and uppercase letters.
  2. Step 2: Validate syntax correctness

    The meta tag must be written as exactly for browsers to recognize it properly.
  3. Final Answer:

    <meta charset='UTF-8'> -> Option A
  4. Quick Check:

    Correct charset syntax = <meta charset='UTF-8'> [OK]
Hint: Use exact 'UTF-8' spelling with hyphen in meta charset [OK]
Common Mistakes:
  • Writing 'utf8' without hyphen
  • Using lowercase or missing hyphen
  • Incorrect attribute name or missing quotes
3. What will the browser display when rendering this HTML snippet?
<!DOCTYPE html>
<html lang='en'>
<head>
  <meta charset='UTF-8'>
  <title>Test</title>
</head>
<body>
  <header><h1>Welcome</h1></header>
  <main><p>Hello World</p></main>
  <footer><p>Footer text</p></footer>
</body>
</html>
medium
A. Page with header 'Welcome', paragraph 'Hello World', and footer 'Footer text'
B. Page with only 'Hello World' text
C. Page with header and footer but no main content
D. Blank page due to missing body tag

Solution

  1. Step 1: Identify semantic tags and their content

    The header contains an h1 with 'Welcome', main has a paragraph 'Hello World', and footer has 'Footer text'.
  2. Step 2: Understand browser rendering of semantic tags

    All these tags are valid and will display their content in order on the page.
  3. Final Answer:

    Page with header 'Welcome', paragraph 'Hello World', and footer 'Footer text' -> Option A
  4. Quick Check:

    Semantic tags show all content correctly [OK]
Hint: Semantic tags display their content in order on the page [OK]
Common Mistakes:
  • Assuming main content is hidden
  • Thinking body tag is missing
  • Ignoring footer content display
4. Identify the error in this HTML snippet that breaks clean structure:
<html>
<head>
  <title>Page</title>
  <meta name='viewport' content='width=device-width, initial-scale=1.0'>
</head>
<body>
  <h1>Hello</h2>
  <section>Content here</section>
</body>
</html>
medium
A. Missing charset meta tag
B. Section tag cannot be inside body
C. Mismatched closing tag: </h2> instead of </h1>
D. Viewport meta tag is incorrectly placed

Solution

  1. Step 1: Check tag matching in body content

    The opening tag is <h1> but the closing tag is </h2>, which is incorrect and breaks HTML structure.
  2. Step 2: Verify other tags and meta placement

    The viewport meta tag is correctly placed in head, and section is valid inside body. Missing charset is not a structural error.
  3. Final Answer:

    Mismatched closing tag: </h2> instead of </h1> -> Option C
  4. Quick Check:

    Matching tags must open and close the same [OK]
Hint: Match opening and closing tags exactly to avoid errors [OK]
Common Mistakes:
  • Ignoring mismatched tags
  • Thinking meta tags cause structure errors
  • Believing section can't be inside body
5. You want to create a clean HTML page that is accessible and responsive. Which combination of elements and meta tags is best practice?
hard
A. <!DOCTYPE html>, <html>, <meta charset='utf8'>, <div> for all content, no viewport meta
B. <!DOCTYPE html>, <html lang='en'>, <meta charset='UTF-8'>, <meta name='viewport' content='width=device-width, initial-scale=1.0'>, semantic tags like <header>, <main>, <footer>
C. <html lang='en'>, no doctype, <span> for layout, <meta charset='UTF-8'> only
D. <!DOCTYPE html>, <html lang='en'>, no meta tags, <section> for all content

Solution

  1. Step 1: Identify required meta tags for clean structure

    Using <meta charset='UTF-8'> and viewport meta ensures correct character encoding and responsive design.
  2. Step 2: Use semantic tags and language attribute

    Including <html lang='en'> and semantic tags like <header>, <main>, <footer> improves accessibility and clarity.
  3. Final Answer:

    <!DOCTYPE html>, <html lang='en'>, <meta charset='UTF-8'>, <meta name='viewport' content='width=device-width, initial-scale=1.0'>, semantic tags like <header>, <main>, <footer> -> Option B
  4. Quick Check:

    Best practice = doctype + lang + charset + viewport + semantic tags [OK]
Hint: Always include doctype, lang, charset, viewport, and semantic tags [OK]
Common Mistakes:
  • Omitting doctype or lang attribute
  • Using non-semantic tags for all content
  • Missing viewport meta for responsiveness
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard