Bird
Raised Fist0
HTMLmarkup~8 mins

Anchor tag basics in HTML - Performance & Optimization

Choose your learning style10 modes available
Performance: Anchor tag basics
MEDIUM IMPACT
Anchor tags affect page load speed by triggering navigation and can impact interaction responsiveness when used improperly.
Creating clickable links for navigation
HTML
<a href="/target-page" aria-label="Go to target page">Click me</a>
Using a real href enables browser prefetching and faster navigation; no inline JS blocking rendering.
📈 Performance Gainnon-blocking navigation, faster interaction, better accessibility
Creating clickable links for navigation
HTML
<a href="#" onclick="doSomething(); return false;">Click me</a>
Using href="#" causes the browser to jump to the top and may trigger unnecessary reflows or reloads; inline JavaScript blocks rendering and delays interaction.
📉 Performance Costtriggers 1 reflow and blocks interaction until JS runs
Performance Comparison
PatternDOM OperationsReflowsPaint CostVerdict
Anchor with href="#" and inline JSMinimal DOM nodes1 reflow on clickLow paint cost[X] Bad
Anchor with valid href and no inline JSMinimal DOM nodes0 reflows on clickLow paint cost[OK] Good
Rendering Pipeline
Anchor tags with valid hrefs allow the browser to prepare navigation early, improving the critical rendering path. Improper use can cause layout shifts or block interaction.
→Style Calculation
→Layout
→Paint
→Composite
⚠️ BottleneckLayout and Interaction Delay
Core Web Vital Affected
INP
Anchor tags affect page load speed by triggering navigation and can impact interaction responsiveness when used improperly.
Optimization Tips
1Always use valid href attributes in anchor tags for better navigation performance.
2Avoid using href="#" as it causes unnecessary page jumps and reflows.
3Do not block rendering with inline JavaScript on anchor tags.
Performance Quiz - 3 Questions
Test your performance knowledge
What is a performance downside of using <a href="#"> with inline JavaScript for navigation?
AIt improves browser prefetching.
BIt reduces the file size of the page.
CIt can cause unnecessary page jumps and block interaction.
DIt speeds up page load time.
DevTools: Performance
How to check: Record a session while clicking anchor links; look for layout shifts or long tasks blocking interaction.
What to look for: Check for minimal layout recalculations and fast interaction response times.

Practice

(1/5)
1. What does the <a> tag do in HTML?
easy
A. Creates a clickable link to another page or resource
B. Defines a paragraph of text
C. Inserts an image into the page
D. Adds a heading to the page

Solution

  1. Step 1: Understand the purpose of the <a> tag

    The <a> tag is used to create links that users can click to go to other pages or resources.
  2. Step 2: Compare with other tags

    Other tags like <p>, <img>, and <h1> serve different purposes such as paragraphs, images, and headings.
  3. Final Answer:

    Creates a clickable link to another page or resource -> Option A
  4. Quick Check:

    Anchor tag = clickable link [OK]
Hint: Anchor tag always creates clickable links [OK]
Common Mistakes:
  • Confusing <a> with <p> or <img>
  • Thinking <a> adds images or text formatting
  • Ignoring the clickable nature of <a>
2. Which of the following is the correct syntax to create a link to "https://example.com" with the text "Visit Example"?
easy

Solution

  1. Step 1: Identify the correct attribute for link destination

    The correct attribute to specify the link URL is href inside the <a> tag.
  2. Step 2: Check the tag and attribute usage

    <a href="https://example.com">Visit Example</a> uses <a> with href and link text correctly. Other options use wrong attributes or tags.
  3. Final Answer:

    <a href="https://example.com">Visit Example</a> -> Option A
  4. Quick Check:

    Use <a href="URL">text</a> for links [OK]
Hint: Use href attribute inside <a> for links [OK]
Common Mistakes:
  • Using url instead of href attribute
  • Using <link> tag instead of <a>
  • Omitting href attribute
3. What will the following HTML code display in the browser?
<a href="#section2">Go to Section 2</a>
<h2 id="section2">Section 2</h2>
medium
A. A link that opens a new tab to a page named 'section2'
B. An error message because href cannot start with #
C. A clickable link labeled 'Go to Section 2' that scrolls to the heading 'Section 2' on the same page
D. Plain text 'Go to Section 2' with no link

Solution

  1. Step 1: Understand href with # and id attribute

    The href="#section2" links to an element with id="section2" on the same page, causing the page to scroll there.
  2. Step 2: Check the displayed content

    The link text 'Go to Section 2' is clickable and scrolls to the heading labeled 'Section 2'.
  3. Final Answer:

    A clickable link labeled 'Go to Section 2' that scrolls to the heading 'Section 2' on the same page -> Option C
  4. Quick Check:

    href="#id" scrolls to element with that id [OK]
Hint: href="#id" links inside same page [OK]
Common Mistakes:
  • Thinking # means new page or error
  • Expecting new tab to open
  • Ignoring id attribute connection
4. Find the error in this anchor tag code:
<a href="www.example.com">Example</a>
medium
A. href attribute should be written as link
B. Incorrect closing tag, should be <a />
C. Text 'Example' should be inside quotes
D. Missing protocol like https:// in href URL

Solution

  1. Step 1: Check href URL format

    The href value 'www.example.com' lacks the protocol (http:// or https://), so the browser treats it as a relative link.
  2. Step 2: Understand correct URL usage

    To link to an external site, the URL must include the protocol like 'https://www.example.com'.
  3. Final Answer:

    Missing protocol like https:// in href URL -> Option D
  4. Quick Check:

    External links need full URL with protocol [OK]
Hint: Always include https:// for external links [OK]
Common Mistakes:
  • Omitting https:// causes relative link errors
  • Using self-closing tag incorrectly
  • Misnaming href attribute
5. You want to create an email link that opens the user's email program to send mail to "contact@example.com". Which anchor tag is correct?
hard

Solution

  1. Step 1: Identify the correct protocol for email links

    Email links use the mailto: protocol in the href attribute to open the email client.
  2. Step 2: Check each option's syntax

    <a href="mailto:contact@example.com">Send Email</a> uses mailto:contact@example.com correctly. <a href="email:contact@example.com">Send Email</a> uses wrong protocol 'email:', while others lack the protocol or use incorrect formats like 'mailto://'.
  3. Final Answer:

    <a href="mailto:contact@example.com">Send Email</a> -> Option B
  4. Quick Check:

    Email links use mailto: prefix [OK]
Hint: Use mailto: before email address in href [OK]
Common Mistakes:
  • Using email: instead of mailto:
  • Omitting mailto: prefix
  • Adding extra slashes after mailto:
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