Blog/Jul 28, 2026/HTML5/junior/5 min read

Top 20 HTML Interview Questions (with Answers)

HTML interview questions on semantic elements, accessibility, forms, SEO, and the DOM — with the markup answers interviewers expect.

htmlfrontendaccessibilityinterview-questions

HTML interviews look easy — then an interviewer asks you to build an accessible modal or explain why your form breaks for a screen reader, and the simplicity evaporates. These are the questions that separate "can write HTML" from "understands HTML."

1–5: Semantic markup

1. Why use semantic elements?

Semantic elements (<article>, <nav>, <header>, <main>, <aside>, <section>, <footer>) carry meaning for browsers, assistive tech, SEO, and future maintainers. A <div> says nothing; <nav> says "this is navigation." Screen readers expose landmarks built from semantics.

2. <article> vs <section> vs <div>?

<article> — a self-contained composition (a blog post, a comment, a product card) that makes sense on its own. <section> — a thematic grouping, ideally with a heading. <div> — pure layout with no meaning. Use the semantics, then the div.

3. What's the document outline problem?

Heading order (h1h2h3, never skipping levels) builds an accessible outline. Skipping from h1 to h3 confuses screen-reader users. The h1-per-page question — one, describing the page — is a classic.

4. When do you use <section> vs <aside>?

<section> is a thematic part of the document's main flow. <aside> is tangentially related content — sidebars, pull quotes, related links. The distinction is about whether the content is part of the main narrative.

5. What is the difference between <b>/<i> and <strong>/<em>?

<strong> and <em> carry meaning (importance, emphasis — read differently by screen readers). <b> and <i> are purely presentational (bold/italic without meaning). In 2026, if it's meaningful emphasis, use the semantic tags.

6–10: Accessibility

6. What is ARIA and when do you use it?

ARIA (Accessible Rich Internet Applications) adds attributes (role, aria-label, aria-live) that give assistive tech information about elements. First rule of ARIA: use native HTML elements when they exist — a native <button> beats role="button" on a <div>.

7. What is aria-live?

Declares a region that assistive tech should announce when its content changes — for toasts, loading states, dynamic results. aria-live="polite" waits; aria-live="assertive" interrupts. Used sparingly.

8. How do you make a custom widget accessible?

Give it a role (role="slider", role="tablist"), aria-* state (aria-valuenow, aria-selected), keyboard support (arrows for sliders, Tab to enter/exit), and focus management. The pattern: mirror native semantics with ARIA, add keyboard, manage focus.

9. What is focus management?

Moving and tracking focus when the UI changes — opening a dialog moves focus into it, closing returns it, toggling nav moves focus to the panel. Poor focus management is the #1 a11y failure in SPAs.

10. Why does every image need meaningful alt text?

Screen readers announce alt in place of the image. Decorative images get alt="" (empty) so they're skipped; informative images get descriptive alt; buttons-with-icons get alt describing the action.

11–15: Forms and validation

11. Why does every input need a <label>?

A label with for/id pairing (or wrapping the input) gives the input an accessible name, a click target that focuses the input, and — critically — a screen-reader announcement. Inputs without labels are unannounced.

12. Native vs JavaScript form validation?

Modern HTML5 validation — required, pattern, type="email", min/max, minlength — is free, accessible, and works without JS. JavaScript adds custom validation messages (setCustomValidity), cross-field logic, and async checks. The pro answer: use native first, augment with JS.

13. What is novalidate for?

Disables native validation so a custom validation script takes over — common when you need a uniform validation UX across browsers. The form still needs some validation; you're replacing, not removing it.

14. What input types exist and why use them?

email, url, tel, number, date, range, color, file — each gives native keyboard (mobile), validation, and semantics. type="email" on mobile brings the email keyboard. The more specific the type, the better the native experience.

15. What is autocomplete and why does it matter?

autocomplete="name", "email", "cc-number" tells the browser what to autofill — hugely important for real forms (password managers, address autofill) and an accessibility win for users with motor or cognitive impairments.

16–20: SEO, multimedia, and storage

16. What meta tags matter for SEO?

title, meta name="description", Open Graph (og:title, og:description, og:image), Twitter cards, robots, canonical, and viewport. Structured data (JSON-LD) for rich results.

17. What is the <picture> element?

A container for multiple <source> elements + one <img> — letting the browser pick the best image by format and size. Combined with srcset and sizes for responsive images: serve small images to small screens, modern formats (WebP/AVIF) to supporting browsers.

18. localStorage vs sessionStorage vs IndexedDB?

localStorage — persistent, ~5MB, strings only. sessionStorage — same, but per-tab, cleared on close. IndexedDB — async, large, structured objects, indexes, transactions. The follow-up is usually about where each is appropriate.

19. What is a service worker?

A script the browser runs in the background, controlling the network layer for your origin — the engine behind offline support, caching, background sync, and push notifications. Progressive Web Apps are built on it.

20. What is the Shadow DOM?

DOM encapsulation — a subtree with its own scope, so its IDs, styles, and structure can't leak out. Together with <template> and <slot>, it's the foundation of Web Components. The follow-up: why does it matter? Isolation without the iframe's isolation cost.

How to study these

HTML and accessibility questions are best practiced by building — an accessible form, a product card, a dialog — and then auditing your own markup for labels, landmarks, and focus. Practice live where an interviewer watches you write markup and probes the accessibility decisions — that's the format these roles actually test.