Tabbladen / Persona-switcher: Formaat, Regels en Voorbeelden
Gebruik tabbladen en persona-switchers om lezers door relevante inhoud te leiden, terwijl elk paneel in de DOM blijft, toegankelijk, indexeerbaar en extraheerbaar.
Een tabbladen-/persona-switcher biedt meerdere lezers verschillende paden door één afgebakend onderwerp, zonder ze naar aparte pagina’s te sturen. De labels identificeren het pad; door er een te selecteren wordt het bijbehorende paneel op dezelfde locatie getoond. Het element is alleen nuttig wanneer de panelen gelijkwaardig zijn en elk paneel aanwezig blijft in de initiële HTML van de pagina.
Kies je team
Zet de briefing om in een herbruikbaar concept
Begin met het vereiste antwoord, bewijs en de elementenset. Werk de redenering volledig uit voordat je componenten toepast en controleer vervolgens of elke bewering nog steeds logisch is wanneer deze uit de visuele weergave wordt gehaald.
Controleer vindbaarheid en extraheerbaarheid
Inspecteer de gerenderde HTML, interne links, koppen en gestructureerde velden. Bevestig dat inactieve paneelinhoud in het eerste antwoord arriveert in plaats van pas na client-side interactie te verschijnen.
Beoordeel het systeem, niet alleen de pagina
Keur de gemeenschappelijke belofte eenmalig goed en beoordeel vervolgens waar elk publiek daadwerkelijk ander bewijs, andere workflow of andere vervolgactie nodig heeft. Verwijder verschillen die alleen veranderingen in toon zijn.
De gerenderde weergave toont één actief paneel, maar de andere twee panelen zijn ook aanwezig in het document objectmodel (DOM)—de gestructureerde weergave van de pagina in de browser. Ze zijn verborgen met het native hidden-attribuut, niet opgevraagd na een klik. Een productierender voegt het hieronder beschreven toetsenbord- en aanwijsgedrag toe; het geschreven inhoudscontract blijft hetzelfde op alle platforms.
Waarom dit element belangrijk is
Lezers filteren een pagina op basis van hun rol, doel en verantwoordelijkheidsniveau. Een contentspecialist heeft mogelijk instructies voor het opstellen nodig, een SEO-specialist validatieregels en een teamleider governance. Een goed gelabelde persona-switcher vermindert de inspanning om algemeen advies te vertalen naar “wat betekent dit voor mij?” Het houdt ook het gedeelde uitgangspunt op één plek, waardoor drie bijna-identieke pagina’s die strijden om dezelfde intentie worden vermeden.
Het psychologische voordeel is herkenning boven interpretatie. Een lezer kan een label zoals “SEO-teams” sneller herkennen dan drie alinea’s te scannen om te bepalen welke van toepassing is. Tabbladen behouden ook de ruimtelijke context: het paneel wisselt op dezelfde plek, zodat de lezer gelijkwaardige paden kan vergelijken zonder herhaaldelijk langs de gedeelde inleiding te scrollen.
Dat gemak creëert een afweging op het gebied van machine-extraheerbaarheid. Machine-extraheerbaarheid is het vermogen van een crawler, zoekindex, ondersteunende technologie of retrievalsysteem om inhoud te isoleren met behoud van het onderwerp en de relaties. Zichtbare koppen en alinea’s verschijnen in een duidelijke leesvolgorde. Tabpanelen introduceren een interactietoestand: één is zichtbaar, meerdere niet, en software moet elk tablabel aan het juiste paneel koppelen. Een zwakke implementatie laat alleen het actieve paneel in de HTML staan, laadt andere panelen pas na een klik, of herhaalt generieke koppen zoals “Voordelen” zonder de personanaam. In elk geval ontvangt een machine minder context dan de lezer ziet.
Zelfs een correcte implementatie kan de extraheerbaarheid verminderen in vergelijking met gewone secties. Sommige systemen geven prioriteit aan initieel zichtbare tekst, maken interactieve relaties plat of sluiten verborgen inhoud uit van fragmenten. Tabbladen zijn daarom een informatie-routeringsinstrument, geen manier om essentiële antwoorden te verbergen. Plaats het gedeelde antwoord, de definitie, waarschuwing, geschiktheidsvoorwaarde en conclusie buiten de tabset. Gebruik panelen voor publieksspecifieke toepassingen, voorbeelden, workflows of bewijs dat nuttig blijft nadat het gemeenschappelijke antwoord bekend is.
Pas de element-schrijfregels toe: schrijf eerst de volledige uitleg uit en classificeer vervolgens een echte set gelijkwaardige lezerpaden als dit getypeerde element. De regels op deze pagina hebben voorrang voor paneelmapping, interactie en inhoudslimieten.
Wanneer te gebruiken
Gebruik een tabbladen-/persona-switcher wanneer aan al deze voorwaarden is voldaan:
- Twee tot vijf herkenbare doelgroepen, contexten of modi hebben verschillende toepassingen van hetzelfde onderwerp nodig.
- Elk paneel beantwoordt dezelfde vraag met vergelijkbare diepgang.
- De meeste lezers hebben één paneel tegelijk nodig, terwijl een minderheid er twee of meer wil vergelijken.
- Het gemeenschappelijke antwoord kan buiten het element worden gegeven zonder dat een lezer elk tabblad hoeft te openen.
- De paden op één pagina houden is duidelijker dan het onderhouden van aparte pagina’s met grotendeels gedupliceerde inleidingen.
Sterke toepassingen zijn onder meer implementatiebegeleiding voor “Ontwikkelaars / Redacteuren / Beoordelaars”, onboarding-paden voor “Zelfstandig / Team / Agency” en één mogelijkheid uitgelegd via “Plannen / Produceren / Meten”. Persona-labels moeten betekenisvolle verschillen in workflow, bewijs, machtigingen of gewenst resultaat weerspiegelen—geen demografische gissingen.
Bijna-goede gevallen komen vaak voort uit pogingen om een pagina in te korten. Zet geen opeenvolgende stappen in tabbladen; het verbergen van stap twee totdat een lezer deze selecteert, vernietigt de volgorde van de procedure. Maak geen tabbladen van een korte lijst met definities, omdat gewone koppen dezelfde informatie met minder interactie tonen. Gebruik geen tabbladen voor een gedetailleerde functievergelijking: een vergelijkingstabel houdt criteria gelijktijdig zichtbaar. Gebruik geen tabbladen als navigatie tussen niet-gerelateerde onderwerpen en splits informatie niet alleen omdat de pagina lang aanvoelt.
Een accordion is beter geschikt wanneer de secties onafhankelijke vragen zijn in een verticale leesstroom of wanneer meerdere antwoorden open moeten blijven. Aparte pagina’s zijn beter wanneer elke doelgroep een andere zoekintentie, titel, bewijsset, conversiepad of meer dan ongeveer 300 woorden aan unieke inhoud nodig heeft. Als een lezer alle panelen nodig heeft om veilig of correct te handelen, zijn tabbladen het verkeerde component.
Waar te plaatsen
Plaats de switcher na het gedeelde antwoord en de paragraaf die uitlegt waarom paden verschillen. De lezer moet het gemeenschappelijke onderwerp begrijpen voordat hij een label kiest. Op een product- of oplossingenpagina betekent dat meestal na de kernwaardepropositie en de gedeelde mogelijkheidsuitleg, maar vóór gedetailleerd bewijs en de primaire afsluitende actie. In documentatie plaats je het direct vóór de rolspecifieke instructies die het beheert.
Plaats een tabset niet vóór het directe antwoord, de definitie of de verplichte waarschuwing van de pagina. Plaats het niet tussen een bewering en de bron ervan, tussen een vereiste en de procedure die erdoor wordt beheerst, of tussen een prijs en de kwalificaties ervan. Die relaties moeten blijven bestaan, zelfs wanneer geen paneel is geselecteerd. Een tabset mag niet naast een andere tabset, accordion, groot vergelijkingsraster of carrousel staan; aangrenzende interactiemodellen creëren concurrerende bedieningselementen en een onduidelijke leesvolgorde.
Vermijd geneste tabbladen. De buitenste keuze verbergt de binnenste keuze, creëert moeilijk toetsenbordgedrag en maakt dieplinken dubbelzinnig. Plaats ook geen persona-switcher direct boven een andere doelgroepselector in een formulier of CTA. Als beide bedieningselementen vergelijkbare labels gebruiken, weten lezers mogelijk niet of ze zichtbare inhoud wijzigen of een voorkeur indienen.
Anatomie
De anatomie heeft één gelabelde container, één geordende tablijst en één paneel voor elk tabblad. De schermafbeelding moet zowel inactieve panelen in de DOM-inspecteur als de zichtbare toestand tonen, omdat aanwezigheid in de bron onderdeel is van het element, geen implementatiedetail.
- Gedeelde titel: Geeft de gemeenschappelijke vraag of taak aan die elk paneel behandelt.
- Tabbladlijst: Groepeert twee tot vijf gelijkwaardige labels in een stabiele, vastgestelde volgorde.
- Tabbladlabel: Benoemt een doelgroep, context of modus in taal die lezers herkennen.
- Geselecteerde toestand: Communiceert het actieve tabblad door tekstsemantiek en een visuele behandeling, niet alleen door kleur.
- Paneel: Bevat een op zichzelf staande kop en de inhoud voor één label.
- Programmatische relatie:
aria-controlsop het tabblad enaria-labelledbyop het paneel verbinden elk paar. - Terugvalvolgorde: Houdt de gedeelde titel, labels en alle paneelinhoud betekenisvol wanneer scripts of opmaak niet worden uitgevoerd.
Afstand, rand, indicatorvorm, animatie en breekpunt behoren tot de renderer. Auteurs bepalen labels, bronvolgorde, paneelinhoud en een optionele stabiele fragmentidentificatie.
Ontwerpvoorbeelden
Het component ondersteunt vier varianten. Elke variant gebruikt hetzelfde inhoudsmodel en dezelfde DOM-vereiste.
Persona-tabbladen: Gebruik rollabels wanneer workflows, bewijs of vervolgacties echt verschillen per lezer. Geef de voorkeur aan gevestigde klantentaal zoals “Interne teams” boven verzonnen persona’s zoals “Groei-goeroes.”
Contexttabbladen: Gebruik niet-persona-toestanden zoals teamgrootte, bedrijfsmodel of implementatiemodus. De gedeelde titel moet de veranderende dimensie benoemen, zodat de labels niet worden aangezien voor paginanavigatie.
Verticale tabbladen: Gebruik alleen wanneer labels meer horizontale ruimte nodig hebben en er niet meer dan vijf zijn. DOM- en toetsenbordvolgorde blijven tab één tot en met tab vijf, gevolgd door de bijbehorende panelen volgens de gekozen toegankelijke implementatie.
Small-scherm- en terugvaltoestand: Labels kunnen horizontaal scrollen wanneer een zichtbare aanwijzing overloop duidelijk maakt, of de renderer kan panelen tonen als gestapelde gelabelde secties. Het mag labels niet afkappen tot dubbelzinnige fragmenten of inactieve inhoud uit de HTML verwijderen.
Parameters
Het inhoudscontract houdt de relatie expliciet terwijl visueel en responsief gedrag aan de renderer wordt overgelaten.
| Naam | Type | Vereist | Min/max | Standaard | Bron |
|---|---|---|---|---|---|
title | Platte tekenreeks | Ja | 3–10 woorden; maximaal 80 tekens | Geen | Eerste kop in de bovenliggende body |
items | Geordende verzameling | Ja | 2–5 items; 3–4 aanbevolen | Geen | Geneste item-bodies |
item.label | Platte tekenreeks | Ja | 1–4 woorden; maximaal 28 tekens | Geen | label-itemattribuut |
item.title | Platte tekenreeks | Ja | 3–10 woorden; maximaal 80 tekens | Geen | Eerste kop in elke itembody |
item.content | Beperkte Markdown | Ja | 40–180 woorden aanbevolen; maximaal 300 | Geen | Itembody na de eerste kop |
item.id | Slug-token | Nee | 3–40 kleine letters, cijfers en koppeltekens | Gegenereerd uit item.label | id-itemattribuut |
variant | Enum | Nee | horizontal of vertical | horizontal | Bovenliggend attribuut |
default | Item-ID | Nee | Moet overeenkomen met één item-ID | Eerste item | Bovenliggend attribuut |
Labels zijn attributen omdat ze het besturingselement bedienen; paneltitels komen uit de eerste kop omdat ze bij de inhoud horen. De twee kunnen vergelijkbaar zijn, maar een beknopt tablabel kan verwijzen naar een uitgebreidere, extraheerbare paneelkop. Paneelbodies staan alinea’s toe, een korte lijst, inline code, één afbeelding en één contextuele actie. Ze staan geen andere tabset, accordion, gegevenstabel, formulier, videospeler of meerstappenprocedure toe.
Syntax en codevoorbeelden
Alle drie notaties behouden één titel, geordende labels, paneelkoppen, paneelbodies, stabiele ID’s en de initiële standaard. De draagbare Markdown-richtlijn is de canonieke auteursvorm.
Draagbare Markdown-richtlijn
:::tabs-persona-switcher{default=content-teams variant=horizontal}
## Kies je team
::item{label="Contentteams" id=content-teams}
### Zet de briefing om in een herbruikbaar concept
Begin met het vereiste antwoord, bewijs en de elementenset. Werk de redenering volledig uit voordat je componenten toepast.
::
::item{label="SEO-teams" id=seo-teams}
### Controleer vindbaarheid en extraheerbaarheid
Inspecteer de gerenderde HTML, interne links, koppen en gestructureerde velden. Bevestig dat elk paneel in het eerste antwoord arriveert.
::
::item{label="Teamleiders" id=team-leiders}
### Beoordeel het systeem, niet alleen de pagina
Keer de gedeelde belofte eenmalig goed, en beoordeel vervolgens waar elk publiek daadwerkelijk een andere workflow, bewijspunt of vervolgactie nodig heeft.
:::
:::
De eerste kop van de bovenliggende body wordt toegewezen aan title. Elk genest item neemt label en id van attributen, wijst de eerste kop toe aan item.title en de rest aan item.content.
Hugo shortcode
{{< tabs-persona-switcher title="Kies je team" default="content-teams" variant="horizontal" >}}
{{< tab-item label="Contentteams" id="content-teams" title="Zet de briefing om in een herbruikbaar concept" >}}
Begin met het vereiste antwoord, bewijs en de elementenset. Werk de redenering volledig uit voordat je componenten toepast.
{{< /tab-item >}}
{{< tab-item label="SEO-teams" id="seo-teams" title="Controleer vindbaarheid en extraheerbaarheid" >}}
Inspecteer de gerenderde HTML, interne links, koppen en gestructureerde velden. Bevestig dat elk paneel in het eerste antwoord arriveert.
{{< /tab-item >}}
{{< tab-item label="Teamleiders" id="team-leaders" title="Beoordeel het systeem, niet alleen de pagina" >}}
Keer de gedeelde belofte eenmalig goed, en beoordeel vervolgens waar elk publiek daadwerkelijk een andere workflow, bewijspunt of vervolgactie nodig heeft.
{{< /tab-item >}}
{{< /tabs-persona-switcher >}}
De adapter gebruikt alleen benoemde parameters. Het moet alle itembodies tijdens het serverantwoord renderen, dubbele ID’s afwijzen en interactie initialiseren zonder het inhoudsmodel te herschrijven.
WordPress-blok
<!-- wp:amicited/tabs-persona-switcher {"title":"Kies je team","default":"content-teams","variant":"horizontal"} -->
<!-- wp:amicited/tab-item {"label":"Contentteams","id":"content-teams","title":"Zet de briefing om in een herbruikbaar concept"} -->
<p>Begin met het vereiste antwoord, bewijs en de elementenset. Werk de redenering volledig uit voordat je componenten toepast.</p>
<!-- /wp:amicited/tab-item -->
<!-- wp:amicited/tab-item {"label":"SEO-teams","id":"seo-teams","title":"Controleer vindbaarheid en extraheerbaarheid"} -->
<p>Inspecteer de gerenderde HTML, interne links, koppen en gestructureerde velden. Bevestig dat elk paneel in het eerste antwoord arriveert.</p>
<!-- /wp:amicited/tab-item -->
<!-- wp:amicited/tab-item {"label":"Teamleiders","id":"team-leaders","title":"Beoordeel het systeem, niet alleen de pagina"} -->
<p>Keer de gedeelde belofte eenmalig goed, en beoordeel vervolgens waar elk publiek daadwerkelijk een andere workflow, bewijspunt of vervolgactie nodig heeft.</p>
<!-- /wp:amicited/tab-item -->
<!-- /wp:amicited/tabs-persona-switcher -->
WordPress moet inner-blokken beperken tot geregistreerde tabitems. Preview, opgeslagen opmaak en front-end rendering moeten elk paneel behouden; editor-gemak mag inactieve items niet omzetten in client-gefetchde inhoud.
Voorbeelden
Goed voorbeeld
Kies een implementatiepad
Gehost platform — Start zonder infrastructuur te onderhouden
Verbind de goedgekeurde gegevensbron, configureer rollen en valideer de uitvoer in een staging-werkruimte. De leverancier onderhoudt runtime-updates en monitoring; jouw team is verantwoordelijk voor goedkeuring van inhoud en toegangsbeoordeling.
Zelf gehost — Beheer implementatie en gegevensgrenzen
Implementeer het ondersteunde pakket in jouw omgeving, verbind dezelfde goedgekeurde gegevensbron en wijs een eigenaar aan voor upgrades, monitoring, back-ups en toegangsbeoordeling.
Dit werkt omdat beide panelen dezelfde implementatievraag beantwoorden, het operationele verschil benoemen en vergelijkbare verantwoordelijkheden bevatten. “Gehost platform” en “Zelf gehost” zijn herkenbare labels. De gedeelde beslissing blijft duidelijk als beide panelen worden platgemaakt in bronvolgorde.
Slecht voorbeeld
Ontdek alles
Overzicht: Ons platform maakt moderne teams effectiever.
Prijzen: Neem contact op met sales voor een gepersonaliseerde offerte en belangrijke contractvoorwaarden.
Beveiliging: Lees onze beveiligingsdocumentatie.
Carrières: Kom bij ons groeiende team.
Dit is websitenavigatie vermomd als tabbladen. De panelen beantwoorden niet één gedeelde vraag, de labels mengen koperinformatie met bedrijfsinhoud en belangrijke prijsvoorwaarden worden verborgen achter een interactie. Vervang de set door gewone paginasecties en echte navigatie. Als prijsopties gelijktijdige evaluatie nodig hebben, gebruik dan een prijs- of vergelijkingsstructuur in plaats van tabbladen.
Schema-opmaak en toegankelijkheid
Tabbladen en persona-switchers creëren geen specifiek Schema.org-type. Hun inhoud blijft onderdeel van de omhullende Article, TechArticle, Product of WebPage wanneer die pagina onafhankelijk kwalificeert. Markeer tabbladen niet als ItemList alleen omdat ze worden herhaald, en genereer geen meerdere Person-entiteiten op basis van persona-labels. Een label zoals “Agency” beschrijft een lezerpad, geen feitelijke entiteitsassertie.
Gebruik het WAI-ARIA tabbladenpatroon alleen wanneer de interface zich ook echt als tabbladen gedraagt. De container heeft role="tablist"; elk besturingselement heeft role="tab", een unieke ID, aria-controls en een accurate aria-selected-waarde; elk paneel heeft role="tabpanel" en aria-labelledby. Gebruik knoppen voor besturingselementen, geen links met nepbestemmingen. Het geselecteerde tabblad hoort in de tabvolgorde van de pagina; inactieve tabbladen gebruiken roving tabindex="-1" en blijven bereikbaar met pijltjestoetsen. Home en End gaan naar het eerste en laatste tabblad. Activering mag focus alleen volgen wanneer het wisselen van paneel direct is; anders activeert Enter of Spatie het gefocuste tabblad.
Focus moet voorspelbaar blijven. Het selecteren van een tabblad verplaatst de focus niet automatisch naar het paneel. Een paneel kan tabindex="0" gebruiken wanneer de eerste inhoud niet anderszins focusbaar is, zodat toetsenbordgebruikers erin kunnen navigeren. Een zichtbare focusindicator en geselecteerde indicator moeten verschillen en geen van beide mag alleen op kleur vertrouwen.
Alle panelen moeten worden gerenderd in de initiële HTML-respons. Het verbergen van inactieve panelen met hidden, CSS of een progressief verbeterd equivalent is acceptabel; ze pas aanmaken na een klik is dat niet. Zonder JavaScript moet de terugval elk gelabeld paneel in bronvolgorde tonen of echte links naar server-gerenderde bestemmingen bieden. Stabiele fragmenten kunnen een paneel activeren, maar de canonieke pagina blijft één URL. Test zoom, smalle schermen, lange vertaalde labels, screenreader-relaties, toetsenbordvolgorde en scriptfouten.
Schrijfregels
Begin met de gedeelde vraag. Als elk voorgesteld paneel een andere vraag beantwoordt, gebruik dan geen tabbladen. Schrijf twee tot vijf items, met drie of vier als voorkeur. Houd labels bij één tot vier woorden en waar mogelijk 28 tekens. Gebruik parallelle grammatica: alle rollen (“Redacteuren / Beoordelaars”), alle modi (“Gehost / Zelf gehost”) of alle fasen (“Plannen / Produceren / Meten”). Combineer geen rol, werkwoord en marketingterm.
Geef elk paneel een kop van 3–10 woorden die zowel het relevante pad als de uitkomst benoemt wanneer het tablabel alleen niet voldoende is. Schrijf 40–180 woorden per paneel, met 300 als absoluut maximum. Panelen moeten vergelijkbare diepgang hebben, maar ze hebben geen identieke woordenaantallen nodig. Gebruik directe taal en concrete verschillen in taken, bewijs, machtigingen, beperkingen of acties. Alleen de voornaamwoorden wijzigen van “je” naar “jouw team” rechtvaardigt geen ander paneel.
Houd gemeenschappelijke informatie buiten het element. Dezelfde openingszin in elk paneel herhalen zorgt voor onderhoudsverschuiving en laat geëxtraheerde passages er gedupliceerd uitzien. Plaats verschillen binnen panelen en maak elk verschil expliciet genoeg om extractie te overleven. Geef de voorkeur aan “Agencyteams kunnen rollen op klantniveau toewijzen” boven “Je krijgt meer controle,” wat zijn onderwerp verliest wanneer het wordt gescheiden van het geselecteerde label.
Plaats nooit het volgende in een tabset:
- De enige definitie, het directe antwoord, de conclusie, veiligheidswaarschuwing, juridische kwalificatie, geschiktheidsregel of bronvermelding van de pagina.
- Opeenvolgende stappen die elke lezer moet voltooien, of vereisten die inhoud buiten één paneel beheren.
- Een andere tabset, accordion, carrousel, complexe gegevenstabel, formulier met meerdere velden of automatisch afspelende media.
- Meer dan één primaire call to action per paneel, of acties die leiden naar niet-gerelateerde trechterfasen.
- Inhoud die pas na interactie wordt geladen, zelfs wanneer de laadstatus snel is voor een menselijke gebruiker.
- Labels zoals “Overig,” “Meer,” “Algemeen” of “Bronnen” die een ongedefinieerde relatie verbergen.
Als elk paneel meer dan 300 woorden overschrijdt, een eigen bewijsset nodig heeft of een andere zoekintentie target, publiceer dan speciale secties of pagina’s. Als lezers meerdere criteria tegelijk moeten vergelijken, gebruik dan een tabel. Als de inhoud slechts optioneel detail is, gebruik dan proza of een accordion op basis van de relatie.
Posttypes die het gebruiken
Het postTypes-frontmatterveld is de bron voor deze tabel. Opname betekent dat het formaat tabbladen kan ondersteunen; het maakt ze niet verplicht.
| Posttype | Typisch gebruik | Aanbevolen positie | Veelvoorkomend misbruik |
|---|---|---|---|
| Ultieme gids | Rolspecifieke toepassing van één gedeeld raamwerk | Nadat het raamwerk in zichtbare proza is uitgelegd | Vereiste hoofdstukken verbergen om een lange gids korter te laten lijken |
| Documentatieartikel | Instructies die verschillen per rol, omgeving of ondersteunde modus | Na gedeelde vereisten en vóór padspecifieke acties | Opeenvolgende stappen in aparte panelen plaatsen |
| Productpagina | Resultaten of workflows voor verschillende gekwalificeerde doelgroepen | Na de gedeelde productbelofte en -mogelijkheid | Prijs, voorwaarden of beperkingen verbergen in een inactief paneel |
| Functiepagina | Eén mogelijkheid toegepast door verschillende teams of bedrijfsmodi | Na de gemeenschappelijke functie-uitleg | Identieke voordelen herhalen met verwisselde personanamen |
| Oplossingenpagina | Verschillende stakeholderverantwoordelijkheden binnen één oplossing | Na het probleem en de gedeelde aanpak | Niet-gerelateerde branches, functies en bronnen mengen in één besturingselement |
| Use-casepagina | Uitvoeringspaden voor doelgroepsegmenten die de use case delen | Na het gemeenschappelijke resultaat en vóór gedetailleerd bewijs | Tabbladen gebruiken wanneer elk publiek eigenlijk een speciale intentiepagina nodig heeft |
QA-checklist
- Eén gedeelde vraag: Elk paneel beantwoordt dezelfde afgebakende vraag voor een andere doelgroep, context of modus.
- Juist aantal: De set bevat twee tot vijf tabbladen, bij voorkeur drie of vier, met beknopte parallelle labels.
- Zichtbaar gemeenschappelijk antwoord: De definitie, kernantwoord, verplichte kwalificatie en conclusie blijven buiten de tabset.
- Initiële DOM-aanwezigheid: Elk paneel en de volledige geschreven inhoud ervan verschijnt in de initiële server-gerenderde HTML.
- Expliciete context: Elke paneelkop en openingszin blijven begrijpelijk wanneer geëxtraheerd zonder de visuele tabtoestand.
- Correcte relaties: Tab- en paneel-ID’s zijn uniek;
aria-controlsenaria-labelledbykoppelen ze correct. - Toetsenbordgedrag: Pijltjes, Home, End, Enter, Spatie, Tab en Shift+Tab-gedrag komt overeen met het gekozen activeringsmodel.
- Focushelderheid: Focus en selectie zijn zichtbaar verschillend en selectie verplaatst focus niet onverwacht.
- Stabiele terugval: Scriptfouten onthullen gelabelde inhoud of bruikbare server-gerenderde bestemmingen zonder informatieverlies.
- Responsief gedrag: Labels blijven compleet en vindbaar bij smalle breedtes, 200% zoom en met langere vertaalde tekst.
- Veilige plaatsing: Het component scheidt geen bewering van bewijs, waarschuwing van de reikwijdte ervan, of vereisten van instructies.
- Geen complexe nesting: Panelene bevatten afgebakend proza en eenvoudige ondersteunende inhoud, geen ander interactiesysteem.
- Schema-beperking: De renderer verzint geen lijst-, persoon- of doelgroepschema uit presentatielabels.
- Notatie-pariteit: Markdown, Hugo en WordPress behouden dezelfde volgorde, ID’s, standaard, labels, koppen en paneelbodies.
Een beoordelaar moet het component afwijzen wanneer inactieve inhoud een klik-geactiveerd netwerkverzoek vereist, wanneer essentiële informatie alleen in één paneel bestaat, of wanneer de labels geen gelijkwaardige paden beschrijven. Dat zijn inhouds- en architectuurfouten; visuele verfijning kan ze niet repareren.
FAQ
De gestructureerde FAQ-items in frontmatter behandelen indexering, fragment-URL’s, tabbladaantal, calls to action en het onderscheid tussen tabbladen en accordions. Ze bevinden zich bewust buiten het interactieve element, zodat elke lezer en renderer dezelfde implementatiebegeleiding ontvangt.
Meer tutorials in deze sectie
Klaar om het in de praktijk te brengen?
Gratis check · 7 dagen proefperiode · geen creditcard nodig