Bird
Raised Fist0
HTMLmarkup~20 mins

HTML document structure - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
HTML Structure Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Identify the correct root element of an HTML5 document
Which tag is the correct root element that must wrap all other elements in a valid HTML5 document?
A<head>
B<body>
C<html>
D<document>
Attempts:
2 left
💡 Hint
Think about the tag that contains both the <head> and <body> sections.
📝 Syntax
intermediate
2:00remaining
What error occurs if the <head> tag is missing in an HTML document?
Consider this HTML snippet missing the <head> tag. What is the most likely outcome when rendered in a modern browser?
HTML
<!DOCTYPE html>
<html>
<body>
<h1>Hello</h1>
</body>
</html>
AThe browser displays the raw HTML code as text.
BThe page renders normally with the heading visible.
CThe page shows a blank screen with no content.
DThe browser throws a syntax error and stops rendering.
Attempts:
2 left
💡 Hint
Browsers are forgiving and try to display content even if some tags are missing.
❓ rendering
advanced
2:00remaining
What is the visual output of this HTML document?
Given the following HTML code, what will the user see in the browser?
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test Page</title>
</head>
<body>
<header>
<h1>Welcome</h1>
</header>
<main>
<p>This is a test.</p>
</main>
<footer>
<p>Footer text</p>
</footer>
</body>
</html>
AA page with a large heading 'Welcome', a paragraph 'This is a test.', and a footer with 'Footer text'.
BOnly the heading 'Welcome' is visible; paragraphs are hidden by default.
CThe page shows the title 'Test Page' but no visible content.
DThe page is blank because the &lt;main&gt; tag is not supported.
Attempts:
2 left
💡 Hint
All semantic tags like <header>, <main>, and <footer> display their content by default.
❓ selector
advanced
2:00remaining
Which CSS selector targets the <main> element inside the <body>?
Given this HTML structure, which CSS selector correctly selects the <main> element? <body> <header></header> <main></main> <footer></footer> </body>
Abody > main
Bmain > body
Cbody main header
Dmain + footer
Attempts:
2 left
💡 Hint
The > symbol means direct child in CSS selectors.
❓ accessibility
expert
2:00remaining
Which attribute improves accessibility by specifying the language of the document?
In an HTML document, which attribute should be added to the root <html> tag to help screen readers and browsers understand the language?
Arole="document"
Bcharset="UTF-8"
Caria-label="English"
Dlang="en"
Attempts:
2 left
💡 Hint
This attribute uses a short code like 'en' for English.

Practice

(1/5)
1. Which tag defines the root of an HTML document?
easy
A. <body>
B. <head>
C. <title>
D. <html>

Solution

  1. Step 1: Understand the role of the root tag

    The root tag wraps the entire HTML content and tells the browser this is an HTML document.
  2. Step 2: Identify the root tag

    The <html> tag is the root element that contains all other tags like <head> and <body>.
  3. Final Answer:

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

    Root tag = <html> [OK]
Hint: Root tag is always <html> wrapping the whole page [OK]
Common Mistakes:
  • Confusing <head> as root instead of <html>
  • Thinking <body> is the root tag
  • Using <title> as root tag
2. Which of the following is the correct way to declare the document type for HTML5?
easy
A.
B.
C.
D.

Solution

  1. Step 1: Recall the HTML5 doctype declaration

    HTML5 uses a simple doctype declaration to tell browsers to use modern standards.
  2. Step 2: Identify the correct syntax

    The correct syntax is exactly <!DOCTYPE html> with uppercase DOCTYPE and lowercase html.
  3. Final Answer:

    <!DOCTYPE html> -> Option A
  4. Quick Check:

    HTML5 doctype = <!DOCTYPE html> [OK]
Hint: DOCTYPE is uppercase, html lowercase, no version number [OK]
Common Mistakes:
  • Writing DOCTYPE in lowercase
  • Adding version number like HTML5
  • Missing exclamation mark
3. What will the browser display when opening this HTML snippet?
<!DOCTYPE html>
<html>
<head>
  <title>Test Page</title>
</head>
<body>
  <h1>Hello</h1>
  <p>Welcome to the page.</p>
</body>
</html>
medium
A. Only the title 'Test Page' is shown on the page
B. An empty page with no visible content
C. A page with a heading 'Hello' and a paragraph 'Welcome to the page.'
D. An error message because of missing tags

Solution

  1. Step 1: Analyze the body content

    The body contains an <h1> with 'Hello' and a <p> with 'Welcome to the page.'
  2. Step 2: Understand browser rendering

    Browsers display the content inside the <body> tag as visible page content. The <title> appears in the browser tab, not on the page.
  3. Final Answer:

    A page with a heading 'Hello' and a paragraph 'Welcome to the page.' -> Option C
  4. Quick Check:

    Body content visible = heading + paragraph [OK]
Hint: Page shows body content, title shows in tab only [OK]
Common Mistakes:
  • Thinking <title> shows on the page
  • Expecting error from correct tags
  • Ignoring body content
4. Identify the error in this HTML structure:
<!DOCTYPE html>
<html>
<head>
  <title>Page</title>
<body>
  <h1>Welcome</h1>
</body>
</html>
medium
A. Missing <title> tag inside <head>
B. Missing closing <head> tag before <body>
C. Extra <body> tag inside <head>
D. DOCTYPE declaration is incorrect

Solution

  1. Step 1: Check tag nesting

    The <head> tag is opened but never closed before <body> starts, which breaks structure.
  2. Step 2: Confirm correct closing tags

    Proper HTML requires closing <head> before starting <body>. Missing </head> causes parsing issues.
  3. Final Answer:

    Missing closing <head> tag before <body> -> Option B
  4. Quick Check:

    Head must close before body starts [OK]
Hint: Always close <head> before starting <body> [OK]
Common Mistakes:
  • Forgetting to close <head>
  • Placing <title> outside <head>
  • Misplacing DOCTYPE
5. You want to create a valid HTML5 page with a header, main content, and footer. Which structure is correct?
hard
A. My Page
Site Header
Main content here
Site Footer
B. My Page
Site Header
Main content here
Site Footer
C. My Page
Main content here
Site Footer
Site Header
D. My Page
Site Header
Site Footer

Solution

  1. Step 1: Check for required tags and order

    Valid HTML5 requires <!DOCTYPE html>, <html> with lang attribute, <head> with meta charset and title, and <body> with semantic sections.
  2. Step 2: Verify semantic tags and placement

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>My Page</title>
    </head>
    <body>
      <header>Site Header</header>
      <main>Main content here</main>
      <footer>Site Footer</footer>
    </body>
    </html>
    correctly places <header>, <main>, and <footer> inside <body> and includes meta charset and lang attribute.
  3. Final Answer:

    The complete valid HTML5 structure with lang, meta charset, title, header, main, footer -> Option A
  4. Quick Check:

    Valid HTML5 = DOCTYPE + lang + meta + semantic tags [OK]
Hint: Use semantic tags inside <body> with proper <head> metadata [OK]
Common Mistakes:
  • Placing <header> inside <head>
  • Missing lang or meta charset
  • Incorrect order of semantic tags
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