HTML-elementen en attributen voor webpagina's

Leer de HTML schrijven die elke webpagina structuur geeft. Begin met elementen, attributen en de basisstructuur van een document, inclusief de taal, tekencodering en titel. Deel daarna tekst in met koppen, alinea's, nadruk en lijsten, verbind pagina's met duidelijke links en navigatiemenu's, voeg afbeeldingen met bruikbare alternatieve tekst en bijschriften toe en verdeel een pagina in betekenisvolle gebieden zoals header, main en footer. De eenheid eindigt met een complete, geldige pagina die klaar is om met CSS vorm te geven.

BeginnerLes 2 van 8 in Cursus HTML en CSS: responsieve, toegankelijke websites bouwen

Wat je leert

  1. Lees en schrijf HTML-elementen en -attributen, maak een compleet document met de taal, codering en metadata en controleer de opmaakcode op fouten.
    • Lees en schrijf elementen, tags en attributen
      Herken de onderdelen van een element, schrijf attributen correct, nest elementen op de juiste manier en weet hoe de browser met spaties en commentaar omgaat.
    • Maak de basisstructuur van het document en vul het head-element in
      Schrijf de doctype, de elementen html, head en body en de metadata die elke pagina nodig heeft, en sla de bestanden op met namen die geschikt zijn voor het web.
    • Geef de taal en tekencodering op
      Gebruik het lang-attribuut om de taal van een pagina en van tekstgedeelten daarin op te geven. Gebruik UTF-8 zodat letters met accenten en andere schriften correct worden weergegeven.
    • Controleer en verbeter je opmaakcode
      Zoek en verbeter HTML-fouten met een validator en de ontwikkelaarstools van de browser, en herken de fouten die beginners het vaakst maken.
  2. Deel tekst in met een duidelijke hiërarchie van koppen en alinea's, markeer betekenis binnen zinnen en presenteer items in het juiste soort lijst.
    • Deel tekst in met koppen en alinea's
      Gebruik de zes kopniveaus voor een logische structuur, schrijf alinea's en gebruik regeleinden en thematische scheidingen alleen waar de inhoud die nodig heeft.
    • Markeer nadruk, citaten en code binnen tekst
      Kies het element op tekstniveau dat past bij de betekenis van een woord of woordgroep: nadruk, belang, citaten, afkortingen, code, datums en meer.
    • Maak ongeordende lijsten, geordende lijsten en beschrijvingslijsten
      Kies op basis van de betekenis tussen ongeordende lijsten, geordende lijsten en beschrijvingslijsten, nest lijsten correct en bepaal de nummering van geordende lijsten.
  3. Maak links naar andere websites, naar pagina's op je eigen website en naar plaatsen binnen een pagina, schrijf duidelijke linktekst en maak overzichtelijke navigatiemenu's.
    • Maak links met absolute en relatieve URL's
      Schrijf het ankerelement, kies tussen absolute en relatieve adressen en adressen vanaf de hoofdmap, en maak links naar secties, e-mailadressen en telefoonnummers.
    • Schrijf duidelijke linkteksten en bepaal hoe links worden geopend
      Schrijf linktekst die de bestemming noemt, maak links naar downloads en afbeeldingen en bepaal wanneer een link op een nieuw tabblad moet openen.
    • Maak navigatiemenu's en links binnen een pagina
      Maak websitemenu's, inhoudsopgaven, kruimelpaden en skiplinks met HTML en houd de navigatie op alle pagina's van een website consistent.
  4. Plaats afbeeldingen op een pagina met het juiste bestand, de juiste afmetingen en het juiste formaat, en geef elke afbeelding een tekstalternatief en waar nuttig een bijschrift.
    • Voeg afbeeldingen in met het img-element
      Voeg afbeeldingen toe met img, kies een geschikt bestandsformaat, geef de breedte en hoogte op en houd de bestandsgrootte binnen redelijke grenzen.
    • Schrijf alternatieve teksten en voeg bijschriften toe
      Schrijf alternatieve tekst die past bij het doel van elke afbeelding, markeer decoratieve afbeeldingen correct en gebruik figure en figcaption voor bijschriften.
  5. Verdeel een pagina in betekenisvolle gebieden, kies het juiste element voor elk inhoudsblok en combineer alles tot een complete, goed gestructureerde pagina.
    • Markeer de belangrijkste paginagebieden met HTML
      Gebruik header, nav, main, aside en footer om de gebieden van een pagina te markeren en begrijp hoe die herkenningspunten worden voor hulptechnologie.
    • Kies tussen article, section, div en span
      Bepaal of een inhoudsblok een artikel, een sectie of alleen een omhullend element voor vormgeving is en nest deze elementen en hun koppen correct.
    • Maak een plan voor een volledige pagina en werk die uit in HTML
      Plan de structuur van een pagina voordat je code schrijft en combineer daarna metadata, koppen, tekst, lijsten, links, afbeeldingen en paginagebieden tot één geldige pagina.

HTML-elementen en attributen: uitleg

5 hoofdstukken

1

Schrijf correct opgebouwde HTML-documenten

Elke pagina begint met tekst die de browser omzet in een boom van elementen. Leer die structuur lezen, attributen toevoegen en een document met de juiste metadata opbouwen. De taal- en coderingsinstellingen helpen dezelfde pagina om te gaan met verschillende soorten tekst. Je vergelijkt ook je broncode met het resultaat dat de browser heeft geparseerd en gebruikt een HTML-controleprogramma om fouten te vinden die bij een normale weergave verborgen kunnen blijven.

1.1 Elementen, attributen en nesten

HTML voorziet de onderdelen van een pagina van labels, zodat de browser de structuur kan opbouwen. Een kop, een alinea en een link hebben verschillende betekenissen, ook voordat je vormgeving toevoegt. HTML beschrijft de inhoud, CSS bepaalt de vormgeving en JavaScript voegt gedrag toe.

Lees een element

In <p>The workshop opens at noon.</p> is <p> de begintag, de zin de inhoud en </p> de eindtag. Het geheel is een alinea-element. De schuine streep markeert de eindtag. Gebruik elementnamen in kleine letters om je broncode consistent te houden, ook al accepteert HTML ook namen in hoofdletters.

Een attribuut voegt informatie toe binnen een begintag:

<a href="hours.html" title="Workshop opening hours">Opening hours</a>

Hier geeft href de bestemming en title adviserende tekst. Scheid attributen met spaties en zet hun waarden tussen rechte aanhalingstekens. De volgorde verandert hun betekenis niet. Aanhalingstekens houden een waarde bij elkaar: class="intro note" geeft twee klassenamen, terwijl class=intro note wordt gelezen als één klassewaarde en een afzonderlijk attribuut met de naam note.

Plaats elementen in elkaar

Een alinea kan een woord bevatten dat belangrijk is:

<p>Bring your <strong>booking number</strong>.</p>

Open de alinea, open het strong-element, sluit het strong-element en sluit dan de alinea. Sluit het laatst geopende element als eerste. De alinea is het ouderelement en het strong-element is het kindelement. Kindelementen en alles wat daarin staat, zijn afstammelingen. De browser organiseert deze relaties in de DOM, het Document Object Model, een boom van de inhoud van de pagina.

Niet elk element kan binnen elk ander element staan. Zo kan een lijst niet binnen een alinea staan. Inspringing helpt je de nesting te zien, maar extra spaties kunnen een ongeldige relatie tussen ouder- en kindelement niet geldig maken.

Herken bijzondere soorten elementen en attributen

Lege elementen hebben geen inhoud en geen eindtag. Voorbeelden zijn <img>, <br>, <hr>, <meta> en <link>. Schrijf <br>, zonder </br>. Een afsluitende schuine streep in <br /> heeft geen effect in HTML.

Een booleaans attribuut staat aan als het aanwezig is. Bij een geordende lijst laat reversed de nummering terugtellen. Als je reversed="false" schrijft, is het attribuut nog steeds aanwezig en telt de lijst dus nog steeds terug. Verwijder het attribuut om dit uit te schakelen.

Sommige attributen werken op verschillende elementen:

AttribuutBetekenis
idEén unieke identificatie binnen de pagina, zonder spaties
classEén of meer door spaties gescheiden namen die elementen mogen delen
langDe taal van de inhoud van het element
titleAdviserende tekst, vaak getoond als knopinfo bij aanwijzen met de muis
hiddenMarkeert inhoud die momenteel niet wordt weergegeven
Lees witruimte en commentaar in de broncode

In gewone tekst worden meerdere spaties, tabs of regeleinden in de broncode samengevoegd tot één spatie. Als je een alinea over drie regels broncode schrijft, krijg je op het scherm nog steeds één alinea. Gebruik elementen om structuur aan te geven en laat broncode inspringen om die leesbaar te maken.

Commentaar ziet eruit als <!-- Menu starts here -->. Het is verborgen op de weergegeven pagina, maar zichtbaar in de broncode. Zet nooit wachtwoorden of privégegevens in commentaar. Commentaar kan niet worden genest: de eerste --> beëindigt het commentaar.

Belangrijkste punten

  • Een element omvat zijn tags en inhoud; attributen horen in de begintag.
  • Zet attribuutwaarden tussen aanhalingstekens en sluit geneste elementen van binnen naar buiten.
  • Lege elementen hebben geen eindtag.
  • Een booleaans attribuut staat aan als het aanwezig is, ook als de waarde “false” zegt.
  • Gebruik unieke id's en gedeelde klassenamen; gewone witruimte in de broncode wordt samengevoegd.

1.2 De basisstructuur en pagina-informatie van het document

Een complete pagina scheidt informatie over het document van de inhoud die mensen lezen. Begin met een kleine, consistente basisstructuur en voeg daarna de titel en body-inhoud van de pagina toe.

Maak de basisstructuur
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Opening Hours – Harbor Café</title>
  </head>
  <body>
    <h1>Harbor Café</h1>
    <p>Open every day except Monday.</p>
  </body>
</html>

<!DOCTYPE html> vertelt de browser de standaardmodus te gebruiken, met de normale moderne weergaveregels. Het is een declaratie, geen element. Als je die weglaat, kan de compatibiliteitsmodus worden ingeschakeld, die ouder browsergedrag nabootst en de lay-out en afmetingen kan veranderen.

<html> is het hoofdelement. De twee kindelementen zijn <head> en <body>. Head bevat metadata, informatie over de pagina. Body bevat de zichtbare inhoud. Een <h1> hoort in body, ook als de browser de fout lijkt te herstellen wanneer je die in head zet.

Geef de pagina een identiteit

De <title> verschijnt op het browsertabblad, in bladwijzers en in de geschiedenis. Zoekmachines kunnen die ook als kop van een zoekresultaat gebruiken. Geef elke normale pagina precies één titel, binnen head. Zet het specifieke onderwerp eerst, gevolgd door de naam van de website, zoals “Openingstijden - Havencafé”. De zichtbare <h1> en de documenttitel zijn afzonderlijke elementen met verschillende functies.

Plaats <meta charset="utf-8"> als eerste in head. De volledige declaratie moet binnen de eerste 1.024 bytes van het bestand staan. Door de declaratie vroeg te plaatsen, kan de browser bepalen hoe de tekst moet worden gedecodeerd voordat die een groot deel van de pagina heeft gelezen.

De viewport-regel vraagt mobiele browsers om de apparaatbreedte te gebruiken voor de lay-out en een aanvankelijke zoom van 1. Zonder die regel gebruiken veel browsers een brede virtuele desktopviewport en verkleinen ze het resultaat, waardoor tekst klein lijkt. Deze regel bereidt het document voor op een mobiele lay-out; de vormgeving van de pagina bepaalt nog steeds hoe de inhoud past.

Koppel andere bronnen van de pagina

Veelvoorkomende toevoegingen aan head zijn:

<meta name="description" content="Fresh bread, coffee and lunch by the harbor.">
<link rel="icon" href="favicon.png">
<link rel="stylesheet" href="styles.css">
<script src="app.js" defer></script>

De beschrijving vat de pagina samen en kan in zoekresultaten verschijnen. Het pictogram levert de afbeelding op het tabblad. De stijlbladlink koppelt een CSS-bestand. Het script-element koppelt JavaScript; defer stelt de uitvoering uit totdat het document is geparseerd. Anders dan <link> en <meta> heeft <script> een eindtag nodig, ook als de inhoud leeg is.

Sla een webpaginabestand op

Sla tekst zonder opmaak in een code-editor op met de extensie .html. Een tekstverwerker kan opmaak toevoegen die niet in een HTML-bronbestand thuishoort. De standaardpagina van een map heet meestal index.html; de meeste webservers versturen die wanneer iemand het adres van de map opvraagt.

Kies namen in kleine letters met koppeltekens, zoals opening-hours.html. Spaties worden %20 in URL's en veel servers maken onderscheid tussen hoofdletters en kleine letters. Controleer of de editor je pagina niet als index.html.txt heeft opgeslagen. Open na het opslaan het HTML-bestand in de browser en vernieuw de pagina wanneer je een wijziging aanbrengt.

Belangrijkste punten

  • Zet de doctype eerst, metadata in <head> en pagina-inhoud in <body>.
  • Gebruik één specifieke <title> en plaats de UTF-8-declaratie vroeg.
  • Neem het viewportmeta-element op voor mobiele apparaten.
  • <script> heeft een eindtag nodig; <meta> en <link> niet.
  • Sla .html-bestanden op als tekst zonder opmaak met consistente namen in kleine letters; index.html is de gebruikelijke standaardpagina van een map.

1.3 Talen, UTF-8 en speciale tekens

De taal van tekst en de manier waarop de tekens worden opgeslagen, beantwoorden verschillende vragen. Een browser heeft beide nodig om de pagina correct te tonen, vooral als de inhoud accenten of meer dan één schrift bevat.

Geef de taal van de inhoud op

Schrijf de hoofdtaal op het hoofdelement: <html lang="en">. Schermlezers kunnen op basis hiervan de uitspraak kiezen en browsers kunnen de informatie gebruiken voor vertaling en spelling. Een taalcode begint met een code voor de taal. Een optioneel tweede deel kan een regio of schrift aangeven.

CodeTaal van de inhoud
enEngels
en-USEngels zoals gebruikt in de Verenigde Staten
en-GBBrits-Engels
fr-CAFrans zoals gebruikt in Canada
zh-HansChinees in vereenvoudigde tekens

De code beschrijft de inhoud, niet de locatie van de bezoeker. uk betekent Oekraïens en is dus niet de code voor Engels in het Verenigd Koninkrijk.

Markeer een taalwisseling op het dichtstbijzijnde geschikte element:

<p>Our host said <span lang="fr">bon appétit</span>.</p>

Alleen de Franse uitdrukking krijgt een Franse uitspraak. Bij een volledig citaat kun je de taal op de <blockquote> zetten. Een pagina die van rechts naar links loopt, heeft ook een basistekstrichting nodig, bijvoorbeeld <html lang="ar" dir="rtl">. Arabische letters lopen zonder dat attribuut nog steeds van rechts naar links, maar de basisrichting beïnvloedt de uitlijning van alinea's, leestekens en tekst met gemengde richtingen.

Zorg dat de opgeslagen bytes en de declaratie overeenkomen

Een tekencodering koppelt tekens aan opgeslagen bytes. UTF-8 kan alle Unicode-tekens weergeven, inclusief letters met accenten, andere schriften en emoji. HTML-documenten gebruiken UTF-8.

Er zijn twee stappen: sla het bestand zelf in de editor op als UTF-8 en plaats de declaratie <meta charset="utf-8"> vroeg in head. De declaratie vertelt de browser hoe die bytes moet lezen; de declaratie zet een bestand dat met een andere codering is opgeslagen niet om. Een coderingsdeclaratie van een server in de Content-Type-header heeft voorrang op het meta-element.

Als coderingen niet overeenkomen, levert dat vaak een aanwijzing op. UTF-8-tekst “Café” die als Windows-1252 wordt gelezen, kan “Café” worden omdat de twee bytes voor “é” afzonderlijk worden geïnterpreteerd. Een Windows-1252-bestand dat als UTF-8 wordt gelezen, kan juist “Caf�” tonen omdat de byte ongeldig is in UTF-8. Controleer de codering van de editor en de ontvangen documentinformatie van de browser voordat je afzonderlijke letters vervangt.

Toon tekens die HTML als syntaxis gebruikt

Gebruik tekenreferenties om letterlijke tekst te tonen die op een tag lijkt:

<p>Use &lt;p&gt; for paragraphs.</p>

De pagina toont “Use

for paragraphs.” De < moet als &lt; worden weergegeven, zodat de browser geen tag begint. Elke benoemde referentie begint met & en eindigt met ;.

ReferentieWeergegeven teken of effect
&lt; en &gt;Kleiner-dan- en groter-danteken
&amp;En-teken
&quot;Dubbel aanhalingsteken, nuttig binnen een attribuutwaarde tussen aanhalingstekens
&nbsp;Een spatie die een regeleinde voorkomt
&copy;Auteursrechtsymbool

Zo houdt 10&nbsp;km het getal en de eenheid op dezelfde regel. Gewone tekens met accenten kun je direct in een UTF-8-bestand typen; je hebt geen aparte referentie nodig voor elk accent.

Belangrijkste punten

  • lang geeft de taal van de inhoud aan; dir stelt de basistekstrichting in.
  • Markeer een taalwisseling op het element dat het tekstgedeelte bevat.
  • Sla het bestand op als UTF-8 en declareer UTF-8; een declaratie zet opgeslagen bytes niet om.
  • Gebruik tekenreferenties wanneer een letterlijk teken voor HTML-syntaxis kan worden aangezien.

1.4 Fouten in opmaakcode opsporen en verbeteren

Een browser probeert een pagina weer te geven, ook als de HTML fouten bevat. Dat behulpzame herstel kan fouten verbergen. Daarom bekijk je bij het controleren van een pagina zowel de broncode die je schreef als de structuur die de browser heeft opgebouwd.

Vergelijk de broncode met de DOM

Paginabron bekijken toont de HTML die de browser heeft ontvangen. Het paneel Elementen of Inspector in de ontwikkelaarstools toont de DOM, de geparseerde boom die de browser gebruikt. De browser kan tijdens het parsen een element te vroeg hebben gesloten of inhoud naar een andere plaats hebben verplaatst.

Open de inspector door met de rechtermuisknop op de pagina te klikken en Inspecteren te kiezen, of gebruik de sneltoets voor de ontwikkelaarstools van je browser. Selecteer een weergegeven element en bekijk het ouderelement en de kindelementen. Zoek daarna hetzelfde gedeelte in de broncode. Verschillen kunnen onverwachte tussenruimte, links die te ver doorlopen of stijlen op de verkeerde elementen verklaren.

Volg een automatische reparatie

Stel dat je dit schrijft:

<p>Our soups:
  <ul>
    <li>Tomato</li>
    <li>Lentil</li>
  </ul>
</p>

Een alinea staat inhoud op tekstniveau toe, geen lijst. Bij <ul> aangekomen sluit de browser de alinea. De lijst wordt een afzonderlijk blok. De laatste </p> heeft geen open alinea om te sluiten, waardoor het parsen een extra lege alinea kan maken.

De gewenste reparatie hoort in de broncode:

<p>Our soups:</p>
<ul>
  <li>Tomato</li>
  <li>Lentil</li>
</ul>

Verplaats de eindtag van de alinea naar vóór de lijst. De DOM kan nu de bedoelde relatie weergeven zonder foutherstel.

Gebruik een HTML-controleprogramma

De W3C Nu Html Checker accepteert een pagina-adres, een geüpload bestand of geplakte HTML. Het programma meldt fouten en waarschuwingen met hun locatie. Begin met de eerste fout, verbeter die en voer de controle opnieuw uit. Eén ontbrekend aanhalingsteken kan veel latere meldingen veroorzaken, dus elke gemelde regel tegelijk aanpassen kan onnodig werk opleveren.

In <a href="about.html> ontbreekt bijvoorbeeld het afsluitende aanhalingsteken. De browser kan de daaropvolgende opmaakcode als deel van de attribuutwaarde behandelen. Door het aanhalingsteken te herstellen kunnen verschillende latere fouten verdwijnen. Ook kan een ontbrekende </a> ervoor zorgen dat tekst die er niets mee te maken heeft, deel van de link wordt.

Let vooral op:

  • Elementen die in de verkeerde volgorde zijn gesloten of verkeerd gespelde namen zoals <pargraph>.
  • Dezelfde id die twee keer op één pagina wordt gebruikt.
  • Een <li> buiten de bijbehorende lijst.
  • Een afbeelding zonder alt-attribuut.
  • Zichtbare inhoud die in head is geplaatst.
Controleer zowel betekenis als syntaxis

Een resultaat zonder meldingen vertelt je dat de geteste opmaakcode de regels van het controleprogramma volgt. Het programma kan niet bepalen of “Klik hier” bruikbare linktekst is of dat de alternatieve tekst van een afbeelding de juiste informatie geeft. Lees de pagina op volgorde en controleer die keuzes zelf.

Controleer voordat je een pagina afrondt de doctype, documenttaal, vroege UTF-8-declaratie en specifieke titel. Bekijk de kopniveaus, unieke id's, tekstalternatieven voor afbeeldingen en linkbestemmingen. Open de pagina in minstens twee browsers en volg de links. Een geldig relatief pad kan nog steeds naar een ontbrekend bestand verwijzen; een syntaxiscontrole alleen ontdekt dat niet.

Belangrijkste punten

  • Door foutherstel van de browser kan ongeldige HTML toch lijken te werken.
  • Vergelijk de ontvangen broncode met de geparseerde DOM om herstel te vinden.
  • Verbeter de eerste fout van het controleprogramma en controleer opnieuw voordat je latere meldingen onderzoekt.
  • Controleer na de syntaxis zelf de betekenis van de inhoud, de afbeeldingen en de bestemmingen.
2

Structureer tekst met koppen, alinea's en lijsten

Een duidelijke tekststructuur helpt mensen een pagina snel door te nemen en te begrijpen hoe de ideeën samenhangen. Koppen en alinea's vormen de structuur; elementen op tekstniveau voegen daarbinnen betekenis toe. Lijsten groeperen items en volgordes zonder afhankelijk te zijn van zichtbare tussenruimte. Ga bij de keuze van een element uit van het doel van de inhoud, ook wanneer standaard vette tekst, opsommingstekens of regeleinden in de browser verschillende keuzes op elkaar laten lijken.

2.1 Koppen, alinea's en scheidingen

Koppen geven lezers een overzicht van de pagina. Alinea's bevatten samenhangende zinnen binnen dat overzicht. Kies de elementen op basis van de structuur van de inhoud en laat CSS daarna de vormgeving bepalen.

Maak een koppenoverzicht

HTML heeft zes kopniveaus, van <h1> tot en met <h6>. Gebruik één <h1> voor het hoofdonderwerp van de pagina, <h2> voor de hoofdsecties en <h3> voor onderdelen binnen een <h2>-sectie. De meeste pagina's hebben maar een paar niveaus nodig.

<h1>Growing Basil at Home</h1>
<p>Basil grows well on a sunny windowsill.</p>
<h2>Planting</h2>
<p>Sow the seeds 0.5 cm deep in moist soil.</p>
<h2>Care</h2>
<h3>Watering</h3>
<p>Water when the top of the soil feels dry.</p>
<h3>Harvesting</h3>
<p>Pick the top leaves first.</p>

Lees alleen de koppen. “Planten” en “Verzorging” zijn gelijkwaardige hoofdsecties. “Water geven” en “Oogsten” vallen onder “Verzorging”. Dit overzicht blijft bruikbaar wanneer een schermlezer de koppen opsomt of wanneer een lezer de pagina snel doorneemt.

Een kop mag maar één niveau dieper zijn dan de vorige kop: gebruik na <h1> een <h2>, geen <h3>. Als je terug omhoog gaat, mag je meerdere niveaus overslaan. Een <h2> na een <h4> begint een nieuwe hoofdsectie. Kopniveaus volgen het hele document, ook de inhoud binnen secties en artikelen.

De HTML-standaard staat meerdere koppen op het hoogste niveau toe, maar één <h1> als hoofdkop is het gebruikelijke, duidelijke patroon. Kies <h4> niet alleen omdat de standaardtekst kleiner is. Een vette alinea kan op een kop lijken, maar verschijnt niet in de koppenlijst van een schermlezer.

Onderscheid een ondertitel van een sectie

Een slogan beschrijft de kop ernaast; die leidt geen nieuwe sectie in. Groepeer een kop en ondertitel in <hgroup>:

<hgroup>
  <h1>Harbor Café</h1>
  <p>Fresh bread every morning</p>
</hgroup>

De alinea blijft een ondertitel. Als je er een <h2> van maakt, komt die ten onrechte als hoofdsectie in het koppenoverzicht van de pagina te staan.

Gebruik alinea's voor samenhangende zinnen

Een <p>-element bevat een alinea. Begin een nieuwe alinea wanneer het onderwerp of de stap in de uitleg verandert. Browsers voegen standaard zichtbare ruimte rond alinea's toe.

Als je in gewone HTML-broncode op Enter drukt, maak je geen nieuwe weergegeven alinea. Ook zijn lege <p>-elementen geen middel om tussenruimte te maken. Houd de structuur betekenisvol en stel extra ruimte in met CSS.

Kies een scheiding op basis van betekenis
ElementGebruik
<br>Een regeleinde dat bij de tekst hoort, zoals in een gedicht of postadres
<hr>Een thematische scheiding, zoals een wisseling van scène

Bij een adres houdt <p>Harbor Café<br>12 Quay Street<br>Port Town</p> de regels bij elkaar als één alinea. Meerdere <br>-elementen tussen gewone alinea's verwarren de inhoudsstructuur met tussenruimte. Een horizontale lijn die door <hr> wordt getekend, geeft een verandering van onderwerp aan; kies het element om die betekenis, niet alleen om de pagina te versieren.

Belangrijkste punten

  • Kopniveaus drukken hiërarchie uit; gebruik één <h1> als hoofdkop en beschrijvende sectiekoppen.
  • Sla geen kopniveau over wanneer je dieper in het overzicht gaat.
  • Gebruik <hgroup> met een alinea voor een ondertitel.
  • Gebruik <p> voor alinea's, <br> voor regeleinden in de inhoud en <hr> voor veranderingen van onderwerp.

2.2 Betekenis binnen tekst

Tekstelementen vertellen de browser wat een woord of tekstgedeelte betekent. Hun standaardweergave in vet, cursief of met inspringing is alleen een beginstijl. Kies eerst de betekenis.

Maak onderscheid tussen nadruk, belang en aandacht
ElementBetekenisVoorbeeld
<em>Nadruk die beïnvloedt hoe een zin wordt begrepenI <em>did</em> lock the door.
<strong>Belang, ernst of urgentie<strong>Warning:</strong>
<i>Afwijkend tekstgebruik, een technische term of een uitdrukking in een andere taal<i lang="la">Homo sapiens</i>
<b>Aandacht zonder extra belangEen productnaam in een recensie

Als je de nadruk in de voorbeeldzin verplaatst, verandert wat de spreker corrigeert. Belangrijke tekst heeft een andere functie: een waarschuwing is belangrijk ongeacht hoe de zin wordt uitgesproken. Gebruik CSS als je alleen een visuele stijl wilt.

Markeer citaten en hun bronnen

Een lang citaat gebruikt <blockquote>. Het optionele cite-attribuut geeft een bron-URL, maar dat adres wordt niet automatisch weergegeven. Zet een zichtbare bronvermelding buiten het citaat:

<blockquote cite="https://example.com/interview">
  <p>The garden is open to everyone.</p>
</blockquote>
<p>From <cite>A Conversation About the Garden</cite>.</p>

<cite> markeert de titel van een werk, niet de naam van een persoon. Een kort citaat binnen een zin gebruikt <q> en de browser zorgt voor de aanhalingstekens. Typ geen tweede paar rond dezelfde woorden.

Een afkorting kan <abbr title="World Health Organization">WHO</abbr> gebruiken. Schrijf de volledige vorm ook zichtbaar wanneer die voor het eerst voorkomt. Knopinfo alleen is op aanraakschermen moeilijk toegankelijk en is niet voor elke lezer een betrouwbare uitleg.

Toon code en behoud de witruimte

<code> duidt een kort stuk code binnen een zin aan. Combineer het met <pre> voor een blok waarin spaties en regeleinden van belang zijn:

<pre><code>&lt;p&gt;Welcome.&lt;/p&gt;</code></pre>

De lezer ziet de letterlijke opmaakcode van de alinea. <pre> behoudt de opmaak, maar schakelt het parsen van HTML niet uit. Je moet < nog steeds als &lt; en een en-teken als &amp; weergeven als ze als tekst moeten verschijnen. Anders kan een codevoorbeeld worden geïnterpreteerd als daadwerkelijke opmaakcode van de pagina.

Markeer datums, notatie en andere nuttige betekenissen

<sub> en <sup> geven subscript en superscript aan waar de notatie die nodig heeft: H<sub>2</sub>O en m<sup>2</sup>. Ze zijn geen hulpmiddelen om andere tekst kleiner te maken.

<time> verbindt leesbare datum- of tijdtekst met een machineleesbare waarde:

<time datetime="2026-03-14">March 14, 2026</time>

De waarde van datetime gebruikt jaar-maand-dag. Een tijd kan de 24-uurswaarde 14:30 gebruiken, ook als de zichtbare tekst “2:30 p.m.” zegt.

Gebruik <mark> voor tekst die is gemarkeerd omdat die in de huidige context relevant is, zoals een gevonden zoekterm. <small> bevat opmerkingen terzijde of kleine lettertjes. Een <span> heeft geen ingebouwde betekenis; het is nuttig voor een taalattribuut of als aangrijpingspunt voor vormgeving binnen een regel.

Belangrijkste punten

  • Gebruik nadruk voor klemtoon en strong voor belang.
  • Gebruik <i> en <b> voor hun betekenis, niet alleen voor hun standaardvormgeving.
  • <blockquote> en <q> markeren citaten; <cite> markeert de titel van een werk.
  • Schrijf afkortingen zichtbaar voluit, ook als een title op abbr de volledige vorm geeft.
  • <pre> behoudt witruimte maar parset nog steeds HTML; schrijf letterlijke codetekens als tekenreferenties.
  • Gebruik <time> met een machineleesbare waarde en notatie-elementen waar hun betekenis past.

2.3 Lijsten en hun structuur

Een echte lijst geeft samenhangende items een gezamenlijke structuur. Dankzij de opmaakcode horen lezers dat ze bij een lijst komen en hoeveel items die bevat. Het soort lijst hangt af van de betekenis van de items.

Kies het lijsttype

Gebruik <ul> voor items waarvan de volgorde de betekenis niet verandert, zoals ingrediënten. Gebruik <ol> voor een reeks of rangorde waarbij de volgorde belangrijk is. Beide bevatten lijstitems die met <li> zijn gemarkeerd.

<ol>
  <li>Boil the water.</li>
  <li>Add the pasta.</li>
  <li>Cook for 10 minutes.</li>
</ol>

Als je deze stappen omdraait, veranderen de instructies. Daarom past een geordende lijst. Een browser toont normaal gesproken nummers voor <ol> en opsommingstekens voor <ul>. CSS kan die markeringen veranderen; de betekenis van de lijst blijft hetzelfde.

Maak geen schijnlijst met getypte streepjes en regeleinden. Die tekens kunnen er hetzelfde uitzien, maar vertellen een schermlezer niet dat de items een lijst vormen. Een navigatiemenu gebruikt vaak een ongeordende lijst, terwijl een kruimelpad een geordende lijst gebruikt omdat het pad een volgorde heeft.

Nest een lijst binnen het bijbehorende item

Bij gewone lijstinhoud zijn de directe kindelementen van <ul> en <ol> de <li>-elementen. Plaats er niet rechtstreeks een alinea of een andere lijst tussen. De standaard staat ook elementen toe die scripts ondersteunen, maar die vervangen geen lijstitems.

Een geneste lijst hoort binnen het item dat die beschrijft:

<ul>
  <li>Fruit
    <ul>
      <li>Apples</li>
      <li>Pears</li>
    </ul>
  </li>
  <li>Vegetables</li>
</ul>

Open eerst het item “Fruit”. Voeg de geneste lijst toe, sluit die lijst en sluit daarna het item “Fruit”. Nu zijn “Apples” en “Pears” structureel verbonden met “Fruit”. Als je de binnenste <ul> na de </li> van het bovenliggende item plaatst, gaat die relatie verloren. Een <li> kan ook alinea's, links en afbeeldingen bevatten.

Bepaal betekenisvolle nummering

Een geordende lijst kan een telling voortzetten of omkeren:

OpmaakcodeEffect
<ol start="4">De eerste twee gewone items krijgen nummer 4 en 5
<ol reversed>Telt af; vijf items beginnen bij 5, tenzij een startwaarde is ingesteld
<li value="10">Geeft dat item nummer 10; latere items tellen vanaf daar verder
<ol type="a">Gebruikt letters als markering wanneer het type markering van belang is

reversed is booleaans. Het blijft ingeschakeld in reversed="false"; verwijder het om weer op te tellen. Met type kies je met de waarden 1, a, A, i en I gangbare nummervormen. Gebruik een betekenisvolle vorm van markering wanneer tekst elders naar een specifiek label verwijst, zoals bepaling “b”.

Koppel termen en beschrijvingen

Een beschrijvingslijst gebruikt <dl>, met <dt> voor een term of naam en <dd> voor de beschrijving of waarde:

<dl>
  <dt>Opening time</dt>
  <dd>08:30</dd>
  <dt>Closing time</dt>
  <dd>17:00</dd>
</dl>

Eén term kan meerdere beschrijvingen hebben en meerdere termen kunnen één beschrijving delen. Een groep kan in een <div> worden geplaatst. Gebruik deze structuur voor relaties tussen namen en waarden, zoals een begrippenlijst of productgegevens, in plaats van die paren in losse opsommingsitems te dwingen.

Belangrijkste punten

  • Gebruik <ul> als de volgorde niet uitmaakt, <ol> als die wel uitmaakt en <dl> voor naam-beschrijvingsparen.
  • Plaats gewone inhoud van ongeordende en geordende lijsten in <li>-elementen.
  • Een geneste lijst hoort binnen het bovenliggende lijstitem.
  • start, reversed, value en type bepalen de markeringen van geordende lijsten.
  • Echte lijstopmaak bewaart relaties die getypte opsommingstekens niet kunnen uitdrukken.
3

Verbind pagina's met links en maak navigatie

Links verbinden een pagina met de rest van de website en het bredere web. Hun adressen moeten werken vanuit de map waarin de pagina daadwerkelijk staat en de tekst moet duidelijk maken waar ze naartoe leiden. Navigatie maakt van die afzonderlijke links bruikbare menu's, inhoudsopgaven en snelkoppelingen. Volg bestemmingen zorgvuldig en maak de pagina vervolgens voorspelbaar voor mensen die een muis, toetsenbord of schermlezer gebruiken.

3.1 Linkbestemmingen en mappaden

Een link verbindt inhoud met een bestemming. De browser bepaalt die bestemming op basis van het adres dat je in href zet. De juiste soort URL kiezen hoort dus bij het schrijven van de link.

Schrijf een anker
<a href="https://www.w3.org/">World Wide Web Consortium</a>

Het <a>-element is een anker. De href geeft de bestemming en de inhoud is de aanklikbare linktekst. Een anker zonder href is een plaatsaanduiding, geen werkende hyperlink. Een afbeelding kan ook de inhoud zijn.

Een absolute URL geeft een URL-schema en domeinnaam, zoals in https://example.com/guide/. Gebruik die om naar een andere website te linken. In href="www.example.com" ontbreekt een URL-schema, dus de browser behandelt dit als een relatief bestandspad; het betekent niet “open die website”.

Werk vanuit de huidige map

Een relatieve URL begint bij de locatie van de huidige pagina. Bekijk deze website:

site/
  index.html
  about.html
  recipes/
    index.html
    soup.html
  images/
    logo.png

Vanaf de beginpagina bereik je met about.html de naastgelegen informatiepagina en ga je met recipes/soup.html de receptenmap in. Vanaf recipes/soup.html zou dezelfde about.html binnen recipes/ zoeken, waar zo'n bestand niet staat.

Volg het pad van recipes/soup.html naar het logo:

  1. De beginmap is recipes/.
  2. ../ gaat omhoog naar de websitemap.
  3. images/ gaat de afbeeldingenmap in.
  4. logo.png geeft de naam van het bestand.

Het volledige pad is ../images/logo.png. Elke extra ../ gaat nog één map omhoog. Vanaf de soeppagina bereik je met index.html juist de receptenindex, niet de beginpagina van de website.

Een URL vanaf de hoofdmap begint met /, zoals /about.html. Op een webserver begint die bij de hoofdmap van de website, ongeacht de map van de huidige pagina. Als je de bestanden rechtstreeks vanaf de schijf opent, verwijst die schuine streep naar de hoofdmap van het bestandssysteem en dus niet naar de websitemap van je project. Gebruik gewone relatieve paden voor pagina's die je ook rechtstreeks vanaf de schijf test.

Paden gebruiken schuine strepen naar rechts en moeten overeenkomen met de bestandsnamen en het gebruik van hoofdletters en kleine letters. Veel servers behandelen Soup.html en soup.html als verschillende bestanden. Een maplink zoals recipes/ vraagt een server normaal gesproken om het standaardbestand, meestal index.html; als je rechtstreeks vanaf de schijf bladert, kan een mapoverzicht verschijnen.

Spring naar een deel van een pagina
<a href="#watering">Watering</a>
<h2 id="watering">Watering</h2>

Het fragment begint in de URL met #. De id van het doel heeft geen # en moet exact overeenkomen. Voor een andere pagina combineer je ze: basil.html#watering. Een leeg fragment # gaat naar de bovenkant. Ook #top gaat naar de bovenkant als er geen overeenkomend element wordt gevonden.

Open een e-mail- of telefoonbestemming

mailto:info@example.com vraagt de e-mailapp van de bezoeker om een bericht op te stellen. Een onderwerp kan worden opgenomen als mailto:info@example.com?subject=Table%20booking, waarbij de spatie als %20 is gecodeerd. tel:+15555550123 geeft een telefoonbestemming in internationaal formaat. Het zichtbare telefoonnummer mag spaties bevatten, ook al bevat deze href die niet.

Belangrijkste punten

  • Gebruik <a href="..."> voor een werkende hyperlink.
  • Een absolute URL noemt het URL-schema en de domeinnaam; een relatieve URL begint bij de huidige map.
  • Elke ../ gaat één map omhoog; een / aan het begin start bij een hoofdmap op de server.
  • Een fragment komt overeen met een unieke id, met # alleen in de URL.
  • mailto: en tel: geven e-mail- en telefoonbestemmingen aan.

3.2 Duidelijke linktekst en voorspelbaar gedrag

Een bruikbare link vertelt iemand wat die kan verwachten voordat die de link volgt. De tekst, bestemming en manier van openen werken samen, ook wanneer de link afzonderlijk wordt voorgelezen in de linklijst van een schermlezer.

Noem de bestemming

Vergelijk deze links:

Onduidelijke tekstBruikbare tekst
“Klik hier”“Onze lunchkaart”
“Lees meer”“Lees de aankondiging van de opening van het terras”
“Download”“Lunchkaart (PDF, 2 MB)”

Houd linktekst kort maar specifiek. Laat twee links met dezelfde tekst naar dezelfde bestemming leiden. Een kale URL is meestal moeilijker te lezen dan een beschrijving, al is een e-mailadres bruikbare linktekst wanneer het adres zelf de informatie is.

Knopinfo via title kan onduidelijke zichtbare tekst niet herstellen. Gebruikers van een aanraakscherm zien de knopinfo mogelijk nooit en toegang via het toetsenbord is niet betrouwbaar. Zet belangrijke informatie over de bestemming in de daadwerkelijke inhoud van de link.

Geef bestanden en downloads aan
<a href="menu.pdf" download="harbor-cafe-menu.pdf">Lunch menu (PDF, 2 MB)</a>

De tekst geeft het bestandstype en de bestandsgrootte aan. Het download-attribuut vraagt de browser het bestand op te slaan en stelt een bestandsnaam voor. Het zet een pagina niet om in een PDF. Voor gewone links naar webbestanden moet de bestemming dezelfde oorsprong hebben om download toe te passen; speciale blob:- en data:-URL's worden ook ondersteund. Browserinstellingen en serverheaders kunnen het uiteindelijke gedrag beïnvloeden. Het attribuut is dus een verzoek, geen garantie voor één specifiek dialoogvenster.

Laat mensen nieuwe tabbladen zelf beheren

Gewone links openen in de huidige browsercontext, waar je met de knop Vorige naar de vorige pagina kunt teruggaan. target="_blank" vraagt om een nieuw tabblad of venster. Het nieuwe tabblad heeft niet de geschiedenis voor de knop Vorige van het oorspronkelijke tabblad en een bezoeker merkt de wisseling mogelijk niet op.

Gebruik alleen een nieuw tabblad als dat een duidelijk doel dient en kondig het aan in de tekst:

<a href="https://example.com/archive" target="_blank" rel="noopener">Archive (opens in a new tab)</a>

Moderne browsers geven _blank-links de bescherming van noopener: de geopende pagina kan window.opener niet gebruiken om de oorspronkelijke pagina aan te sturen. Door rel="noopener" expliciet te schrijven, houd je ook rekening met ouder gedrag. noreferrer onderdrukt daarnaast informatie over de verwijzende pagina. nofollow geeft een relatie voor zoekmachines aan, geen navigatiebestemming.

Maak afbeeldingslinks en grotere links begrijpelijk

Als een afbeelding de enige inhoud van een link is, levert de alternatieve tekst de naam van de link:

<a href="index.html">
  <img src="logo.png" alt="Harbor Café home page">
</a>

De bruikbare informatie is waar de link naartoe gaat. Als je alleen de kleuren van het logo beschrijft, noem je de bestemming niet.

Een anker kan een grotere kaart met een kop en alinea omvatten, maar mag geen andere link of knop bevatten. Geneste interactieve bedieningselementen geven concurrerende bestemmingen of acties binnen één bedieningselement.

Een link gaat ergens naartoe: een pagina, een bestand of een sectie van een pagina. Een knop voert een actie uit, zoals het openen van een menu. href="#" is een link naar de bovenkant van de pagina; het vervangt geen knop die een actie uitvoert.

Belangrijkste punten

  • Linktekst moet de bestemming noemen en op zichzelf begrijpelijk zijn.
  • Vermeld het type van gekoppelde bestanden en nuttige informatie over de bestandsgrootte.
  • Kondig aan dat een link op een nieuw tabblad opent; noopener beschermt de oorspronkelijke pagina.
  • Bij een link met alleen een afbeelding noemt de alternatieve tekst de bestemming.
  • Houd interactieve bedieningselementen gescheiden: geen links of knoppen binnen een link.
  • Gebruik links voor bestemmingen en knoppen voor acties.

Navigatie helpt mensen zowel de gewenste pagina van de website als het benodigde deel van een lange pagina te vinden. HTML kan deze groepen aanduiden, zodat mensen die hulptechnologie gebruiken ze direct kunnen vinden.

Geef belangrijke navigatie een gebied

Gebruik <nav> rond een belangrijke groep navigatielinks. Een websitemenu bevat meestal een ongeordende lijst:

<nav aria-label="Main">
  <ul>
    <li><a href="index.html">Home</a></li>
    <li><a href="menu.html" aria-current="page">Menu</a></li>
    <li><a href="contact.html">Contact</a></li>
  </ul>
</nav>

Deze opmaakcode hoort op de menupagina: aria-current="page" duidt de link naar de huidige weergegeven pagina aan. Verplaats dat attribuut op de contactpagina naar de link Contact. Markeer de index van een sectie niet als huidige pagina wanneer de lezer een andere pagina binnen die sectie bekijkt.

De lijst maakt het aantal links en hun groepering beschikbaar voor schermlezers. Zonder CSS staan de menu-items onder elkaar. Het <nav>-element zet ze niet automatisch naast elkaar. Een paar niet-samenhangende links in de voettekst hebben meestal geen eigen navigatiegebied nodig.

Houd menu's consistent op alle pagina's

Gebruik op de hele website dezelfde items in dezelfde volgorde en op dezelfde plaats. Als je het menu op een statische HTML-website kopieert, moet je elk exemplaar bijwerken wanneer de inhoud verandert.

Controleer bestemmingen vanuit de werkelijke map van elke pagina. Vanaf recipes/soup.html is de link naar de beginpagina ../index.html; index.html zou naar de receptenindex gaan. De woorden in het menu kunnen gelijk blijven terwijl de relatieve paden veranderen. Een website op een server kan paden vanaf de hoofdmap gebruiken om die afhankelijkheid van de map te voorkomen.

Maak een inhoudsopgave

Een inhoudsopgave linkt naar koppen op de huidige pagina:

<nav aria-label="Contents">
  <ol>
    <li><a href="#planting">Planting</a></li>
    <li><a href="#care">Care</a></li>
  </ol>
</nav>
<h2 id="planting">Planting</h2>

Elk fragment moet overeenkomen met één unieke id. Voeg voor de tweede link een bijbehorende kop met id="care" toe. Wanneer meerdere navigatiegebieden verschillende functies hebben, kunnen gebruikers van een schermlezer ze onderscheiden met labels zoals “Main” en “Contents”.

Een kruimelpad is een andere vorm van navigatie. Het toont een pad zoals “Home › Recepten › Tomatensoep”. Gebruik <nav aria-label="Breadcrumb"> met een geordende lijst en plaats de huidige pagina als laatste. De volgorde geeft het pad door de website weer.

Bied een snelkoppeling langs herhaalde inhoud

Zet een skiplink als eerste in body:

<a href="#main-content">Skip to main content</a>

Het doel is het hoofdinhoudsgebied, geschreven als <main id="main-content">. Toetsenbordgebruikers kunnen die link volgen om een herhaald menu over te slaan. Houd de doel-id uniek en schrijf die precies zoals in het fragment. Een skiplink is al een werkend navigatiehulpmiddel voordat CSS de weergave verandert.

Belangrijkste punten

  • Gebruik <nav> voor belangrijke navigatie, met echte lijsten en links.
  • aria-current="page" markeert de link naar de daadwerkelijk weergegeven pagina.
  • Houd menu's consistent en controleer gekopieerde relatieve paden opnieuw.
  • Geef verschillende navigatiegebieden een label en laat fragmenten in inhoudsopgaven overeenkomen met unieke id's.
  • Zet een skiplink als eerste in body en laat die naar de hoofdinhoud verwijzen.
4

Voeg afbeeldingen toe die iedereen kan begrijpen

Afbeeldingen hebben meer nodig dan een bestandsnaam. De browser heeft een correct adres en afmetingen nodig, terwijl lezers de informatie nodig hebben die de afbeelding overbrengt. Bestandsformaat en compressie beïnvloeden hoe snel de pagina laadt; alternatieve tekst en bijschriften beïnvloeden hoe goed de betekenis zonder de afbeelding behouden blijft. Kies elk onderdeel op basis van het doel van de afbeelding, of die nu nuttige informatie toont, ergens naartoe linkt of de pagina alleen versiert.

4.1 Afbeeldingsbestanden, afmetingen en laden

Een afbeelding in HTML blijft een afzonderlijke bron. De pagina vertelt de browser welk bestand die moet ophalen, hoeveel ruimte die moet reserveren en welke tekst de afbeelding kan vervangen.

Voeg een afbeelding toe
<img src="images/harbor.jpg" alt="Fishing boats moored in the harbor at sunset" width="1200" height="800">

<img> is een leeg element en heeft dus geen eindtag. src geeft een bestandsadres, met dezelfde padregels als bij links. alt biedt een tekstalternatief. Als de afbeelding niet verschijnt, controleer dan de map, het gebruik van hoofdletters en kleine letters en de bestandsextensie in src. Een .jpg-pad verwijst niet naar een .png-bestand en .JPG kan op een server verschillen van .jpg.

De bytes van de afbeelding worden niet in dit HTML-element opgeslagen. De browser downloadt het bestand afzonderlijk. Als je de breedte in HTML verandert, wordt het gedownloade bestand niet kleiner.

Kies een formaat dat bij de inhoud past
FormaatNuttige eigenschappen
JPEGCompacte foto's; compressie met verlies en geen transparantie
PNGScherpe afbeeldingen en schermafbeeldingen; compressie zonder verlies en transparantie
GIFEenvoudige animatie met een beperkt palet van maximaal 256 kleuren
SVGVectorlogo's, pictogrammen en diagrammen die scherp blijven bij schalen
WebP en AVIFModerne formaten die de bestandsgrootte bij vergelijkbare kwaliteit vaak verkleinen

De huidige grote browsers ondersteunen WebP en AVIF. Kies een afbeelding op basis van de inhoud en de resulterende bestandsgrootte, niet alleen van de extensie. Compressie met verlies verwijdert detail om ruimte te besparen; compressie zonder verlies behoudt de oorspronkelijke afbeeldingsgegevens.

Reserveer de juiste vorm

De attributen width en height zijn hele getallen in CSS-pixels, zonder eenheid in de waarde. Schrijf width="1200", niet width="1200px". Hiermee kan de browser ruimte reserveren voordat het bestand binnenkomt. Dat vermindert lay-outverschuivingen, waarbij tekst verspringt als een afbeelding laadt.

Een afbeelding van 1.200 × 800 heeft een verhouding van 3:2. Zowel width="1200" height="800" als width="600" height="400" behoudt die verhouding. Het tweede paar halveert beide afmetingen. Een paar van 600 × 600 dwingt een vierkant af en vervormt de afbeelding. CSS kan later de weergegeven afmetingen bepalen met behoud van de verhouding.

Verklein het bestand vóór gebruik

Een telefoonfoto van 4.000 × 3.000 heeft 12 miljoen pixels en kan meerdere megabytes innemen. Pas de afmetingen aan tot ongeveer de grootste beoogde weergavegrootte en kies een passende compressie voordat je de foto aan de website toevoegt. Anders downloadt elke lezer het grote bestand, ook als de pagina een kleine miniatuur toont.

Voor afbeeldingen verderop op een lange pagina laat loading="lazy" de browser wachten totdat de bezoeker in de buurt komt. Laat een direct zichtbare banner of hoofdafbeelding normaal laden, omdat uitstel de eerste weergave van de pagina kan vertragen.

Gebruik afbeeldingen die van jou zijn, waarvoor je toestemming hebt of die je volgens hun licentie mag hergebruiken, met de eventueel vereiste naamsvermelding. Bewaar websiteafbeeldingen in je eigen websitemap, zodat wijzigingen in bestanden op een andere website ze niet onbruikbaar maken. Inhoudelijke afbeeldingen horen in HTML; puur decoratieve achtergrondtexturen worden meestal met CSS geregeld.

Belangrijkste punten

  • src verwijst naar een afzonderlijk bestand; <img> heeft geen eindtag.
  • Kies het formaat op basis van de inhoud en bestandsgrootte van de afbeelding.
  • Gebruik numerieke waarden voor breedte en hoogte met de juiste beeldverhouding.
  • Pas de afmetingen van het bestand zelf aan en comprimeer het; weergaveafmetingen verkleinen de download niet.
  • Laad afbeeldingen verderop op de pagina uitgesteld en gebruik afbeeldingen met de juiste toestemming voor hergebruik.

4.2 Alternatieve tekst, het doel van afbeeldingen en bijschriften

Alternatieve tekst geeft de informatie die iemand nodig heeft wanneer die een afbeelding niet kan zien. Een bijschrift biedt zichtbare context voor iedereen. Beide keuzes beginnen bij het doel van de afbeelding op deze specifieke pagina.

Beschrijf de bruikbare informatie

Beschrijf bij een foto die lezers helpt een plaats te begrijpen wat van belang is: alt="The café's terrace with six tables overlooking the harbor". Een lange opsomming van elk object is zelden nuttig. Meestal is “Afbeelding van” niet nodig, omdat schermlezers de rol van de afbeelding al aankondigen. Het medium kan wel van belang zijn, zoals in “Aquarel van de haven”.

De context verandert welk alternatief bruikbaar is. Op een adoptiepagina zijn misschien de kenmerken van een hond belangrijk. Op de bezoekerspagina van een park kan dezelfde foto overbrengen dat honden welkom zijn op het grasveld. Vraag je af welke informatie een lezer zou missen als de afbeelding verdween.

Geef bij een grafiek de belangrijkste boodschap en plaats gedetailleerde gegevens in de buurt. Alternatieve tekst kan bijvoorbeeld vermelden dat het aantal websitebezoeken steeg van 1.200 in januari naar 3.000 in maart. De omliggende tekst kan de volledige cijfers geven. Een gefotografeerd bord of een andere afbeelding van tekst heeft de relevante woorden in het tekstalternatief nodig.

Maak onderscheid tussen informatieve, decoratieve en functionele afbeeldingen
Doel van de afbeeldingAanpak voor alternatieve tekst
Geeft informatieBeschrijf die informatie in de context
Voegt alleen versiering toeGebruik een lege waarde, alt=""
Staat alleen binnen een linkNoem de bestemming of functie
Toont betekenisvolle tekstNeem de getoonde woorden op

Een lege alt-waarde is een bewuste instructie om een decoratieve afbeelding over te slaan. Het attribuut weglaten is iets anders: sommige schermlezers kondigen dan mogelijk de bestandsnaam aan. Gebruik een alt-attribuut op elke afbeelding die je toevoegt.

Een logo dat de enige inhoud is van een link naar de beginpagina, heeft een bruikbare linknaam nodig, zoals “Beginpagina van Havencafé”. De lezer moet de bestemming kennen, niet alleen dat het logo blauwe golven bevat. title is geen vervanging: de knopinfo is niet betrouwbaar beschikbaar voor gebruikers van een toetsenbord, aanraakscherm of schermlezer.

Voeg een bijschrift toe met figure
<figure>
  <img src="images/old-harbor.jpg" alt="Sailing ships crowded along a stone quay" width="1000" height="667">
  <figcaption>The harbor around 1900. Photo: Port Town Archive.</figcaption>
</figure>

<figure> groepeert op zichzelf staande inhoud en het optionele zichtbare bijschrift. <figcaption> is het eerste of laatste kindelement van de figure, met maximaal één bijschrift per figure. Een figuur kan meerdere afbeeldingen, een codevoorbeeld, een citaat of een diagram bevatten; die is niet beperkt tot foto's.

In dit voorbeeld vervangt de alternatieve tekst wat de foto toont. Het bijschrift geeft de datum en bronvermelding. Als je het hele bijschrift naar de alternatieve tekst kopieert, herhaalt een schermlezer die tekst zonder de afbeelding uit te leggen. Een bijschrift dat alleen “Figuur 1” zegt, vervangt evenmin een beschrijving van de afbeelding.

Belangrijkste punten

  • Schrijf alternatieve tekst op basis van het doel van de afbeelding in de context.
  • Gebruik alt="" voor versiering; laat het attribuut niet weg.
  • Een link met alleen een afbeelding heeft alternatieve tekst nodig die de bestemming noemt.
  • Geef de belangrijkste boodschap van een grafiek en bied gedetailleerde informatie in de buurt.
  • Een figuurbijschrift voegt zichtbare context toe; het vervangt geen alternatieve tekst.
5

Structureer pagina's met semantische elementen

Een complete pagina combineert de basisstructuur van het document met betekenisvolle gebieden en zorgvuldig gekozen inhoudselementen. Bepaal welke website-informatie wordt herhaald, wat uniek is voor deze pagina en welke stukken op zichzelf kunnen staan. Koppel dat plan vervolgens aan een duidelijk koppenoverzicht en een duidelijke bronvolgorde. Met een kleine receptenpagina breng je metadata, tekst, navigatie, afbeeldingen en controles samen voordat je een visuele lay-out toevoegt.

5.1 Paginagebieden en herkenningspunten

Een pagina bevat gebieden met verschillende functies: een inleiding, navigatie, de unieke inhoud en ondersteunende informatie. Semantische elementen benoemen die functies, zodat de structuur ook buiten de visuele lay-out bruikbaar is.

Benoem elk gebied
ElementRol van de inhoud
<header>Inleiding op de pagina of de dichtstbijzijnde sectie of het dichtstbijzijnde artikel
<nav>Een belangrijke navigatiegroep
<main>De unieke hoofdinhoud van de pagina
<aside>Inhoud die indirect verband houdt met de omgeving
<footer>Informatie over de pagina of de sectie waarbij die hoort

Een header voor de website bevat vaak een logo en menu. Een header van een artikel kan daarentegen de kop, auteur en datum bevatten. Een footer kan contactgegevens, verwante links of een auteursrechtvermelding bevatten. Deze elementen duiden rollen aan, geen vaste verzameling woorden.

Houd de hoofdinhoud afzonderlijk

Een normale pagina gebruikt één zichtbare <main>. De inhoud daarvan is uniek voor de pagina, dus herhaalde websitenavigatie hoort erbuiten. Plaats main niet binnen een article, section, aside, header, footer of nav. Een receptenartikel kan binnen main staan, niet andersom.

Een aside is bedoeld voor ondersteunend materiaal dat slechts indirect verband houdt met de rest. Een verzameling links naar verwante recepten kan een aside zijn; een essentiële stap in het recept niet. De naam “aside” plaatst de inhoud niet in een zijkolom. Zonder CSS staan deze gebieden normaal gesproken in bronvolgorde onder elkaar.

<body>
  <header>
    <p>Harbor Café</p>
    <nav>...</nav>
  </header>
  <main>
    <h1>Our Menu</h1>
    <p>Everything is baked fresh each morning.</p>
  </main>
  <aside>
    <h2>Today's special</h2>
    <p>Tomato soup with fresh bread.</p>
  </aside>
  <footer>
    <p>&copy; 2026 Harbor Café</p>
  </footer>
</body>

De unieke inhoud van de menupagina staat in main. De omringende website-informatie blijft erbuiten. De broncode leest van boven naar beneden logisch, voordat kolommen, kleuren of positionering zijn toegevoegd.

Begrijp herkenningspunten

Een herkenningspunt is een gebied dat hulptechnologie als navigatiebestemming beschikbaar kan maken. Main en nav bieden herkenningspunten. Een header op paginaniveau biedt het herkenningspunt voor de paginakop en een footer op paginaniveau het herkenningspunt voor pagina-informatie. Een header of footer die binnen een article, aside, main, nav of section is genest, biedt die herkenningspunten op paginaniveau niet.

Een aside heeft normaal gesproken een aanvullende rol. Een geneste aside kan die rol nog steeds hebben; nesten in een artikel neemt de betekenis op zichzelf niet weg. Gebruik die alleen voor passende ondersteunende inhoud en houd de gebieden van de pagina begrijpelijk.

<search> duidt een gebied aan met bedieningselementen en resultaten voor zoeken of filteren. Het maakt een zoekherkenningspunt en wordt ondersteund in de huidige grote browsers. Het verschilt van nav: inhoud zoeken en een bekende navigatielink kiezen zijn verschillende taken.

Een header mag geen header of footer bevatten en een footer mag geen van beide bevatten. Houd gebieden op paginaniveau gescheiden van de headers en footers die bij afzonderlijke artikelen horen. De juiste namen kiezen levert een bruikbare structuur op, ook wanneer alle gebieden er nu als gewone blokken uitzien.

Belangrijkste punten

  • Semantische gebieden benoemen de rol van inhoud en kunnen herkenningspunten beschikbaar maken.
  • Gebruik één zichtbaar hoofdinhoudsgebied voor inhoud die uniek is voor de pagina.
  • Gebruik een aside voor ondersteunende inhoud die indirect verband houdt met de rest.
  • Headers en footers op paginaniveau gedragen zich anders als herkenningspunt dan geneste headers en footers.
  • HTML-namen van gebieden bepalen niet de positie van inhoud; CSS regelt de lay-out.
  • Gebruik <search> voor een zoek- of filtergebied.

5.2 Artikelen, secties en neutrale omhullende elementen

Een semantische keuze vertelt lezers wat een inhoudsblok is. Vraag je af hoe de inhoud zich tot de pagina verhoudt voordat je een omhullend element kiest; twee boxen die op elkaar lijken, kunnen verschillende elementen nodig hebben.

Controleer of de inhoud op zichzelf staat

Een artikel is een op zichzelf staand geheel dat afzonderlijk kan worden gedeeld of hergebruikt. Een blogbericht, recept, nieuwsartikel of reactie van een lezer kan aan die toets voldoen. Een artikel heeft meestal een eigen kop, maar een kop alleen maakt een blok nog geen artikel.

Een sectie groepeert één thema binnen een groter geheel, normaal gesproken met een kop. “Openingstijden” en “Route” kunnen secties van een contactpagina zijn. Als het blok geen duidelijk thema heeft en je het geen zinvolle kop kunt geven, is section waarschijnlijk de verkeerde keuze.

<article>
  <h2>Growing Basil at Home</h2>
  <section>
    <h3>Planting</h3>
    <p>Choose a sunny place for the pot.</p>
  </section>
  <section>
    <h3>Care</h3>
    <p>Check the soil regularly.</p>
  </section>
</article>

Hier is het artikel één complete kweekhandleiding, terwijl de secties de handleiding in thema's verdelen. Dit voorbeeld past op een pagina waarvan de hoofd-<h1> vóór het artikel staat.

Nesten werkt ook andersom. Een sectie “Laatste nieuws” kan meerdere zelfstandige artikelen bevatten. Reacties kunnen artikelen zijn die zijn genest in het artikel waarop ze reageren. De inhoudelijke relatie bepaalt de nesting.

Houd kopniveaus in het paginaoverzicht

Een sectie begint de kopniveaus niet opnieuw. Als een pagina <h1> voor het onderwerp en <h2> voor een thematische groep gebruikt, gebruik je <h3> voor artikelen binnen die groep. Zet geen nieuwe <h1> in elke geneste sectie. Browsers en schermlezers gebruiken de kopniveaus die je daadwerkelijk schrijft; een omhullende section herstelt geen overgeslagen niveau.

Gebruik neutrale omhullende elementen als geen betekenis past

<div> is een neutraal omhullend blokelement. <span> is een neutraal omhullend element binnen een tekstregel. Ze bieden aangrijpingspunten voor een klasse, een taalattribuut of latere vormgeving zonder een bijzondere rol voor de inhoud aan te geven.

<p>Try <span lang="fr">pain au chocolat</span> today.</p>

De span duidt het Franse tekstgedeelte aan zonder een nieuw blok te beginnen. Als je de hele pagina met algemene div-elementen opbouwt, gaan nuttige rollen verloren. Maar als je elke div in een section verandert, verzin je thema's die er niet zijn.

Kies door te vragen wat het blok doet:

  1. Is het de unieke inhoud van de pagina? Gebruik main als buitenste gebied.
  2. Is het een belangrijke navigatiegroep? Gebruik nav.
  3. Kan het als een compleet geheel op zichzelf staan? Overweeg article.
  4. Is het een thematisch onderdeel met een kop? Overweeg section.
  5. Is het ondersteunende inhoud die indirect verband houdt met de rest? Overweeg aside.
  6. Is het alleen een omhullend element? Gebruik div, of span binnen tekst.

Ook <address> heeft een specifieke betekenis: contactgegevens voor het dichtstbijzijnde artikel of voor de pagina. Een e-maillink in de contactvoettekst van een website kan daarin thuishoren. Een postadres dat als historisch feit of als locatie van een evenement wordt genoemd, wordt niet automatisch contactinformatie omdat het een straatnaam bevat.

Belangrijkste punten

  • Een artikel staat op zichzelf; een sectie groepeert één thema.
  • Artikelen en secties kunnen elkaar bevatten als de inhoudelijke relaties daarbij passen.
  • Houd kopniveaus consistent op de hele pagina.
  • Gebruik neutrale omhullende div- en span-elementen als geen semantisch element past.
  • Gebruik address voor contactgegevens van een pagina of artikel, niet voor elk straatadres.

5.3 Van een paginaplan naar volledige HTML

Plan de rollen en leesvolgorde voordat je een volledige pagina typt. Een eenvoudig wireframe benoemt de gebieden, terwijl een koppenoverzicht de inhoud daarbinnen benoemt. Samen helpen ze je de elementen en hun nesting te kiezen.

Breng de inhoud in kaart

Zet op een receptenpagina de herhaalde naam van de website en het menu in een header, het recept in main en de website-informatie in een footer. Het recept staat op zichzelf, dus een article past binnen main. Het koppenoverzicht is “Tomatensoep” met daaronder “Ingrediënten” en “Bereiding”.

De pagina hieronder staat in een map recipes/. De beginpagina en de afbeeldingenmap staan één map hoger:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Tomato Soup – Harbor Café Recipes</title>
  </head>
  <body>
    <a href="#main-content">Skip to main content</a>
    <header>
      <p><a href="../index.html">Harbor Café</a></p>
      <nav>
        <ul>
          <li><a href="../index.html">Home</a></li>
          <li><a href="index.html">Recipes</a></li>
        </ul>
      </nav>
    </header>
    <main id="main-content">
      <article>
        <h1>Tomato Soup</h1>
        <p>Published <time datetime="2026-03-14">March 14, 2026</time></p>
        <figure>
          <img src="../images/tomato-soup.jpg" alt="A bowl of red tomato soup with a swirl of cream" width="1200" height="800">
          <figcaption>Ready in 30 minutes.</figcaption>
        </figure>
        <h2>Ingredients</h2>
        <ul>
          <li>1 kg ripe tomatoes</li>
          <li>1 onion</li>
          <li>500 ml vegetable stock</li>
        </ul>
        <h2>Method</h2>
        <ol>
          <li>Chop the onion and tomatoes.</li>
          <li>Simmer them in the stock for 20 minutes.</li>
          <li>Blend until smooth.</li>
        </ol>
      </article>
    </main>
    <footer>
      <p>&copy; 2026 Harbor Café</p>
    </footer>
  </body>
</html>
Volg de keuzes in de code

De skiplink staat als eerste in body en verwijst naar de unieke id van het hoofdinhoudsgebied. De header bevat de herhaalde identiteit en navigatie van de website. Het receptenartikel heeft de enige hoofdkop van de pagina, gevolgd door twee gelijkwaardige <h2>-secties.

De ingrediënten gebruiken een ongeordende lijst omdat een andere weergavevolgorde niet verandert wat nodig is. De bereiding gebruikt een geordende lijst omdat de stappen een reeks vormen. De alternatieve tekst van de foto vervangt de afbeelding; het bijschrift geeft context over de bereiding.

../index.html gaat omhoog naar de beginpagina. index.html blijft in de receptenmap. Geen van beide menulinks is gemarkeerd met aria-current="page", omdat de weergegeven pagina het soeprecept is en niet een van beide indexpagina's.

Controleer de voltooide pagina

Lees de broncode van boven naar beneden. De volgorde moet werken voor een toetsenbordgebruiker en een schermlezer voordat CSS iets verplaatst. Controleer de titel, het koppenoverzicht, de enkele zichtbare main, de linkpaden en de tekstalternatieven voor afbeeldingen. Voer het HTML-controleprogramma uit en los de meldingen op. Test daarna de links en afbeeldingen in de browser.

Houd op meerdere pagina's dezelfde herhaalde header, hetzelfde menu en dezelfde footer. Geef elke pagina een eigen titel en hoofdkop en pas relatieve paden aan vanuit de map van die pagina. Kleuren, lettertypen, tussenruimte en kolommen kun je daarna met CSS toevoegen zonder de rollen te veranderen die je al hebt vastgelegd.

Belangrijkste punten

  • Plan de gebieden en een koppenoverzicht voordat je de volledige pagina schrijft.
  • Bouw het document op in een logische leesvolgorde en houd herhaalde website-inhoud consistent.
  • Controleer paden vanuit de werkelijke map van de pagina en laat de skiplink overeenkomen met main.
  • Valideer de syntaxis, inspecteer de inhoud en test de voltooide pagina voordat je die vormgeeft.

HTML-elementen en attributen: voorbeelden

5 Walkthroughs

1

Bouw en controleer een document

16 stappen
Bouw een kleine bezoekerspagina en volg daarbij de elementen, metadata, taalinstellingen en reparaties van de browser.
  1. 1
    IntroductieVan tekst naar een document

    Een browser bouwt een pagina op uit de rollen die je in HTML markeert. Een alinea is niet zomaar een regel tekst: het element vertelt de browser hoe die inhoud in het document past.

    Bouw een bezoekerspagina in stappen. Lees eerst de tags en attributen, voeg daarna head en de taalinstellingen toe en controleer ten slotte wat er gebeurt als een onderdeel verkeerd is genest.

  2. 2
    VoorbeeldLees één alinea

    Begin met <p>Visit the community garden.</p>. De begintag is <p>, de woorden zijn de inhoud en </p> sluit het element. Samen vormen ze één element.

    Schrijf nu <p class="intro">Visit the community garden.</p>. Het class-attribuut voegt een naam toe binnen de begintag. Door de waarde tussen aanhalingstekens te zetten, houd je die bij elkaar als je later nog een klassenaam toevoegt.

  3. 3
    VoorbeeldVoeg belang toe binnen de alinea

    Markeer alleen de benodigde woordgroep:

    <p>Bring your <strong>entry pass</strong>.</p>
    

    De alinea is het ouderelement en strong is het kindelement. Lees de eindtags van binnen naar buiten: eerst sluit strong en daarna p. Deze nesting wordt onderdeel van de DOM-boom van de browser; alleen de inspringing veranderen zou de relatie niet veranderen.

  4. 4
    UitdagingVerbeter twee klassenamen

    Een auteur schrijft <p class=welcome note>Hello.</p> met de bedoeling de alinea beide klassenamen te geven. Hoe moet het attribuut worden geschreven?

    ---reveal---

    Schrijf class="welcome note". Zonder aanhalingstekens stopt de klassewaarde bij de eerste spatie en behandelt de browser note als een ander attribuut. Beide klassenamen horen in één waarde tussen aanhalingstekens, gescheiden door een spatie.

  5. 5
    KernpuntAanwezigheid kan de waarde bepalen

    Een booleaans attribuut staat aan doordat het aanwezig is. <ol reversed> telt af en <ol reversed="false"> doet dat ook. Verwijder reversed om het uit te schakelen.

    Voor lege elementen geldt een andere nuttige regel: <br>, <img> en <meta> hebben geen inhoud of eindtag. Een afsluitende afbeeldingstag schrijven geeft een afbeelding geen tweede grens; het levert een fout op.

  6. 6
    VoorbeeldMaak het buitenste document

    Begin de bezoekerspagina met de declaratie en twee hoofdcontainers:

    <!DOCTYPE html>
    <html lang="en">
      <head>
      </head>
      <body>
      </body>
    </html>
    

    De doctype selecteert de standaardmodus. Head zal informatie over het document bevatten, terwijl body de inhoud bevat die mensen lezen. Beide zijn kindelementen van het html-hoofdelement.

  7. 7
    VoorbeeldVul head in

    Voeg deze regels toe binnen head:

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Visit – Community Garden</title>
    

    De vroege charset-declaratie vertelt de browser hoe die tekst moet decoderen. De viewportregel ondersteunt een lay-out op de apparaatbreedte. De specifieke titel duidt deze pagina aan op het tabblad; het is niet de zichtbare kop die je in body gaat zetten.

  8. 8
    UitdagingPlaats de zichtbare kop

    Op het tabblad moet “Visit – Community Garden” staan en de pagina moet zichtbaar beginnen met “Visit the Garden”. Waar komen die twee teksten te staan?

    ---reveal---

    Gebruik <title>Visit – Community Garden</title> in head en <h1>Visit the Garden</h1> in body. Ze hebben verschillende functies. Als je de h1 in head zet, kan de browser de fout herstellen, maar krijgt het document geen correcte bronstructuur.

  9. 9
    UitlegGeef de taal van de tekst aan

    De lang="en" van het hoofdelement geeft de hoofdtaal van de pagina aan. Een Spaans welkom daarbinnen kan een eigen instelling krijgen:

    <p><span lang="es">Bienvenidos</span> to the garden.</p>
    

    Een schermlezer kan voor dat tekstgedeelte van uitspraak wisselen. Taalcodes beschrijven de inhoud, niet het land waar de lezer zich bevindt. Gebruik alleen een specifiekere code als dat onderscheid bij de tekst past.

  10. 10
    VoorbeeldLaat opgeslagen tekst overeenkomen met UTF-8

    Een charset-declaratie is een leesinstructie, geen omzetter. Sla het bestand in de editor op als UTF-8 en houd <meta charset="utf-8"> vroeg in head.

    Bij tekst zoals “Café” kunnen niet-overeenkomende coderingen meerdere verkeerde tekens of een vervangingsteken opleveren. Controleer zowel de daadwerkelijk opgeslagen codering als de opgegeven codering. Een coderingsheader van een server heeft voorrang op de instelling in het meta-element.

  11. 11
    UitdagingToon opmaakcode als tekst

    De bezoekerspagina moet “Use

    for paragraphs.” tonen als uitleg. Hoe kan de broncode die zin bevatten zonder een ander p-element te maken?

    ---reveal---

    Schrijf <p>Use &lt;p&gt; for paragraphs.</p>. De referenties tonen punthaken als tekens. UTF-8 ondersteunt gewone accenten direct, maar voorkomt niet dat een letterlijk kleiner-danteken het begin van HTML-opmaakcode vormt.

  12. 12
    VoorbeeldInspecteer een onverwachte lijst

    Stel dat body deze broncode bevat:

    <p>Facilities:
      <ul><li>Water tap</li></ul>
    </p>
    

    De browser sluit de alinea wanneer die bij ul komt, omdat een lijst geen inhoud van een alinea kan zijn. De inspector toont daarom een andere structuur dan de nesting in de broncode doet vermoeden. Dat iets er op het scherm goed uitziet, is geen syntaxiscontrole.

  13. 13
    VoorbeeldHerstel de relatie in de broncode

    Scheid de inleidende alinea en de lijst:

    <p>Facilities:</p>
    <ul>
      <li>Water tap</li>
    </ul>
    

    Nu volgt de lijst op de alinea in plaats van erin te staan. Voer na het opslaan het HTML-controleprogramma uit. Als het veel fouten meldt, verbeter dan de eerste en controleer opnieuw; één ontbrekend aanhalingsteken of één ontbrekende eindtag kan verschillende latere meldingen verklaren.

  14. 14
    UitdagingKies de nuttige vergelijking

    Een alinea lijkt leeg in de inspector, terwijl de broncode een lijst lijkt te omvatten. Welke twee weergaven helpen je de oorzaak te vinden en welke relatie moet je controleren?

    ---reveal---

    Vergelijk paginabron bekijken met de DOM-weergave van Elementen of Inspector. Controleer of de broncode ten onrechte een lijst binnen p plaatst. De browser kan de alinea vóór die lijst sluiten, waardoor de geparseerde boom verschilt van de geschreven nesting.

  15. 15
    UitdagingBekijk de opgeslagen bezoekerspagina

    Een pagina heeft de juiste titel en taal, maar in een zin staat “Café” en het controleprogramma meldt een ontbrekend aanhalingsteken bij een link. Wat moet je voor elk probleem onderzoeken?

    ---reveal---

    Vergelijk voor de verminkte tekst de opgeslagen codering van het bestand met de UTF-8-declaratie en een eventuele serverheader. Herstel voor de opmaakfouten het ontbrekende aanhalingsteken van het attribuut en valideer opnieuw. Taalinstellingen zetten geen bytes om en een pagina die er goed uitziet, herstelt je broncode niet.

  16. 16
    SamenvattingHoud de drie controles uit elkaar

    Lees de elementen en attributen om de structuur te controleren. Zorg dat de opgeslagen tekencodering overeenkomt met de declaratie en gebruik taalattributen voor de taal. Vergelijk de broncode, de DOM en de meldingen van het controleprogramma wanneer het resultaat onverwacht is.

    Sla wijzigingen op voordat je de browser vernieuwt. Syntaxisvalidatie is één controle; daarnaast moet je de koppen, linkteksten en afbeeldingsbeschrijvingen van de pagina op betekenis beoordelen.

2

Maak van een kort artikel gestructureerde tekst

14 stappen
Maak een koppenoverzicht voor een artikel, voeg betekenisvolle tekst binnen zinnen toe en orden een lijst met onderliggende items.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieGeef lezers een overzicht
  2. 2
    VoorbeeldBegin met het koppenoverzicht
  3. 3
    VoorbeeldVoeg de alinea's toe
  4. 4
    UitdagingKeer terug naar een hoofdsectie
  5. 5
    UitlegMarkeer een waarschuwing om de betekenis
  6. 6
    VoorbeeldCiteer een kort advies
  7. 7
    VoorbeeldLeg code uit zonder die uit te voeren
  8. 8
    UitdagingOnderscheid zichtbare en machineleesbare datums
  9. 9
    UitlegKies een verzameling of reeks
  10. 10
    VoorbeeldHoud samenhangende items bij elkaar
  11. 11
    UitdagingZet een genummerde procedure voort
  12. 12
    VerbandKoppel labels aan informatie
  13. 13
    UitdagingBeoordeel de keuzes in het artikel
  14. 14
    SamenvattingLees de structuur hardop
3

Verbind een kleine website zonder kapotte routes

13 stappen
Volg paden vanaf een pagina in een onderliggende map, verbeter de linknamen en maak navigatie met werkende doelen binnen de pagina.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieVerbind pagina's en paginasecties
  2. 2
    VoorbeeldBepaal de beginmap
  3. 3
    VoorbeeldGa omhoog en kies de bestemming
  4. 4
    UitdagingVolg een dieper pad
  5. 5
    UitlegMaak de bestemming duidelijk
  6. 6
    VoorbeeldKondig een nieuw tabblad aan
  7. 7
    UitdagingKies navigatie of een actie
  8. 8
    VoorbeeldMaak het websitemenu
  9. 9
    VoorbeeldVoeg een inhoudsopgave voor de pagina toe
  10. 10
    VoorbeeldMaak een route langs het menu
  11. 11
    UitdagingZoek de onjuiste markering van de huidige pagina
  12. 12
    UitdagingBekijk een gekopieerd navigatieblok
  13. 13
    SamenvattingControleer elke route vanaf de beginpagina ervan
4

Kies een afbeelding en geef die een bruikbaar alternatief

10 stappen
Bereid een foto voor een pagina voor, reserveer de vorm en kies tekst die bij de rol van de afbeelding past.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieBereid het bestand en de betekenis voor
  2. 2
    VoorbeeldZoek de foto van de ingang
  3. 3
    VoorbeeldReserveer dezelfde vorm
  4. 4
    TipVerminder het aantal bytes voordat je opmaakcode toevoegt
  5. 5
    UitdagingKies hoe afbeeldingen op twee plaatsen laden
  6. 6
    UitlegSchrijf voor het doel van de afbeelding
  7. 7
    VoorbeeldOnderscheid een bijschrift van het alternatief
  8. 8
    UitdagingGeef een logolink een naam
  9. 9
    UitdagingBeoordeel een figuur verderop op de pagina
  10. 10
    SamenvattingBeoordeel de afbeelding zonder die te zien
5

Bouw een pagina op basis van een inhoudsplan

12 stappen
Kies gebieden en inhoudscontainers en stel daarna een kleine evenementenpagina samen in een logische leesvolgorde.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductiePlan een evenementenpagina
  2. 2
    VoorbeeldKies de buitenste gebieden
  3. 3
    UitlegOnderscheid headers van pagina's en artikelen
  4. 4
    UitdagingHoud main op de juiste plaats
  5. 5
    VoorbeeldBepaal of het evenement op zichzelf staat
  6. 6
    VoorbeeldSchrijf de relaties tussen koppen
  7. 7
    UitdagingKies opmaakcode voor contactgegevens op basis van het doel
  8. 8
    VoorbeeldStel de pagina van buiten naar binnen samen
  9. 9
    VoorbeeldVerbind de inhoud binnen main
  10. 10
    TipHoud pagina-exemplaren consistent
  11. 11
    UitdagingBeoordeel de volledige structuur
  12. 12
    SamenvattingLees voordat je vormgeeft

HTML-elementen en attributen: oefenvragen

50 Oefenvragen in 5 sets

Set 1: Lees en bouw een kleine webpagina10 Oefenvragen

Vraag 1 van 10

Welke browserweergave toont de geparseerde elementenboom na automatische reparaties van de opmaakcode?
  1. De weergave van de paginabron.
  2. Het paneel Elementen.
  3. De lijst met downloads.
  4. De bladwijzerbalk.
Toon antwoordVerberg antwoord
Antwoord: B
Het paneel Elementen of Inspector toont de DOM die de browser daadwerkelijk heeft opgebouwd, inclusief reparaties tijdens het parsen. Paginabron bekijken toont de HTML die vóór die reparaties is ontvangen. Door beide te vergelijken kun je een element ontdekken dat de browser eerder heeft gesloten dan je bedoelde.

Vraag 2 van 10

Waar hoort <title>Trail Map – Pine Park</title> in een normaal document?
  1. Binnen de eerste kop in body.
  2. Binnen de navigatie vóór de links.
  3. Binnen de footer na de auteursrechtvermelding.
  4. Binnen head naast de metadata.
Toon antwoordVerberg antwoord
Antwoord: D
De titel hoort in head omdat die documentmetadata geeft die worden gebruikt op het tabblad, in bladwijzers en in de geschiedenis. De zichtbare paginakop hoort in body. Door de titel binnen die kop te zetten, verwar je de documentnaam met de inhoud die lezers zien.

Vraag 3 van 10

Een Engelstalige pagina bevat één alinea in het Spaans. Welk attribuut hoort op die alinea?
  1. lang="es"
  2. lang="en"
  3. dir="es"
  4. charset="es"
Toon antwoordVerberg antwoord
Antwoord: A
lang="es" duidt de alinea aan als Spaans, zodat taalgevoelige hulpmiddelen er correct mee kunnen omgaan. Het hoofdelement kan Engels als standaardtaal van de pagina behouden. dir stelt de tekstrichting in en kan dus geen taalcode vervangen.

Vraag 4 van 10

Een pagina heeft een <h1> met de naam “Een fiets repareren” en een <h2> met de naam “De remmen controleren”. Welk niveau past bij een nieuwe subsectie “De kabel afstellen” binnen die remmensectie?
  1. h1
  2. h2
  3. h3
  4. h4
Toon antwoordVerberg antwoord
Antwoord: C
Het onderwerp over de kabel is een subsectie van de remmensectie op niveau twee en heeft dus een kop op niveau drie nodig. Een andere h2 zou op hetzelfde niveau staan als de remmensectie. Als je h4 kiest voor een kleinere standaardweergave, sla je een niveau in het overzicht over.

Vraag 5 van 10

Een pagina geeft montagestappen die in volgorde moeten worden uitgevoerd. Welke structuur past bij de stappen?
  1. Een <ul> met <li>-items.
  2. Een <ol> met <li>-items.
  3. Een <dl> met paren van <dt> en <dd>.
  4. Een <p> met <br>-regeleinden.
Toon antwoordVerberg antwoord
Antwoord: B
Een geordende lijst drukt uit dat de volgorde belangrijk is, met elke stap in een li-element. Een ongeordende lijst kan dezelfde woorden groeperen, maar drukt hun vereiste volgorde niet uit. Getypte nummers binnen een alinea missen ook de echte lijststructuur.

Vraag 6 van 10

Het bestand guides/cycling.html heeft een link nodig naar contact.html in de bovenste map van de website. Welke relatieve href bereikt dat bestand?
  1. ../contact.html
  2. contact.html
  3. guides/contact.html
  4. ../../contact.html
Toon antwoordVerberg antwoord
Antwoord: A
De huidige map is guides, dus ../ gaat eerst naar de bovenliggende map, de bovenste map van de website. Daarna selecteert contact.html het doelbestand. Met alleen contact.html zou je binnen guides zoeken, niet naast die map.

Vraag 7 van 10

Een link opent een PDF van 900 kB met de bezoekersplattegrond van een museum. Welke linktekst beschrijft die op zichzelf duidelijk?
  1. “Klik hier voor bezoekersinformatie”
  2. “Lees meer over een bezoek vandaag”
  3. “Bezoekersinformatie van het museum hier”
  4. “Bezoekersplattegrond museum (PDF, 900 kB)”
Toon antwoordVerberg antwoord
Antwoord: D
“Bezoekersplattegrond museum (PDF, 900 kB)” noemt de bestemming en geeft aan dat een bestand wordt gedownload of geopend. Ook in een afzonderlijke linklijst van een schermlezer blijft het doel duidelijk. “Klik hier” geeft een actie, maar laat de bestemming zonder omringende tekst onduidelijk.

Vraag 8 van 10

Een foto is 1.500 × 1.000 pixels. Welk attribuutpaar toont die met een breedte van 450 pixels en behoudt de vorm?
  1. width="450" height="450"
  2. width="450" height="1000"
  3. width="450" height="300"
  4. width="450" height="225"
Toon antwoordVerberg antwoord
Antwoord: C
De oorspronkelijke verhouding is 3:2, dus bij een breedte van 450 hoort een hoogte van 300. Beide afmetingen worden met dezelfde factor geschaald. Een hoogte van 450 maakt een vierkant, waardoor deze rechthoekige foto vervormt, ook al is de gevraagde breedte juist.

Vraag 9 van 10

Een kleine versiering voegt tussen twee alinea's geen informatie toe. Welk alt-attribuut moet de bijbehorende <img> hebben?
  1. Geen alt-attribuut.
  2. alt="Flourish"
  3. alt="decoration.png"
  4. alt=""
Toon antwoordVerberg antwoord
Antwoord: D
Een lege alt-waarde vertelt hulptechnologie een afbeelding over te slaan die alleen versiering toevoegt. De versiering benoemen zou onnodige gesproken inhoud toevoegen. Het attribuut weglaten is iets anders dan een lege waarde en kan ertoe leiden dat een schermlezer de bestandsnaam aankondigt.

Vraag 10 van 10

Een galeriepagina heeft hetzelfde websitemenu dat op elke pagina terugkomt. De unieke inhoud is één tentoonstellingsbeschrijving, met optionele verwante leestips. Welke structuur scheidt deze rollen het best?
  1. Menu in nav; tentoonstelling in main; leestips in aside.
  2. Menu in aside; tentoonstelling in een nav-gebied.
  3. Tentoonstelling in header; menu in het main-gebied.
  4. Menu en tentoonstelling in main; leestips in footer.
Toon antwoordVerberg antwoord
Antwoord: A
Het websitemenu is belangrijke navigatie, de tentoonstelling is unieke pagina-inhoud en de optionele verwante leestips zijn ondersteunend materiaal. Deze rollen passen respectievelijk bij nav, main en aside. Als je het herhaalde menu naar main verplaatst, vervaagt het onderscheid tussen de unieke pagina-inhoud en de navigatie voor de hele website.
Set 2: Kies opmaakcode die bij de inhoud past10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Wat gebeurt er met een lijst van drie items die is geschreven als <ol reversed="false">?
  1. Die telt op van 1 tot 3.
  2. Die verbergt de nummers van alle items.
  3. Die telt af van 3 tot 1.
  4. Die telt af van 0 tot −2.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Waarom is <p>Keep <em>this</p></em> verkeerd genest?
  1. De alinea sluit voordat kindelement em sluit.
  2. Het em-element begint nadat de alinea begint.
  3. Het em-element bevat tekst in plaats van een attribuut.
  4. De alinea bevat meer dan één woord.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Een mededeling zegt “Je moet de sleutel terugbrengen” en markeert de instructie als belangrijk, zonder te veranderen welk woord bij het spreken de nadruk krijgt. Welk element past bij de belangrijke instructie?
  1. <mark>
  2. <em>
  3. <i>
  4. <strong>
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Een artikel moet de letterlijke code <em>go</em> in een codeblok tonen met behoud van de witruimte. Welke opmaakcode bereikt dat?
  1. <pre><code><em>go</em></code></pre>
  2. <pre><code>&lt;em&gt;go&lt;/em&gt;</code></pre>
  3. <code><pre><em>go</em></pre></code>
  4. <p><code><em>go</em></code></p>
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Op events.html linkt het websitemenu naar Home, Events en Contact. Welke link moet aria-current="page" hebben?
  1. De link Home.
  2. De link Contact.
  3. De link Events.
  4. Alle drie de links.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een pagina op https://example.com/help/topics/edit.html linkt naar ../index.html#files. Waar leidt de link naartoe?
  1. https://example.com/index.html#files
  2. https://example.com/help/index.html#files
  3. https://example.com/help/topics/index.html#files
  4. https://example.com/help/topics/edit.html#files
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Welk formaat is een vectorkeuze voor een eenvoudig websitelogo dat op verschillende formaten scherp moet blijven?
  1. JPEG
  2. GIF
  3. PNG
  4. SVG
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Een sectie “Buurtnieuws” bevat drie complete verhalen die elk zelfstandig opnieuw gepubliceerd kunnen worden. Welk element past bij elk verhaal?
  1. <article>
  2. <nav>
  3. <span>
  4. <address>
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Een statische website herhaalt een header en footer op vijf pagina's. Welke pagina-identiteit moet toch specifiek zijn voor elke pagina?
  1. Dezelfde titel met een andere meta charset.
  2. Dezelfde h1 met andere globale klassenamen.
  3. Een eigen documenttitel en h1 als hoofdkop.
  4. Een eigen doctype en een andere bestandscodering.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Een auteur verwacht dat <aside> in een kolom rechts verschijnt, maar die verschijnt onder de hoofdtekst. Wat verklaart dit?
  1. Aside moet worden veranderd in een nav-element.
  2. Semantische rol en CSS-positie staan los van elkaar.
  3. Aside moet worden verplaatst naar het head-element.
  4. Het main-element verhindert alle zijkolommen.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 3: Zoek problemen in een werkende pagina10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Een HTML-bestand heeft een lang head-element en de volledige charset-declaratie eindigt bij byte 1.500. Welke wijziging herstelt de plaatsing van de declaratie?
  1. Verplaats de charset-declaratie naar body.
  2. Vervang de declaratie door een html-title-attribuut.
  3. Laat die staan en voeg ervoor een tweede title toe.
  4. Verplaats de declaratie naar het begin van head.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een bestand is opgeslagen als Windows-1252, bevat woorden met accenten en declareert UTF-8. Er is geen coderingsheader van de server. De browser toont vervangingstekens. Wat lost de onderliggende afwijking op?
  1. Voeg lang="en-US" toe zonder het bestand opnieuw op te slaan.
  2. Sla opnieuw op als UTF-8 en behoud de UTF-8-declaratie.
  3. Verander elke alinea in een pre-element.
  4. Verplaats dezelfde charset-declaratie naar body.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Een HTML-controleprogramma meldt veel fouten na een link. De link begint met <a href="notes.html>Notes</a>. Wat moet je eerst herstellen?
  1. Het niet-afgesloten aanhalingsteken van href.
  2. Het aantal letters in de linktekst.
  3. Het ontbreken van een class op het anker.
  4. Het ontbreken van een title op het anker.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Welk element markeert een regeleinde tussen de regels van een gedicht?
  1. <p>
  2. <hr>
  3. <br>
  4. <hgroup>
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Welke nummers verschijnen voor de drie items in <ol start="6"><li>A</li><li value="11">B</li><li>C</li></ol>?
  1. 6, 7, 8
  2. 6, 11, 8
  3. 1, 11, 12
  4. 6, 11, 12
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een websitelogo is de enige inhoud van een link naar de beginpagina. Welke alternatieve tekst geeft die link een bruikbare naam?
  1. “Beginpagina van Meadow Garden”
  2. “Afbeelding van het tuinlogo”
  3. “Tuinlogo: logo.svg”
  4. “Groene cirkel, wit blad”
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een pagina heeft een hoofdmenu, een inhoudsopgave en een skiplink als eerste in body. De skiplink is href="#reading", terwijl main id="article" heeft. Door welke wijziging bereikt de skiplink het hoofdinhoudsgebied?
  1. Geef de link in plaats daarvan title="article".
  2. Geef nav in plaats daarvan aria-current="reading".
  3. Verander de id van main in reading.
  4. Geef main class="reading", maar behoud de id.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Het bijschrift van een foto is “Bruginspectie, juni 2026.” De foto toont een scheur over een steun. Welke bruikbare alternatieve tekst voegt de informatie van de afbeelding toe?
  1. “Bruginspectie, juni 2026”
  2. “Een scheur over een brugsteun”
  3. “Foto met de naam bridge-inspection.jpg”
  4. “Afbeelding met een bijschrift eronder”
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Een pagina heeft h1 “Lokale geschiedenis”, gevolgd door h2 “Vervoer”, met zelfstandig herbruikbare verhalen. Een omhullend element rond de verhalen bestaat alleen voor vormgeving en heeft geen eigen thema. Welk verhaalelement, kopniveau en omhullend element passen?
  1. Section voor elk verhaal, h3 voor de kop en div als omhullend element.
  2. Article voor elk verhaal, h2 voor de kop en div als omhullend element.
  3. Article voor elk verhaal, h3 voor de kop en div als omhullend element.
  4. Article voor elk verhaal, h3 voor de kop en section als omhullend element.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Welke controle kan na een geslaagde syntaxisvalidatie nog een inhoudelijk probleem vinden dat validatie niet kan beoordelen?
  1. Beoordeel de alternatieve tekst in de context van de pagina.
  2. Tel de aanhalingstekens in attributen.
  3. Controleer elk leeg element op een eindtag.
  4. Controleer elke elementnaam op spaties.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 4: Volg structuur, paden en paginagedrag10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Een auteur schrijft <p id="notice" class=intro important>Bring ID.</p> en later <aside id="notice">...</aside>. Welke twee wijzigingen geven de alinea beide bedoelde klassen en houden de identificaties geldig?
  1. Schrijf class="intro important" tussen aanhalingstekens; geef aside een andere id.
  2. Schrijf class="intro" tussen aanhalingstekens; geef beide elementen de id “important”.
  3. Schrijf class="intro important" tussen aanhalingstekens; behoud voor beide de id “notice”.
  4. Behoud de class-opmaakcode; verander aside in class="notice".
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een browser toont een lijst na een inleidende zin, maar de broncode plaatst de hele lijst binnen een alinea. Waarom bewijst de weergave niet dat de nesting geldig is?
  1. De browser negeert alle lijsttags in alinea's.
  2. De browser zet elke alinea om in een div.
  3. De browser kan de alinea vóór de lijst sluiten.
  4. De browser behandelt alle lijstitems als koppen.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

De koppenreeks is h1 “Vogels kijken”, h2 “Uitrusting”, h3 “Verrekijker”, h4 “Scherpstellen” en daarna “Locaties”, een nieuwe hoofdsectie. Welk niveau past bij “Locaties” en waarom?
  1. h3, omdat die onder Verrekijker moet blijven.
  2. h4, omdat gelijke grootte gelijke rang betekent.
  3. h5, omdat elke nieuwe kop dieper gaat.
  4. h2, omdat die op hetzelfde niveau als Uitrusting staat.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Wat duidt <cite> aan in HTML-tekst?
  1. De naam van de persoon die een citaat uitsprak.
  2. De titel van een werk, zoals de naam van een boek.
  3. De bestemmings-URL van elke hyperlink.
  4. De gesproken klemtoon op een woord in een zin.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Een lijst met drie items gebruikt <ol reversed start="9">; het tweede item heeft value="5". Welke itemnummers worden weergegeven?
  1. 9, 5, 6
  2. 3, 5, 4
  3. 9, 5, 4
  4. 9, 8, 7
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een pagina staat op https://example.com/library/topics/birds.html. Die moet linken naar het element id="access" in https://example.com/visit.html. Welke relatieve href doet dat?
  1. ../../visit.html#access
  2. ../visit.html#access
  3. ../../visit.html?access
  4. ../../visit.html/access
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een menu van de beginpagina wordt ongewijzigd gekopieerd naar journal/entry.html. De link Home is href="index.html"; de link Journal is href="journal/index.html". Welk paar relatieve href's bereikt vanaf het bericht de beginpagina op het hoogste niveau en de journal-index?
  1. Home index.html; Journal journal/index.html.
  2. Home ../index.html; Journal ../index.html.
  3. Home ../../index.html; Journal index.html.
  4. Home ../index.html; Journal index.html.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Een pagina toont een foto van 6 MB op klein formaat met de attributen width en height. Waarom downloadt de pagina nog steeds 6 MB?
  1. De attributen kiezen een ongecomprimeerd formaat.
  2. De attributen veranderen de weergavegrootte, niet de bestandsbytes.
  3. De attributen dwingen de browser de foto twee keer te laden.
  4. De attributen verwijderen alle afbeeldingscompressie.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Een afbeelding toont de woorden “Gebruik de noordelijke ingang” op een tijdelijk bord. De boodschap op het bord is nodig om het gebouw binnen te gaan. Wat moet de alternatieve tekst overbrengen?
  1. “Tijdelijk rechthoekig bord”
  2. “Bord met gedrukte woorden”
  3. “Gebruik de noordelijke ingang”
  4. “Bestand in de afbeeldingenmap”
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Een artikel heeft binnen het hoofdinhoudsgebied van de pagina een eigen header met de kop en datum. Hoe gedraagt die header zich als herkenningspunt?
  1. Die is niet het herkenningspunt voor de paginakop.
  2. Die wordt een tweede herkenningspunt voor hoofdinhoud.
  3. Die wordt het navigatieherkenningspunt van de pagina.
  4. Die vervangt het buitenste herkenningspunt voor de paginakop.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 5: Beoordeel een website voordat je CSS toevoegt10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Een alinea moet alleen de woordgroep “access code” als belangrijk markeren en zowel de klasse “notice” als “urgent” hebben. Welke opmaakcode voldoet aan beide eisen met correcte nesting?
  1. <p class="notice urgent"><strong>Keep the access code.</strong></p>
  2. <p class="notice urgent">Keep the <strong>access code</strong>.</p>
  3. <p class=notice urgent>Keep the <strong>access code</strong>.</p>
  4. <p class="notice urgent">Keep the <strong>access code.</p></strong>
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een pagina heeft de zichtbare kop “Toegankelijkheid”, maar op het browsertabblad staat nog steeds “Naamloos”. Welke wijziging past het tabblad aan met behoud van de zichtbare kop?
  1. Voeg title="Accessibility" toe aan body.
  2. Verander het h1-element in een header-element.
  3. Zet een ander h1-element binnen head.
  4. Verander de title-tekst in head in “Toegankelijkheid - Stadsmuseum”.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Welke HTML-broncode toont de letterlijke zin Use <aside> here als alinea-inhoud?
  1. <p>Use <aside> here</p>
  2. <p>Use &amp;aside; here</p>
  3. <p>Use &lt;aside&gt; here</p>
  4. <p>Use &quot;aside&quot; here</p>
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Een pagina citeert één korte zin binnen een alinea en noemt daarna de roman waaruit die komt en de auteur. Welke combinatie markeert het citaat en de titel van het werk correct?
  1. Zet de zin in q, de romantitel in cite en de auteur in gewone tekst.
  2. Zet de zin in q, de auteur in cite en de romantitel in gewone tekst.
  3. Zet de zin in cite, de romantitel in q en de auteur in gewone tekst.
  4. Zet de zin in blockquote binnen p, de romantitel in cite en de auteur in q.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Een pagina noemt “Gereedschap” en “Materialen” als gelijkwaardige categorieën waarvan de volgorde niet belangrijk is. Gereedschap bevat een installatieprocedure van twee stappen die in volgorde moet worden uitgevoerd. Welke buitenste lijst en geneste structuur drukken die relaties uit?
  1. Gebruik een buitenste ul; zet de binnenste ol direct naast de li voor Gereedschap.
  2. Gebruik een buitenste ul; zet de binnenste ul in de li voor Gereedschap.
  3. Gebruik een buitenste ol; zet de binnenste ol in de li voor Gereedschap.
  4. Gebruik een buitenste ul; zet de binnenste ol in de li voor Gereedschap.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een pagina op https://example.com/notes/entry.html heeft een externe link nodig naar https://example.org/help. De auteur schrijft href="example.org/help". Waar komt de geschreven link uit en wat herstelt dit?
  1. Die komt uit op example.org; voeg een fragment toe voor de helpsectie.
  2. Die komt uit onder example.com/notes; gebruik de volledige https-URL voor example.org.
  3. Die komt uit op example.com/help; zet ../ vóór het geschreven pad.
  4. Die komt uit op example.org/notes; begin het pad met een schuine streep.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een bedieningselement klapt een antwoord op een veelgestelde vraag op de pagina uit zonder ergens naartoe te navigeren. Welk HTML-bedieningselement past bij die actie?
  1. Een anker met href="#".
  2. Een anker zonder href.
  3. Een button-element.
  4. Een nav-element.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Een lange pagina heeft een direct zichtbare foto en een galerij veel verder naar beneden. Beide gebruiken grote originele camerabestanden en laten afmetingen weg. Welk plan verbetert de downloads en de stabiliteit tijdens het laden zonder de eerste foto te vertragen?
  1. Pas bestanden aan en comprimeer ze, voeg afmetingen met de juiste verhouding toe en laad alleen de galerij uitgesteld.
  2. Behoud de originelen, voeg afmetingen met de juiste verhouding toe en laad zowel de eerste foto als de galerij uitgesteld.
  3. Pas bestanden aan, laat afmetingen weg en laad alleen de eerste foto boven de galerij uitgesteld.
  4. Behoud de originelen, stel vierkante afmetingen in en laad alleen de galerij uitgesteld.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Een alinea noemt het straatadres waar een historisch festival plaatsvond. Het zijn geen contactgegevens voor de pagina of een artikel. Past <address> bij die vermelding?
  1. Ja, want elk straatadres heeft address-opmaak nodig.
  2. Ja, want address geeft de rol van geografische locatie.
  3. Nee, want address mag alleen in een paginaheader staan.
  4. Nee, een locatievermelding is geen contactinformatie.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Een recept op recipes/stew.html linkt Home met index.html, markeert de receptenindex als aria-current="page" en zet een noodzakelijke bereidingsstap in aside. Welk controleplan herstelt alle drie de inhoudelijke relaties?
  1. Behoud Home, verwijder aria-current en verplaats de bereidingsstap naar de footer.
  2. Gebruik ../index.html voor Home, behoud aria-current en verplaats de stap naar main.
  3. Gebruik ../index.html voor Home, verwijder de onjuiste markering en zet de stap in het recept.
  4. Gebruik /recipes/index.html voor Home, markeer die als huidig en zet de stap in het recept.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Kom je niet uit je eigen opgave? Huiswerkhulp

Kernbegrippen

99 Kernbegrippen, elk met een definitie

A

Absolute URL
Een absolute URL geeft een volledige webbestemming, inclusief het URL-schema en de domeinnaam, zonder de map van de huidige pagina nodig te hebben.
De absolute URL https://example.com/help noemt zowel de website als het doelpad.
Afbeeldingsbron
Een afbeeldingsbron is het bestandsadres dat het src-attribuut van een img-element geeft en dat volgens dezelfde padregels als links wordt gevolgd.
Controleer de map en het gebruik van hoofdletters en kleine letters in de afbeeldingsbron wanneer een foto niet laadt.
Afbeeldingslicentie
Een afbeeldingslicentie geeft aan welk hergebruik van een afbeelding is toegestaan en onder welke voorwaarden, inclusief een eventueel vereiste naamsvermelding van de maker.
Controleer een afbeeldingslicentie voordat je een foto gebruikt en geef daarna de vereiste naamsvermelding.
Afkorting
Een afkorting is een verkorte vorm die met abbr wordt gemarkeerd; een title-attribuut kan de volledige vorm geven, die bij de introductie ook zichtbaar moet zijn.
Een afkorting zoals “WHO” is duidelijker wanneer de volledige vorm in de omringende tekst verschijnt.
Afwijkend tekstgebruik
Afwijkend tekstgebruik onderscheidt met i tekst als een term, gedachte of uitdrukking in een andere taal zonder extra nadruk toe te voegen.
Afwijkend tekstgebruik kan een Latijnse soortnaam markeren terwijl lang de taal aanduidt.
Alinea
Een alinea is een blok samenhangende tekst dat met p wordt gemarkeerd; afzonderlijke alinea's vormen een inhoudsstructuur die losstaat van regeleinden in de broncode.
Twee alinea-elementen houden een inleiding en een latere uitleg als afzonderlijke tekstblokken uit elkaar.
Alternatieve tekst
Alternatieve tekst is het tekstalternatief van een afbeelding, gegeven door alt om de informatie of functie over te brengen wanneer de afbeelding niet te zien is.
Bruikbare alternatieve tekst beschrijft de belangrijkste informatie die een diagram aan de omringende alinea toevoegt.
Artikel
Een artikel is een op zichzelf staand geheel dat zelfstandig kan worden gebruikt of hergebruikt, zoals een verhaal, recept of reactie.
Elk compleet verhaal in een sectie “Laatste nieuws” kan als artikel worden gemarkeerd.
Attribuut
Een attribuut geeft extra informatie over een element en wordt binnen de begintag na de elementnaam geschreven.
Het href-attribuut op een link geeft het adres dat de browser moet openen.

B

Basistekstrichting
De basistekstrichting bepaalt de algemene richting van een tekstgedeelte van links naar rechts of van rechts naar links en beïnvloedt leestekens en gemengde tekst.
Een Arabische pagina gebruikt dir="rtl" om naast lang="ar" de basistekstrichting in te stellen.
Beeldverhouding
Een beeldverhouding is de verhouding tussen de breedte en hoogte van een afbeelding, die behouden moet blijven om vervorming te voorkomen.
Een afbeelding van 1.200 × 800 en een weergave van 600 × 400 hebben dezelfde beeldverhouding van 3:2.
Belangrijke tekst
Belangrijke tekst wordt met strong als belangrijk, ernstig of urgent gemarkeerd, los van de standaardweergave in vet.
Een waarschuwing kan belangrijke tekst gebruiken om de instructie aan te duiden die aandacht vraagt.
Beschrijving in een beschrijvingslijst
Een beschrijving in een beschrijvingslijst geeft met dd een uitleg of bijbehorende informatie voor een term.
Een beschrijving in een beschrijvingslijst kan een definitie geven voor de dt die er direct voor staat.
Beschrijvingslijst
Een beschrijvingslijst groepeert namen met beschrijvingen of waarden, met dl rond groepen dt- en dd-elementen.
Een beschrijvingslijst kan “Sluitingstijd” koppelen aan “17.00 uur” in de contactgegevens van een website.
Blokcitaat
Een blokcitaat is een langer geciteerd tekstgedeelte dat met blockquote apart wordt gezet; de zichtbare bronvermelding hoort buiten de geciteerde inhoud.
Een blokcitaat kan een bron-URL in cite hebben, terwijl een volgende alinea het werk noemt.
Body-element
Het body-element is het deel van een HTML-document dat de pagina-inhoud bevat, waaronder koppen, alinea's, afbeeldingen en navigatie.
Een zichtbare hoofdkop hoort in het body-element, ook al geeft die de pagina een naam.
Booleaans attribuut
Een booleaans attribuut staat aan als het aanwezig is en uit als het ontbreekt, ongeacht een waarde die onwaar lijkt.
Het booleaanse attribuut reversed keert de nummering nog steeds om wanneer het is geschreven als reversed="false".
Bronvolgorde
De bronvolgorde is de volgorde van inhoud in de HTML en vormt de leesvolgorde die schermlezers en toetsenbordnavigatie gebruiken.
Een logische bronvolgorde houdt een uitleg vóór de bijbehorende actie, ook zonder visuele vormgeving.
Browsercontext
Een browsercontext is een plaats waar een browser een document weergeeft, zoals een tabblad of venster dat door de target van een link wordt gekozen.
De targetwaarde _blank vraagt om een nieuwe browsercontext in plaats van de huidige.

C

Citaat binnen een zin
Een citaat binnen een zin is een kort citaat dat met q wordt gemarkeerd, zodat de browser de aanhalingstekens toevoegt.
Een citaat binnen een zin hoort geen extra getypt paar aanhalingstekens rond dezelfde woorden te hebben.
Code-element
Het code-element duidt computercode aan binnen tekst of binnen een vooraf opgemaakt blok, zonder zelf alle witruimte uit de broncode te behouden.
Een zin gebruikt het code-element wanneer daarin de opmaakcode voor een alinea wordt genoemd.
Compressie met verlies
Compressie met verlies verkleint een bestand door afbeeldingsdetails te verwijderen. De afweging tussen kwaliteit en grootte is nuttig voor foto's.
JPEG gebruikt compressie met verlies, waardoor herhaaldelijk de kwaliteit verlagen zichtbaar detail kan verwijderen.
Compressie zonder verlies
Compressie zonder verlies verkleint de opgeslagen gegevens met behoud van afbeeldingsgegevens, wat nuttig is voor scherpe afbeeldingen en schermafbeeldingen.
PNG gebruikt compressie zonder verlies en ondersteunt transparantie voor de achtergrond van een diagram.
Contactgegevens
Contactgegevens zijn gegevens om contact op te nemen over een artikel of pagina en worden met address gemarkeerd; dat geldt niet voor elk genoemd straatadres.
De contactgegevens van een artikel kunnen een e-maillink voor de auteur bevatten.
Contextuele markering
Een contextuele markering markeert met mark tekst die in de huidige omgeving relevant is, zoals een overeenkomende zoekterm.
Een contextuele markering kan een gevonden zoekterm aanwijzen zonder die urgent te verklaren.

D

Decoratieve afbeelding
Een decoratieve afbeelding voegt vormgeving toe zonder noodzakelijke informatie. Een HTML-afbeelding die zo wordt gebruikt, heeft daarom een lege alt-waarde.
Een decoratieve afbeelding van een versiering gebruikt alt="", zodat die geen overbodige gesproken tekst toevoegt.
Div-element
Een div-element is een neutrale blokcontainer die wordt gebruikt wanneer geen semantisch element past, vaak om inhoud voor vormgeving of lay-out te groeperen.
Een div-element kan twee boxen voor latere CSS groeperen zonder aan te geven dat ze een thematische sectie vormen.
Doctype
De doctype is de declaratie aan het begin van een HTML-document die een browser vertelt de standaardmodus te gebruiken.
De pagina begint met <!DOCTYPE html>, vóór het hoofdelement en de metadata.
Documenttitel
De documenttitel geeft een pagina een naam op het browsertabblad, in bladwijzers en in de geschiedenis, met een title-element in head.
“Toegankelijkheid - Stadsmuseum” is een documenttitel die de pagina onderscheidt van de beginpagina van de website.
DOM
De DOM, het Document Object Model, is de boomweergave van een document die de browser na het parsen van de HTML maakt.
De inspector toont de DOM, die reparaties kan bevatten die niet in de ontvangen broncode staan.
Download-attribuut
Het download-attribuut vraagt om een gekoppelde bron op te slaan en kan een bestandsnaam voorstellen, afhankelijk van de regels van de browser en voor de oorsprong.
Een PDF-link naar dezelfde oorsprong kan het download-attribuut gebruiken met een voorgestelde documentnaam.

E

Element
Een element is een structurele eenheid van HTML, die meestal bestaat uit een begintag, inhoud en een eindtag.
Het element <p>Welcome.</p> duidt “Welcome.” aan als een alinea met pagina-inhoud.

F

Figuur
Een figuur groepeert met figure op zichzelf staande inhoud, zoals een afbeelding, diagram of codevoorbeeld, met een optioneel bijschrift.
Een figuur kan een archieffoto bij de zichtbare datum en bronvermelding houden.
Figuurbijschrift
Een figuurbijschrift is zichtbare toelichtende tekst die met figcaption als eerste of laatste kindelement van de bijbehorende figure wordt gemarkeerd.
Een figuurbijschrift geeft de datum van een foto, terwijl de alternatieve tekst beschrijft wat de foto toont.
Foutherstel
Foutherstel is de manier waarop de browser volgens regels met onjuiste opmaakcode omgaat, zodat die ondanks fouten in de broncode een pagina kan opbouwen.
Door foutherstel kan een alinea automatisch sluiten wanneer de browser een lijst tegenkomt.
Fragment
Een fragment is het deel van een URL na een hekje dat een doelelement met de unieke id binnen een document kan aanduiden.
Het fragment #care verwijst naar id="care", met het hekje alleen in het adres.
Functionele afbeelding
Een functionele afbeelding vervult een rol, bijvoorbeeld als enige inhoud van een link, zodat het alternatief de bestemming of actie noemt.
Een functionele afbeelding die naar Home linkt, heeft een naam voor de beginpagina nodig, niet alleen de kleuren van het logo.

G

Geneste lijst
Een geneste lijst is een lijst binnen een item van een andere lijst, die een ondergeschikte groep uitdrukt die aan dat item is gekoppeld.
Zet een geneste lijst met fruit binnen de li “Groente en fruit” voordat je dat bovenliggende item sluit.
Geordende lijst
Een geordende lijst groepeert items waarvan de volgorde of rangorde belangrijk is, met ol, li-elementen en betekenisvolle nummering.
Een geordende lijst past bij montagestappen die in een bepaalde volgorde moeten worden uitgevoerd.
Globaal attribuut
Een globaal attribuut kan in het algemeen op HTML-elementen worden gebruikt, zoals id, class, lang, title of hidden.
Het globale attribuut id kan een kop of het hoofdinhoudsgebied aanduiden als doel van een fragment.

H

Head-element
Het head-element is het deel van een HTML-document dat metadata over de pagina bevat, gescheiden van de zichtbare inhoud in body.
Het head-element van een document bevat de tekencoderingsdeclaratie, titel en het gekoppelde stijlblad.
Header
Een header leidt de bijbehorende pagina of dichtstbijzijnde sectie of het dichtstbijzijnde artikel in en bevat vaak een kop, identificerende informatie of navigatie.
Een paginaheader kan een websitelogo bevatten, terwijl een artikelheader de titel en datum kan bevatten.
Herkenningspunt
Een herkenningspunt is een betekenisvol paginagebied dat hulptechnologie als directe navigatiebestemming kan aanbieden.
Met de herkenningspuntenlijst van een schermlezer kan een bezoeker naar main of de navigatie springen.
Hoofdelement
Het hoofdelement is het bovenste element van de documentboom; in HTML is dat html, dat head en body omvat.
Het hoofdelement <html lang="en"> geeft ook de standaardtaal van de pagina aan.
Hoofdinhoudsgebied
Het hoofdinhoudsgebied bevat inhoud die uniek is voor de pagina en wordt gemarkeerd met main; op een normale pagina is één zo'n gebied zichtbaar.
Het hoofdinhoudsgebied van een receptenpagina bevat het recept, niet het menu dat op de hele website wordt herhaald.
HTML
HTML is de opmaaktaal die webinhoud structuur en betekenis geeft door middel van elementen en hun attributen.
Een browser leest HTML om koppen, alinea's, links en afbeeldingen op een pagina te onderscheiden.
HTML-validatie
HTML-validatie controleert opmaakcode aan de hand van HTML-regels en meldt problemen zoals ongeldige nesting, dubbele id's of ontbrekende attributen.
HTML-validatie kan een ontbrekend alt-attribuut melden, maar kan niet beoordelen of de tekst bruikbaar is.
Hyperlink
Een hyperlink is een verbinding met een bestemming, gemaakt met een ankerelement met href en aanklikbare tekst of andere inhoud.
Een hyperlink met het label “Openingstijden” kan naar een naastgelegen pagina op dezelfde website leiden.

I

Inhoudsopgave
Een inhoudsopgave somt paginasecties op als links, die meestal via fragmenten naar id's van koppen in hetzelfde document verwijzen.
Een inhoudsopgave kan “Planten” aan de bijbehorende kop koppelen zonder een andere pagina te openen.

K

Kleine lettertjes
Kleine lettertjes zijn opmerkingen terzijde, zoals een juridische opmerking of auteursrechtvermelding, die vanwege hun betekenis met small worden gemarkeerd.
Een auteursrechtvermelding kan onder kleine lettertjes vallen, ook als CSS de weergegeven grootte verandert.
Knop
Een knop is een interactief bedieningselement voor een actie, zoals inhoud uitklappen, in plaats van navigatie naar een andere bestemming.
Een knop past bij een bedieningselement dat het antwoord op een veelgestelde vraag opent zonder de lezer ergens anders naartoe te brengen.
Koppengroep
Een koppengroep combineert een kop met verwante inleidende tekst zoals een ondertitel, met hgroup en een alinea.
Een koppengroep houdt “Havencafé” en de bijbehorende slogan bij elkaar zonder een extra sectie te verzinnen.
Koppenhiërarchie
Een koppenhiërarchie drukt via de niveaus van h1- tot en met h6-elementen uit hoe onderwerpen en subonderwerpen op een pagina samenhangen.
Een koppenhiërarchie kan “Uitrusting” op h2 plaatsen en “Verrekijker” daaronder op h3.
Koppenoverzicht
Een koppenoverzicht is de geordende verzameling kopniveaus en onderwerpen van een pagina, die laat zien hoe de inhoud is gegroepeerd.
Op een receptenpagina helpt een koppenoverzicht met Ingrediënten en Bereiding onder de titel van het recept bij de uiteindelijke opmaakcode.
Kruimelpad
Een kruimelpad toont de positie van een pagina in de hiërarchie van een website met geordende navigatie en de huidige pagina als laatste.
Het kruimelpad “Home › Dagboek › Lentewandeling” toont de plaats van het artikel binnen de website.

L

Lay-outverschuiving
Een lay-outverschuiving is het bewegen van weergegeven inhoud wanneer ruimte verandert, bijvoorbeeld wanneer een afbeelding zonder gereserveerde afmetingen laadt.
Door een afbeelding width en height te geven, help je een lay-outverschuiving in de tekst eronder voorkomen.
Leeg element
Een leeg element is een HTML-element zonder inhoud en zonder eindtag, zoals een afbeelding of een regeleinde.
De afbeelding is een leeg element, dus schrijf <img> zonder bijbehorende eindtag.
Lijstitem
Een lijstitem is een afzonderlijk item binnen een ongeordende of geordende lijst, gemarkeerd met li en geschikt om verdere inhoud te bevatten.
Een lijstitem kan een label bevatten met daaronder een geneste lijst met keuzes.
Linktekst
Linktekst is de inhoud die de bestemming of het doel van een link voor lezers noemt, ook wanneer die los van de zin wordt gehoord.
De linktekst “Jaarverslag (PDF)” is in een linklijst duidelijker dan “Klik hier”.

M

Machineleesbare datum
Een machineleesbare datum geeft een datum in een gestandaardiseerde vorm voor software, via datetime op een time-element.
Een machineleesbare datum 2026-03-14 kan samengaan met de zichtbare tekst “14 maart 2026”.
Markering van de huidige pagina
Een markering van de huidige pagina duidt de link naar de weergegeven pagina aan met aria-current en de waarde page.
Verplaats de markering van de huidige pagina naar Contact wanneer de bezoeker de contactpagina opent.
Metadata
Metadata zijn gegevens over een document, zoals de titel, tekencodering of een korte beschrijving van de inhoud.
De metadata in head helpen de browser het tabblad een naam te geven en de paginatekst te decoderen.

N

Nadruk
Nadruk markeert met het em-element woorden waarvan de gesproken klemtoon de betekenis of focus van een zin verandert.
Nadruk op “wel” in “Ik heb de deur wel op slot gedaan” neemt twijfel weg over de vraag of dat is gebeurd.
Navigatiegebied
Een navigatiegebied groepeert belangrijke navigatielinks met nav, zodat hulptechnologie het doel en de locatie ervan kan herkennen.
Een navigatiegebied kan het websitemenu of de inhoudsopgave van een lang artikel bevatten.
Navigatielabel
Een navigatielabel geeft een nav-gebied een naam via aria-label, zodat lezers groepen met verschillende doelen kunnen onderscheiden.
Een navigatielabel “Inhoudsopgave” onderscheidt het paginaoverzicht van het websitemenu “Hoofdnavigatie”.
Nesten
Bij nesten plaats je een element binnen een ander element. Zo ontstaan relaties tussen ouder- en kindelementen waarvan de tags van binnen naar buiten sluiten.
Bij correct nesten sluit je <strong> voordat je de alinea sluit die het element bevat.
Noopener
Noopener is een linkrelatie die voorkomt dat een nieuw geopende pagina de oorspronkelijke pagina via de verwijzing naar de opener aanstuurt.
Door rel="noopener" expliciet te schrijven, bescherm je de pagina die de link opent, ook al geldt die bescherming impliciet bij moderne _blank-links.
Noreferrer
Noreferrer is een linkrelatie die informatie over de verwijzende pagina onderdrukt en ook bescherming biedt tegen toegang tot de opener.
Een noreferrer-link stuurt het adres van de verwijzende pagina niet naar de bestemming.

O

Ongeordende lijst
Een ongeordende lijst groepeert items waarvan de volgorde de betekenis niet beïnvloedt, met ul en li-elementen voor de items.
Een ongeordende lijst past bij ingrediënten, omdat een andere volgorde de verzameling niet verandert.

P

Paginabron bekijken
Paginabron bekijken is een browserweergave van de ontvangen HTML, voordat de structuur van de geparseerde DOM en automatische reparaties worden getoond.
Vergelijk paginabron bekijken met de inspector wanneer een element onder het verkeerde ouderelement verschijnt.

R

Regeleinde
Een regeleinde verplaatst tekst naar een nieuwe weergegeven regel binnen hetzelfde inhoudsblok en wordt gemarkeerd met het lege element br.
Een gedicht gebruikt een regeleinde waar de volgende regel binnen dezelfde strofe hoort.
Relatieve URL
Een relatieve URL beschrijft een bestemming met de locatie van het huidige document als uitgangspunt, inclusief stappen naar bovenliggende mappen.
Vanaf een pagina in news/ gaat de relatieve URL ../contact.html omhoog naar de contactpagina.

S

Sectie
Een sectie groepeert één thema binnen een pagina of groter geheel, normaal gesproken met een kop die het onderwerp van de groep uitlegt.
Een sectie “Openingstijden” kan naast “Route” op dezelfde contactpagina staan.
Semantisch element
Een semantisch element benoemt de rol of betekenis van de inhoud, zodat browsers en hulptechnologie die structuur kunnen gebruiken.
Het semantische element nav duidt een menu duidelijker aan dan een algemeen omhullend div-element.
Skiplink
Een skiplink is een link vroeg op de pagina waarmee toetsenbordgebruikers herhaalde inhoud kunnen overslaan en direct naar het hoofdinhoudsgebied springen.
De skiplink verwijst naar de unieke id van main, zodat de bezoeker een lang herhaald menu kan overslaan.
Span-element
Een span-element is een neutrale container binnen een tekstregel die een attribuut kan dragen zonder extra betekenis aan een deel van een zin toe te kennen.
Een span-element met lang="fr" kan een korte Franse uitdrukking binnen een Engelse alinea aanduiden.
Standaardmodus
De standaardmodus is de normale weergavemodus van de browser voor moderne documenten, die het oudere lay-outgedrag van de compatibiliteitsmodus vermijdt.
Door de moderne doctype op te nemen, blijft een nieuwe pagina in de standaardmodus.
Statische website
Een statische website biedt voorbereide paginabestanden aan; herhaalde menu's en andere gedeelde inhoud moeten in die bestanden consistent blijven.
Als je op een kleine statische website een gekopieerd menu verandert, moet je elke pagina met dat menu bijwerken.
Subscript
Een subscript is verlaagde notatie die met sub wordt gemarkeerd wanneer de positie betekenis heeft, zoals het getal in een chemische formule.
Het subscript 2 in H₂O geeft het aantal waterstofatomen in de formule aan.
Superscript
Een superscript is verhoogde notatie die met sup wordt gemarkeerd wanneer de positie betekenis heeft, zoals een exponent of eenheid in het kwadraat.
Het superscript 2 in m² drukt een eenheid in het kwadraat uit en is geen gewone tekstverkleining.

T

Taalcode
Een taalcode duidt de taal van inhoud aan en kan ook een regio of schrift bevatten, zoals in en-US of zh-Hans.
De taalcode fr-CA duidt Frans aan zoals gebruikt in Canada, niet de locatie van de lezer.
Tag
Een tag is de opmaakcode die een element begint of beëindigt; een eindtag bevat een schuine streep vóór de elementnaam.
In een alinea begint de tag <p> het element en sluit de tag </p> het af.
Tekencodering
Een tekencodering is de verzameling regels waarmee tekens worden omgezet in opgeslagen bytes en die bytes weer worden gedecodeerd tot tekst.
Door niet-overeenkomende coderingen kan tekst met accenten als onverwachte tekens verschijnen.
Tekenreferentie
Een tekenreferentie geeft een teken weer met HTML-syntaxis die met een en-teken begint, zoals < voor een kleiner-danteken.
Met de tekenreferentie &lt; kan een pagina een openende punthaak tonen zonder een tag te beginnen.
Term in een beschrijvingslijst
Een term in een beschrijvingslijst is een naam of label dat met dt wordt gemarkeerd en door een of meer beschrijvingen wordt gevolgd.
De term “Codering” in een beschrijvingslijst kan worden gevolgd door een dd die uitlegt hoe tekst bytes wordt.
Thematische scheiding
Een thematische scheiding markeert een verandering van onderwerp of scène binnen tekst met hr, in plaats van alleen een decoratieve lijn te tekenen.
Een verhaal kan een thematische scheiding gebruiken wanneer de handeling zich naar een andere plaats verplaatst.
Titel van een aangehaald werk
Een titel van een aangehaald werk is de naam van een werk, zoals een boek of film, die met cite wordt gemarkeerd; cite wordt niet voor een persoonsnaam gebruikt.
De titel van het aangehaalde werk in “Ik las Frankenstein” kan met het cite-element worden gemarkeerd.

U

Uitgesteld laden
Uitgesteld laden stelt het ophalen van een afbeelding uit totdat die dicht bij de weergave van de bezoeker komt, met loading en de waarde lazy.
Galerijafbeeldingen verderop zijn geschikt voor uitgesteld laden, terwijl een zichtbare foto op het eerste scherm normaal moet laden.
URL vanaf de hoofdmap
Een URL vanaf de hoofdmap begint met een schuine streep en wordt op een server vanaf de hoofdmap van een website gevolgd in plaats van vanaf de map van de huidige pagina.
De URL vanaf de hoofdmap /about.html bereikt vanuit verschillende mappen hetzelfde pad op de website.
URL-schema
Een URL-schema duidt vóór de dubbele punt het soort bestemming of protocol aan, zoals https, mailto of tel.
Het URL-schema mailto: vraagt een e-mailapp een bericht op te stellen aan het adres dat volgt.
UTF-8
UTF-8 is de vereiste HTML-tekencodering en kan elk Unicode-teken weergeven, inclusief accenten en andere schriften.
Door het bestand als UTF-8 op te slaan en die codering te declareren, kan een pagina “café” weergeven zonder het accent te vervangen.

V

Vaste spatie
Een vaste spatie houdt de woorden of symbolen aan weerszijden op één regel bij elkaar in plaats van daar een regelafbreking toe te staan.
In 10&nbsp;km houdt een vaste spatie het getal naast de meeteenheid.
Vectorafbeelding
Een vectorafbeelding beschrijft vormen in plaats van een vast pixelraster, zodat geschikte afbeeldingen kunnen worden geschaald zonder wazig te worden.
Een SVG-logo is een vectorafbeelding die op meerdere weergaveformaten scherp kan blijven.
Viewport
De viewport is het browsergebied waarin een pagina wordt weergegeven; viewportmetadata helpen een mobiele lay-out de apparaatbreedte te gebruiken.
Het viewportmeta-element voorkomt dat veel mobiele browsers een weergave op desktopbreedte verkleinen.
Voettekst
Een voettekst geeft informatie over de bijbehorende pagina of sectie, zoals contactgegevens, auteursinformatie of een auteursrechtvermelding.
Op een receptenpagina kan een voettekst de contactgegevens van de website herhalen zonder deel van het recept te worden.
Vooraf opgemaakte tekst
Vooraf opgemaakte tekst behoudt spaties en regeleinden met pre, terwijl HTML-opmaakcode binnen de inhoud nog steeds wordt geïnterpreteerd.
Een vooraf opgemaakt codevoorbeeld heeft nog steeds &lt; nodig om een letterlijk kleiner-danteken te tonen.

W

Wireframe
Een wireframe is een eenvoudig paginaplan dat gebieden als boxen toont, zodat hun inhoudelijke rollen vóór de opmaakcode en vormgeving kunnen worden bepaald.
Een wireframe kan de paginakop, het menu, de hoofdinhoud en de voettekst van labels voorzien voordat code wordt geschreven.

Z

Zijdelingse inhoud
Zijdelingse inhoud bevat indirect verwante ondersteunende inhoud, zoals verwante links, zonder essentiële uitleg uit de hoofdstroom te halen.
Zijdelingse inhoud kan andere artikelen voorstellen terwijl het huidige artikel op zichzelf begrijpelijk blijft.
Zoekgebied
Een zoekgebied groepeert zoek- of filterinhoud met search en biedt hulptechnologie een zoekherkenningspunt.
Het zoekgebied van een website heeft een andere rol dan het menu met bekende bestemmingen.

Over deze les

Door StudeliFout melden

Maak je eigen Studiemateriaal

Maak van je aantekeningen, slides en documenten Leermodules, Oefenvragen, Flashcards en 6 andere tools.

Aan de slag