Naar de inhoud
Zoeken

Breadcrumb Navigation

Community
Schets van de Breadcrumb Navigation component

Definition of Done

Help Wanted - 11 van 11

  • Afgevinkt.
    NaamNaam bepaald op basis van NL Design System naamgeving.
  • Afgevinkt.
    BeschrijvingDoel van component is in één zin beschreven.
  • Afgevinkt.
    AfbeeldingAfbeelding gemaakt om de component visueel duidelijk te maken.
  • Afgevinkt.
    Discussion URL
  • Afgevinkt.
    BacklogStaat in de publieke backlog van NL Design System.
  • Afgevinkt.
    BruikbaarBewijs verzameld dat de component algemeen bruikbaar is.
  • Afgevinkt.
    LinkLink beschikbaar naar component in Figma of Storybook met alle belangrijke states en varianten.
  • Afgevinkt.
    VariantenNaam en doel van benodigde varianten beschreven.
  • Afgevinkt.
    OnderzoekNut van component is onderbouwd door gebruikersonderzoek.
  • Afgevinkt.
    KernteamKernteam verwacht dat dit component tot Hall of Fame kan komen.
  • Afgevinkt.
    nldesignsystem.nlVindbaar op de NL Design System website.

Help Wanted projectbord op GitHub

Community - 15 van 15

  • Afgevinkt.
    Welk bord
  • Afgevinkt.
    GitHub (CSS)
  • Afgevinkt.
    Storybook (CSS)
  • Afgevinkt.
    Implementatie voldoet
  • Afgevinkt.
    Minimale design tokens
  • Afgevinkt.
    Prefix
  • Afgevinkt.
    Naamgeving design tokens
  • Afgevinkt.
    Licentie component
  • Afgevinkt.
    Licentie documentatie
  • Afgevinkt.
    Storybook thema's
  • Afgevinkt.
    Visuele regressietest
  • Afgevinkt.
    Figma URL
  • Afgevinkt.
    nldesignsystem.nl
  • Afgevinkt.
    Component assessment
  • Afgevinkt.
    Promotie

Community projectbord op GitHub

Candidate - 0 van 15

  • Niet afgevinkt.
    🔍 Huisstijl input
  • Niet afgevinkt.
    🔍 Productie input
  • Niet afgevinkt.
    🔍 WCAG input
  • Niet afgevinkt.
    📝 Issues bekend
  • Niet afgevinkt.
    📝 Varianten bepaald
  • Niet afgevinkt.
    📝 Acceptatiecriteria a11y
  • Niet afgevinkt.
    📝 Keywords en Aliassen bepaald
  • Niet afgevinkt.
    📝 Anatomie bepaald
  • Niet afgevinkt.
    📝 HTML bepaald
  • Niet afgevinkt.
    📝 API bepaald
  • Niet afgevinkt.
    📝 Design tokens bepaald
  • Niet afgevinkt.
    📝 Stories en specs vastgelegd
  • Niet afgevinkt.
    📝 Testcases voor gebruik
  • Niet afgevinkt.
    🛠️ React component
  • Niet afgevinkt.
    🛠️ CSS component
  • Niet afgevinkt.
    🛠️ Figma component
  • Niet afgevinkt.
    🛠️ Voorbeeld thema
  • Niet afgevinkt.
    🛠️ Documentatie
  • Niet afgevinkt.
    🧪 Design Tokens getest
  • Niet afgevinkt.
    🧪 A11y getest
  • Niet afgevinkt.
    🧪 Test coverage getest
  • Niet afgevinkt.
    🧪 Testcases getest
  • Niet afgevinkt.
    🧪 Documentatie getest
  • Niet afgevinkt.
    🚀 NPM
  • Niet afgevinkt.
    🚀 Figma - Start Bibliotheek
  • Niet afgevinkt.
    🚀 Figma - Voorbeeld Bibliotheek
  • Niet afgevinkt.
    🚀 Themes repository
  • Niet afgevinkt.
    🚀 nldesignsystem.nl

Candidate projectbord op GitHub

Community implementaties

Acceptatiecriteria

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.

Toegankelijkheid algemeen

  • De linkteksten van de links in het broodkruimelpad zijn voor iedereen duidelijk

    WCAG 2.4.4: Linkdoel (in context)

    De linktekst vertelt eenduidig aan de gebruiker waar de link naar toe gaat (het linkdoel).

    Wat is een linktekst? Het is de tekst die zichtbaar is, maar ook de tekst die aan een gebruiker van hulpsoftware wordt voorgelezen.

    Wat is het linkdoel? De locatie waar de link naartoe gaat. Bijvoorbeeld de contactpagina, een nieuwsbericht, een andere website of een download van een document.

    Wat betekent In context? Het doel van de link kan ook door omringende content worden aangegeven. Dit moet dan wel ook voor gebruikers van hulpmiddelen duidelijk zijn, bijvoorbeeld door aanvullende tekst of een afbeelding naast de link. Dit laatste is onderwerp van veel discussie. Het beste is om altijd goed in de linktekst zelf te vertellen want het doel is.

  • De bezoeker kan het activeren van links in het broodkruimelpad annuleren

    WCAG 2.5.2: Aanwijzerannulering

    Zorg ervoor dat als de gebruiker links in het broodkruimelpad aanraakt met een enkele aanwijzer, zoals een muis of vinger, er de mogelijkheid is om de actie te voorkomen of ongedaan te maken.

    Dit voorkomt het per ongeluk aanraken en openen van content, wanneer het niet de bedoeling was.

    Met een HTML link (a element met een href attribuut) gaat dit automatisch goed. Bij een div element met role="link" moet dit nog worden aangepast. Gebruik voor dit laatste bij voorkeur het click event, omdat dit apparaatonafhankelijk is.

  • De visuele naam van de links in het broodkruimelpad komen voor in de toegankelijke naam van de links in het broodkruimelpad

    WCAG 2.5.3: Label in Naam

    De zichtbare naam van een onderdeel moet terugkomen in de toegankelijke naam.

  • Het aanwijsgebied van de links in het broodkruimelpad is groot genoeg

    WCAG 2.5.8: Grootte van het aanwijsgebied (minimum)

    Zorg ervoor dat de aanklikbare elementen op een pagina groot genoeg zijn om makkelijk aan te klikken met een muis of vinger.

    Hierbij geldt dat het aan te klikken gebied ten minste 24 bij 24 pixels groot is, behalve als het aanklikbare element en de ruimte om het element samen tenminste 24 pixels groot zijn.

    Hou als dat mogelijk is een groter aanwijsgebied van 44 bij 44 pixels aan, om ook te voldoen succescriterium 2.5.5 Grootte van het aanwijsgebied (uitgebreid)

    NL Design System richtlijnen:

  • Als het broodkruimelpad tekst in een andere taal dan de hoofdtaal van de pagina bevat, wordt hier een taalwissel voor aangegeven

    WCAG 3.1.2: Taal van onderdelen

    Geef wisseling van de taal aan waarin de tekst van elke passage of zin is geschreven. Als er in de tekst woorden of zinnen voorkomen in een andere taal dan die van de webpagina, brengt markering van die taal hulpmiddelen op de hoogte. Dit kan door in het HTML-element waarbinnen deze tekst staat het attribuut lang mee te geven.

    Dan wordt tekst in die andere taal correct uitgesproken en daardoor beter te begrijpen voor gebruikers die de website laten voorlezen, bijvoorbeeld door screenreaders.

    Er is een uitzondering voor eigennamen, technische termen, woorden in een onbekende taal, en woorden of zinsdelen die deel uitmaken van het jargon van de omliggende tekst.

    Met het lang-attribuut breng je over welke taal (een deel van) je tekst heeft. Dan kunnen hulptechnologieën als screenreaders of vertaalsoftware daarop handelen. In het geval van screenreaders bijvoorbeeld door de tekst met de juiste stem voor te lezen.

    Of de juiste stem ook echt wordt gebruikt is afhankelijk van de instellingen van de gebruikte screenreader.

  • Het gedrag van het broodkruimelpad is voorspelbaar

    WCAG 3.2.1: Bij focus

    Verras een gebruiker niet als die een interactief element focus geeft. Maak functionaliteit voorspelbaar en daardoor goed te begrijpen.

    Als een gebruiker een component focus geeft met het toetsenbord of door erop te klikken met de muis, zorg dan dat die actie niet automatisch een contextwijziging veroorzaakt.

    Bij een contextwijziging verandert onverwacht de indeling, informatie, toetsenbordfocus of functionaliteit. Bijvoorbeeld door het direct versturen van een formulier na het kiezen van een select-optie, waarna de gebruiker naar een andere pagina wordt doorgestuurd.

  • Als het broodkruimelpad op meerdere pagina's voorkomt, staat het overal op dezelfde plek en de links in het broodkruimelpad staan in dezelfde volgorde

    WCAG 3.2.3: Consistente navigatie

    Als je het broodkruimelpad op meerdere pagina’s toevoegt, zijn er een aantal dingen om rekening mee te houden:

    • Het broodkruimelpad moet op alle pagina’s in dezelfde relatieve volgorde op de pagina voorkomen. Bijvoorbeeld: Het broodkruimelpad staat altijd onder de header en boven de eerste kop op de pagina.
    • De links in het broodkruimelpad staan op alle pagina’s in dezelfde relatieve volgorde. Bijvoorbeeld: Als de link naar de homepage in het broodkruimelpad staat, is dit op iedere pagina waar dit zo is de eerste link in het broodkruimelpad.

    NL Design System richtlijnen:

Toegankelijkheid visueel ontwerp

Toegankelijkheid zoom en herschalen

  • Als je de tekst vergroot tot 200% blijft deze in zijn geheel zichtbaar

    WCAG 1.4.4: Herschalen van tekst

    De gebruiker moet tekst twee keer (200%) kunnen vergroten. Het gaat hierbij alleen om het vergroten van tekst en niet om bijvoorbeeld afbeeldingen of de layout. Alle functies moeten werken en zichtbaar zijn. Alle tekst moet leesbaar zijn. Er mag geen inhoud buiten beeld vallen, verborgen zijn of maar gedeeltelijk zichtbaar zijn.

    Definieer in de CSS een wijze om lange woorden af te breken en te laten doorlopen op de volgende regel. Gebruik hiervoor bijvoorbeeld overflow-wrap: break-word; hyphens: auto; eventueel in combinatie met text-wrap-style: balance. Zo ontstaat er geen horizontale scrollbar en wordt tekst niet onleesbaar. Doe dit bij voorkeur op :root niveau.

    Een broodkruimelpad mag van vorm veranderen bij het vergroten of aanpassen van tekst, of bij inzoomen, als het broodkruimelpad door het doorlopen op een volgende of meerdere regels teveel ruimte in beslag neemt.

    NL Design System richtlijnen:

  • Bij inzoomen gaat er geen informatie of functionaliteit verloren

    WCAG 1.4.10: Reflow

    De gebruiker moet de webpagina bij een schermgrootte van 1280 bij 124 pixels tot 400% kunnen vergroten in de browser. Het gaat hierbij om alle elementen van een webpagina.

    Alle functies moeten werken en zichtbaar zijn. Alle tekst moet leesbaar zijn.

    Er mag geen inhoud buiten beeld vallen, onbereikbaar of verborgen zijn of gedeeltelijk verborgen worden door andere inhoud wanneer de gebruiker 400% inzoomt of op een buitengewoon klein scherm werkt (320 bij 256 CSS).

    Definieer in de CSS een wijze om lange woorden af te breken en te laten doorlopen op de volgende regel. Gebruik hiervoor bijvoorbeeld overflow-wrap: break-word; hyphens: auto; eventueel in combinatie met text-wrap-style: balance. Zo ontstaat er geen horizontale scrollbar en wordt tekst niet onleesbaar. Doe dit bij voorkeur op :root niveau.

    Een broodkruimelpad mag van vorm veranderen bij het vergroten of aanpassen van tekst, of bij inzoomen, als het broodkruimelpad door het doorlopen op een volgende of meerdere regels teveel ruimte in beslag neemt.

  • Als je de tekstafstand vergroot blijft de tekst in zijn geheel zichtbaar

    WCAG 1.4.12: Tekstafstand

    Tekst kan op een aantal manieren aangepast worden, door mensen voor wie dat prettig is.

    Alle tekst moet leesbaar blijven. Er mag geen inhoud buiten beeld vallen, onbereikbaar of verborgen zijn of maar gedeeltelijk zichtbaar zijn.

    Definieer in de CSS een wijze om lange woorden af te breken en te laten doorlopen op de volgende regel. Gebruik hiervoor bijvoorbeeld overflow-wrap: break-word; hyphens: auto; eventueel in combinatie met text-wrap-style: balance. Zo ontstaat er geen horizontale scrollbar en wordt tekst niet onleesbaar. Doe dit bij voorkeur op :root niveau.

    Een broodkruimelpad mag van vorm veranderen bij het vergroten of aanpassen van tekst, of bij inzoomen, als het broodkruimelpad door het doorlopen op een volgende of meerdere regels teveel ruimte in beslag neemt.

    Het gaat om:

    • De ruimte tussen tekstregels kan relatief groot ingesteld worden, zodat de ruimte tussen tekstregels anderhalf keer groter is dan de hoogte van een tekstregel zelf.
    • De ruimte tussen alinea’s kan ingesteld worden op minimaal de twee keer de hoogte van een tekstregel.
    • De ruimte tussen letters kan 12% groter worden ingesteld dan normaal.
    • De ruimte tussen woorden kan 16% groter worden ingesteld dan normaal.

    Gebruikers kunnen dit instellen vanuit hun browser. Het is niet nodig om hier buttons voor te maken in de website zelf.

Toegankelijkheid toetsenbord

Toegankelijkheid screenreader

  • Informatieve afbeeldingen hebben een alternatieve tekst en decoratieve tekens en iconen zijn verborgen

    WCAG 1.1.1: Niet-tekstuele content

    Als het broodkruimelpad een afbeelding bevat, bijvoorbeeld een huisje om de homepage aan te geven, heeft de afbeelding een alternatieve tekst. Als deze afbeelding een link bevat, beschrijft de alternatieve tekst ook het linkdoel.

    Als tussen de links in het broodkruimelpad tekens staan, zoals een schuine streep of een groter-dan-teken, zijn deze verborgen voor hulpsoftware. De relatie tussen de links wordt namelijk al op een andere manier duidelijk gemaakt aan bezoekers die gebruik maken van een screenreader, door de georderende lijst (ol) binnen het nav element.

    NL Design System richtlijnen:

  • Het is duidelijk dat het om een navigatiemenu gaat en de relatie tussen de links in het broodkruimelpad is voor iedereen duidelijk

    WCAG 1.3.1: Info en relaties

    De relatie tussen de links in het broodkruimelpad moet niet alleen visueel, maar ook voor bezoekers die gebruik maken van een screenreader duidelijk zijn.

    Het broodkruimelpad is herkenbaar als navigatiemenu door het nav element te gebruiken, of door role="navigation" te gebruiken. Gebruik bij voorkeur altijd HTML elementen, tenzij het echt niet anders kan.

    Het navigatiemenu heeft een toegankelijke naam om het te onderscheiden van andere navigatiemenu’s op de pagina. Bijvoorbeeld met aria-label, of door met aria-labelledby te verwijzen naar een visueel verborgen h2 element in het broodkruimelpad.

    De links in het broodkruimelpad staan binnen het nav element in een georderende lijst: het ol element. Dit geeft de hiërarchie in de links aan. Iedere link is afzonderlijk opgemaakt met een li element en staat genest binnen het ol element.

    De huidige pagina in het broodkruimelpad hoeft niet als link opgemaakt te zijn, maar bevat wel het aria-current="page" attribuut.

    <nav aria-label="Broodkruimelpad">
      <ol>
        <li><a href="/">Home</a></li>
        <li><a href="/zelfregelen">Zelf regelen</a></li>
        <li><a aria-current="page" href="/zelfregelen/rijbewijsaanvragen">Rijbewijs aanvragen</a></li>
      </ol>
    </nav>
    
  • De leesvolgorde van tekst en links in het broodkruimelpad is voor iedereen logisch

    WCAG 1.3.2: Betekenisvolle volgorde

    Een bezoeker die een screenreader gebruikt, hoort de content van een pagina in de volgorde waarin die in de HTML staat. Die volgorde komt overeen met wat een ziende bezoeker op het scherm ziet. Zo begrijpt iedereen welke informatie bij welk onderdeel hoort, ongeacht hoe iemand de pagina gebruikt.

  • Als het broodkruimelpad tekst in een andere taal dan de hoofdtaal van de pagina bevat, wordt hier een taalwissel voor aangegeven

    WCAG 3.1.2: Taal van onderdelen

    Geef wisseling van de taal aan waarin de tekst van elke passage of zin is geschreven. Als er in de tekst woorden of zinnen voorkomen in een andere taal dan die van de webpagina, brengt markering van die taal hulpmiddelen op de hoogte. Dit kan door in het HTML-element waarbinnen deze tekst staat het attribuut lang mee te geven.

    Dan wordt tekst in die andere taal correct uitgesproken en daardoor beter te begrijpen voor gebruikers die de website laten voorlezen, bijvoorbeeld door screenreaders.

    Er is een uitzondering voor eigennamen, technische termen, woorden in een onbekende taal, en woorden of zinsdelen die deel uitmaken van het jargon van de omliggende tekst.

    Met het lang-attribuut breng je over welke taal (een deel van) je tekst heeft. Dan kunnen hulptechnologieën als screenreaders of vertaalsoftware daarop handelen. In het geval van screenreaders bijvoorbeeld door de tekst met de juiste stem voor te lezen.

    Of de juiste stem ook echt wordt gebruikt is afhankelijk van de instellingen van de gebruikte screenreader.

  • Het broodkruimelpad en de links in het broodkruimelpad hebben een toegankelijke naam, rol en status

    WCAG 4.1.2: Naam, rol, waarde

    Het broodkruimelpad staat in een nav element, of heeft role="navigation", met een toegankelijke naam (bijvoorbeeld ‘broodkruimelpad’). Gebruik bij voorkeur altijd HTML elementen, tenzij het echt niet anders kan.

    De links in het broodkruimelpad staan genest in een ol element en iedere link staat in een li element. Gebruik geen role="list', omdat de hiërarchie tussen de links dan verloren gaat.

    De links in het broodkruimelpad hebben de rol van link. Gebruik hiervoor bij voorkeur het a element (met een href attribuut). Het is mogelijk om met ARIA een role="link" toe te voegen aan een ander element dan een a, maar dit is niet aan te raden. Heb je het absoluut nodig, zorg er dan voor dat het gekozen element ook voldoet aan de verwachte toetsenbordinteractie, focusstijl, etc. Let erop dat je hiervoor JavaScript nodig hebt.

    De huidige (laatste) pagina in het broodkruimelpad geeft daarnaast ook met aria-current="page" aan dat het om de huidige pagina gaat.

Help om deze component te verbeteren

We vinden het belangrijk dat de component Breadcrumb Navigation goed te gebruiken is door iedereen. Help je mee?

Hoofdmenu