ProCore

HTML Core

Forms as they actually serialise, tables with real headers, and the head you copy without reading. Ten topics on the markup you write every day and the parts of it that do not behave the way the tag name suggests.

Questions90
Topics10
Answering time68 minutes
At five a day18 days
LevelCore

Who it is for

Works in it, has gaps.

The behaviour people get wrong after they are already productive in the language.

You will get the most out of it if you have written HTML recently enough to read it without effort, and have been surprised by it at least once. If you are picking the language up for the first time, start with HTML Essentials and come back to this one.

How long it takes

90 graded questions at roughly 45 seconds each is about 68 minutes of answering in total.

At the default five questions a day, and because the session mixes in your other courses, expect around 18 days — call it 3 weeks — to see everything once, plus a few weeks of thinning reviews after that before it is all mastered.

A question is mastered on the third correct answer, once the gap between reviews has grown past a week — so a course cannot be finished in a weekend however long you sit with it.

Question mix

  • 60 multiple choice
  • 10 concept cards
  • 10 predict the output
  • 10 put it in order
  • 10 matching questions

Syllabus

What you will be asked about

  1. 01

    Labels, Fieldsets & Grouping

    Work out which control a label actually labels, and group related controls so the grouping survives.

  2. 02

    What a Form Actually Submits

    Work out the exact name/value pairs a form sends, and which controls send nothing at all.

  3. 03

    Validation Attributes

    Predict when the browser blocks a submit, and what the validation attributes really constrain.

  4. 04

    Tables With Headers & Spans

    Build a table whose headers, scopes and spans describe the data rather than just drawing it.

  5. 05

    Charset, Viewport & the Head

    Choose the metadata a page needs, and know which of it has to come first.

  6. 06

    Images, Media & Embedded Content

    Pick the right embedding element and give each one the fallback the spec expects.

  7. 07

    Iframes & Sandboxing

    Embed a third-party document without handing it the powers of your own page.

  8. 08

    Attributes, Properties & data-*

    Tell the markup attribute apart from the DOM property that reflects it, and read data-* correctly.

  9. 09

    Character References & Escaping

    Escape text so it survives the parser, and know which containers do not decode at all.

  10. 10

    template, slot & Inert Markup

    Hold markup that is parsed but not live, and understand where slotted content really sits.

8 more topics, and all 90 questions

HTML Core is a Pro course. One subscription opens it and every other course in the catalogue, including the ones still being written.

See pricing Find a free course

A question from this course

Labels, Fieldsets & Grouping

This input has no id. What ties it to the label?

<label>Email <input name="email"></label>
  • ANothing: without a matching for and id there is no association
  • BContainment: the label labels its first labelable descendant
  • CThe name attribute stands in for the id when for is absent
  • DOnly assistive tech infers it; clicking the word Email does nothing
Show the answer

B Containment: the label labels its first labelable descendant

Many teams have a rule that every input needs an id so a label can point at it, which makes it feel as though the id is what does the work. In fact wrapping is a first-class association: a label with no for labels the first labelable element inside it. Clicking the word Email focuses this input exactly as an explicit label would.

The rest of the track

HTML at every depth

FreeFoundation

HTML Essentials

Ten topics on the markup you already recognise and the behaviour underneath it: what the parser does with a tag you left open, which controls a form actually submits, and why an empty alt is sometimes right and sometimes the bug.

90 questions · 68 minutes

ProCoreInterview prep

HTML Errors & Edge Cases

What the parser does when you get it wrong: unclosed tags, void elements written as containers, blocks inside paragraphs, and text foster-parented out of a table. Every item shows the tree you actually got rather than the one you wrote.

90 questions · 68 minutes

ProAdvanced

HTML Idioms & Pitfalls

The markup people write out of habit that is wrong or wasteful. Div soup, lists that are not lists, headings used for size, ARIA that overrides what the element already said, and alt text that describes the wrong thing.

90 questions · 68 minutes

ProAdvancedInterview prep

HTML Advanced

Insertion modes, inert templates, shadow boundaries and slot assignment, custom element upgrade timing, and what each iframe sandbox token actually permits. The parts that still catch authors who have written HTML for years.

90 questions · 68 minutes

ProAdvancedInterview prep

HTML Interview Questions

What interviewers ask about markup and what the honest answer is: the accessibility tree against the DOM tree, constraint validation, parser error recovery, resource loading order, and the perennial "what does this render".

90 questions · 68 minutes

Start HTML Core
in tomorrow’s session.

Enrol and this course joins your daily five, mixed in with everything else you are studying — 90 questions spread over about 18 days rather than dropped on you at once.

Browse the catalogue