Gebruik voor een hoofdkop van een pagina de nl-heading en nl-heading--level-1 class name op een h1, element:
codevoorbeeld
<h1class="nl-heading nl-heading--level-1">Hoofdkop van de pagina</h1>
Heading level 2
Gebruik voor een koptekst die volgt na de hoofdkop en in de koppenstructuur op het tweede niveau staat de nl-heading en nl-heading--level-2 class name op een h2, element:
codevoorbeeld
<h2class="nl-heading nl-heading--level-2"> Een koptekst die volgt na de hoofdkop en in de koppenstructuur op het tweede niveau staat</h2>
Heading level 3
Gebruik voor een koptekst die in de koppenstructuur op het derde niveau staat de nl-heading en nl-heading--level-3 class name op een h3, element:
codevoorbeeld
<h3class="nl-heading nl-heading--level-3">Een koptekst die in de koppenstructuur op het derde niveau staat</h3>
Heading level 4
Gebruik voor een koptekst die in de koppenstructuur op het vierde niveau staat de nl-heading en nl-heading--level-4 class name op een h4, element:
codevoorbeeld
<h4class="nl-heading nl-heading--level-4">Een koptekst die in de koppenstructuur op het vierde niveau staat</h4>
Heading level 5
Gebruik voor een koptekst die in de koppenstructuur op het vijfde niveau staat de nl-heading en nl-heading--level-5 class name op een h5, element:
codevoorbeeld
<h5class="nl-heading nl-heading--level-5">Een koptekst die in de koppenstructuur op het vijfde niveau staat</h5>
Heading level 6
Gebruik voor een koptekst die in de koppenstructuur op het zesde niveau staat de nl-heading en nl-heading--level-5 class name op een h6, element:
codevoorbeeld
<h6class="nl-heading nl-heading--level-6">Een koptekst die in de koppenstructuur op het zesde niveau staat</h6>
Kop gebruiken met het uiterlijk van een ander level
Gebruik voor een koptekst die semantisch op het ene level staat, maar visueel de uitstraling heeft van een ander level de nl-heading en nl-heading--level-{het visuele level} op het semantische heading component naar keuze:
codevoorbeeld
<h2class="nl-heading nl-heading--level-4"> Een koptekst die in de koppenstructuur op het tweede level staat en eruit ziet als het vierde level.</h2>
React
De React component is gepubliceerd in een npm package:
Gebruik jij één van de implementaties van deze component of heb je je eigen component gemaakt? In beide gevallen geldt: met onderstaande acceptatiecriteria kun je nagaan of jouw gebruik van deze component klopt met NL Design System.
Als je implementatie voldoet aan de acceptatiecriteria voor deze component, kun je er vanuit gaan dat je gebruik van deze component voldoet aan WCAG, niveau A en AA, en voor 2.5.5 Grootte van het aanwijsgebied uitgebreid) AAA.
De koptekst maakt duidelijk waar de sectie over gaat
Zorg ervoor dat je een heading op de juiste manier nest als je hem wilt gebruiken in combinatie een ander element, zoals een button of een link. Denk erom dat de elementen dan correct worden genest in de HTML. Check je code daarom met een HTML-validator of HTML-linter.
Een voorbeeld is een button met een heading erin:
codevoorbeeld
<h2><button>button in heading, wel toegestaan</button></h2>
codevoorbeeld
<!-- dit niet doen --><button><h2>heading in button, niet toegestaan</h2></button>
De contrastverhouding van de tekstkleur met de achtergrondkleur is hoog genoeg
De contrastverhouding van de tekstkleur met de achtergrondkleur is hoog genoeg. Minimale contrastverhoudingen:
4,5:1 contrast voor normale tekst.
3:1 contrast voor grotere letters (vanaf 24 pixels).
3:1 contrast voor vette letters (vet en groter of gelijk aan 19 pixels).
Hogere verhoudingen mogen natuurlijk altijd. Met de Contrast checker kun je controleren of je gekozen kleuren voldoen. Denk erom dat dit moet gelden voor alle achtergrondkleuren waarop de tekst geplaatst kan worden. Het kan dus zijn dat je meerdere checks moet doen.
Als je de tekst vergroot tot 200% (via browserzoom en via de browserinstellingen voor tekstgrootte) blijft de tekst in zijn geheel zichtbaar.
Zorg ervoor dat het element mee kan groeien met de tekst. Geef de breedte en de hoogte dus niet hard op in pixels.
Definieer in de CSS een wijze om lange woorden af te breken en te laten doorlopen op de volgende regel. Zodat er geen horizontale scrollbar ontstaat of tekst onleesbaar wordt.
Als je de tekstafstand vergroot blijft de tekst in zijn geheel zichtbaar. Dit gaat om regelhoogte, afstand tussen alinea's, letterafstand en ruimte tussen woorden.
Zorg ervoor dat het element mee kan groeien met de tekst. Geef de breedte en de hoogte dus niet hard op in pixels.
Definieer in de CSS een wijze om lange woorden af te breken en te laten doorlopen op de volgende regel. Zodat er geen horizontale scrollbar ontstaat of tekst onleesbaar wordt.
Je moet de afstand kunnen vergroten naar deze waardes:
Regelhoogte (regelafstand) naar ten minste 1,5 keer de lettergrootte;
Afstand tussen alinea's naar ten minste 2 keer de lettergrootte;
Letterafstand (spatiëren van letters) naar ten minste 0,12 keer de lettergrootte;
Spatiëren van woorden naar ten minste 0,16 keer de lettergrootte.
Dit is te testen met een bookmarklet of door in de inspector van de browser de volgende code toe te voegen aan de head van de pagina:
In HTML zijn de juiste elementen voor koppen h1 tot en met h6.
Voor screenreadergebruikers is een goede koppenstructuur een belangrijk navigatiemiddel. Gebruik daarom een heading-element van het juiste niveau met een tekst die de content van de sectie eronder beschrijft. Op die manier ontstaat een duidelijke inhoudsopgave wanneer een gebruiker met hulpsoftware een koppenlijst opvraagt.
Wil je tekst alleen maar vormgeven, bijvoorbeeld groter maken? Gebruik dan CSS in combinatie met bijvoorbeeld een span- of een p-element, geen heading-element.
Sla geen kopniveaus over, dus bijvoorbeeld een h3 na een h1. Screenreadergebruikers kunnen dan het idee krijgen dat ze informatie missen.
Let erop dat je per pagina 1 h1 gebruikt en dat deze aan het begin van de main-content staat. Door niet meer dan 1 h1 te gebruiken, kan een screenreadergebruiker makkelijk naar het begin van de unieke content springen.
Als een tekst in een andere taal is dan de taal van de pagina, dan heeft het element een lang-attribuut met de juiste taalcode.
Denk bijvoorbeeld aan buttons voor het veranderen van de taal van een pagina, bij meertalige websites. Of aan een citaat in het Engels, op een Nederlandstalige pagina.
Help component verbeteren
We vinden het belangrijk dat de component
Heading
goed te gebruiken is door iedereen. Help je mee?
Vul de GitHub Discussion aan met de eisen en wensen voor jouw project of organisatie.
Draag bij aan de voortang van
Heading
door te zorgen dat deze aan meer checkpoints van de
Definition of Done voldoet. Deze houden we bij in de projectborden bij de publieke GitHub Backlog.