HTML Interview Questions – Intermediate Level (2025
1. What are the advantages of using HTML5 over HTML4?
HTML5 introduces semantic tags (<header>
, <footer>
, <article>
, <section>
), built-in multimedia support with <video>
and <audio>
, drawing via <canvas>
, enhanced forms, APIs like Web Storage and Geolocation, and better mobile responsiveness using <meta name="viewport">
.
2. What are semantic and non-semantic elements in HTML?
Semantic elements clearly describe their meaning (e.g., <article>
, <nav>
, <header>
).
Non-semantic elements like <div>
and <span>
do not convey meaning.
Semantic elements improve accessibility and SEO.
3. Explain the role of the data-*
attribute in HTML5.
data-*
attributes store custom data in HTML elements for use with JavaScript.
Example:
<div data-user-id="101" data-role="admin">User Info</div>
<script>
console.log(document.querySelector('div').dataset.userId);
</script>
4. What is the difference between <article>
and <section>
?
<article>
represents self-contained, independent content like a blog post.
<section>
groups related content thematically, like chapters or sections in a document.
5. How does the contenteditable
attribute work?
When contenteditable="true"
is applied to an element, users can edit its text directly in the browser.
<div contenteditable="true">Edit this text!</div>
6. What are HTML5 form validation attributes?
required
– Field must not be emptypattern
– Defines regex for inputmin
,max
,maxlength
– Restrict values or lengthtype
– Enforces format (e.g.,email
,number
)
<input type="email" required>
<input type="text" pattern="[A-Za-z]{3,}">
7. What is the purpose of <figure>
and <figcaption>
?
They group and describe visual or code elements.
<figure>
<img src="chart.png" alt="Sales Chart">
<figcaption>Quarterly Sales Report</figcaption>
</figure>
8. How does the <meta name="viewport">
tag make a page responsive?
It adjusts the layout for mobile devices.
<meta name="viewport" content="width=device-width, initial-scale=1.0">
9. What are ARIA attributes in HTML?
ARIA (Accessible Rich Internet Applications) improves accessibility by defining roles and labels for assistive technologies.
Example:
<button aria-label="Close">X</button>
10. Difference between defer
and async
in <script>
tags
Attribute | Execution Time | Order Maintained |
---|---|---|
async | Executes as soon as loaded | ❌ No |
defer | Executes after HTML parsing | ✅ Yes |
<script async src="analytics.js"></script>
<script defer src="app.js"></script>
11. What is the difference between localStorage and sessionStorage?
Storage | Persistence | Capacity |
---|---|---|
localStorage | Until manually cleared | ~10MB |
sessionStorage | Until tab closed | ~5MB |
localStorage.setItem('user', 'John');
sessionStorage.setItem('theme', 'dark');
12. What is the purpose of the <canvas>
element?
It provides a 2D drawing surface for graphics using JavaScript.
<canvas id="myCanvas" width="200" height="100"></canvas>
<script>
const c = document.getElementById("myCanvas");
const ctx = c.getContext("2d");
ctx.fillStyle = "blue";
ctx.fillRect(10, 10, 50, 50);
</script>
13. Difference between <canvas>
and <svg>
Feature | <canvas> | <svg> |
---|---|---|
Type | Pixel-based | Vector-based |
Scalability | Loses quality on zoom | Infinite scaling |
Use Case | Games, animations | Charts, logos |
14. How to handle cross-browser compatibility in HTML?
- Use
<!DOCTYPE html>
- Apply CSS prefixes (
webkit-
,moz-
) - Test on multiple browsers
- Use Modernizr for feature detection
- Provide fallbacks and polyfills
15. What are void elements in HTML?
Void (self-closing) elements don’t have closing tags.
Examples: <br>
, <img>
, <hr>
, <meta>
, <input>
, <link>
16. What are global attributes?
Attributes usable on any HTML element:
id
, class
, style
, title
, lang
, hidden
, tabindex
, draggable
, contenteditable
17. What is the difference between <script>
, <link>
, and <style>
?
Tag | Purpose |
---|---|
<script> | Adds or links JavaScript |
<link> | Links external CSS or files |
<style> | Embeds internal CSS |
18. What is the <details>
and <summary>
element?
They create collapsible sections.
<details>
<summary>Show More</summary>
<p>Hidden content here.</p>
</details>
19. What is the <picture>
tag used for?
It helps serve responsive images for different devices.
<picture>
<source srcset="large.jpg" media="(min-width:800px)">
<img src="small.jpg" alt="Example Image">
</picture>
20. Difference between relative and absolute URLs
- Relative: Based on current path →
images/pic.jpg
- Absolute: Includes full domain →
https://example.com/images/pic.jpg
21. What is the difference between <button>
and <input type="button">
?
<button>
can contain HTML inside (e.g., icons or styled text).
<input type="button">
is self-closing and text-only (via value
).
22. What is the purpose of <fieldset>
and <legend>
?
Used to group related form fields and provide labels.
<fieldset>
<legend>Personal Info</legend>
<input type="text" placeholder="Name">
</fieldset>
23. What is the <template>
tag?
It stores HTML markup that is not rendered immediately and can be cloned dynamically using JavaScript.
<template id="card">
<div class="card">Hello</div>
</template>
24. What are custom elements in HTML5?
Developers can define new tags using Web Components.
class MyCard extends HTMLElement {}
customElements.define('my-card', MyCard);
25. What are microdata attributes in HTML5?
They add structured data for SEO using Schema.org.
<div itemscope itemtype="<https://schema.org/Person>">
<span itemprop="name">John</span>
</div>
26. What is the <noscript>
tag?
It displays fallback content when JavaScript is disabled.
<noscript>Your browser does not support JavaScript.</noscript>