Modern Web Guidance-handleidingen

Gepubliceerd: 26 oktober 2026

Verken de gidsen die beschikbaar zijn in Modern Web Guidance, geordend per categorie.

Visueel ontwerp

Scrollbalk aanpassen aan voorkeuren voor hoog contrast
De zichtbaarheid van de scrollbalk verbeteren voor gebruikers die de voorkeur geven aan interfaces met een hoog contrast
WebGL-shaders toepassen op HTML-content
Pas aangepaste visuele effecten met WebGL-shaders toe op HTML-content.
Kleur
Kleurrichtlijnen voor het web, waaronder contrastvereisten, lichte en donkere kleurenschema's, de modus voor geforceerde kleuren en het genereren van tinten en schaduwen op basis van een basiskleur.
Complexe vormen
Knip elementen en hun content bij tot een vrije vorm, zoals een symbool, penseelstreek of organische textuur voor expressievere ontwerpen.
Aangepaste tekstopmaak
Voeg tekstversieringen toe, zoals onderstrepingen, bovenstrepingen, doorhalingen of volledig aangepaste vormen, met onthullingsanimaties, aangepaste offsets en eindinsets, en flexibele inktoverslag.
De kleur of dikte van een scrollbalk aanpassen
De kleur of dikte van een scrollbalk aanpassen
Donkere modus
Implementeer ondersteuning voor de donkere modus op een manier die de voorkeur van de gebruiker voor een licht/donker thema respecteert en de UI van de browser aanpast (bijv.scrollbalken, formulierbediening, enzovoort).
Interactieve HTML-content aanzetten in 3D-scènes
Integreer interactieve HTML-elementen in een 3D-scène.
Zorg dat tekst leesbaar is met dynamische achtergrondkleuren
Selecteer een leesbare tekstkleur met voldoende contrast op een dynamische achtergrondkleur.
Tekstregels met gelijke breedte
Zorg dat elke regel van een kop of lock-up met meerdere regels dezelfde breedte heeft, zoals bij typografie in posterstijl of met gestapelde koppen. In tegenstelling tot uitgevulde tekst wordt de tekst zelf aangepast aan de breedte in plaats van dat de afstand wordt uitgerekt
HTML-content exporteren vanuit Canvas
Dynamische HTML-content vastleggen en exporteren als afbeeldingen of videoframes vanuit het canvas.
Canvascontent beschikbaar maken voor browserfuncties
Content die in een canvas wordt weergegeven, beschikbaar maken voor browserfuncties zoals ondersteunende technologieën, vertaling of de leesmodus.
Tekstindeling en leesbaarheid verbeteren
Verbeter de vormgeving en leesbaarheid van korte, zelfstandige tekstcontent, zoals koppen van maximaal een paar regels, door de browser toe te staan gelijkmatig verdeelde regeleinden toe te passen bij het teruglopen van tekst.
Nauwkeurige tekstuitlijning
Zorg voor een nauwkeurige verticale uitlijning met tekst in elk lettertype. Bijvoorbeeld exact gelijke visuele opvulling boven en onder de tekst, of tekst die perfect is uitgelijnd met aangrenzende iconen of afbeeldingen.
Gevormde uitsneden
Combineer meerdere vormen om complexe uitsneden of 'knock-out'-effecten in elementen te maken, zoals een inkeping toevoegen aan een element.
Content vervagen met zachte rand
Pas een transparantieverloop toe op de randen van content om aan te geven dat er meer scrollbare gebieden zijn of om tekst achter een betaalmuur te verbergen.
Thema's toepassen op door de browser gegenereerde UI
Maak een thema voor door de browser gegenereerde UI, zoals tekstselectie, scrollbalken, formulierbedieningselementen en kiezers met CSS in plaats van deze opnieuw te maken met aangepaste elementen.
Typografie
Best practices voor typografie voor het web, waaronder eenheden voor lettergrootte, regelhoogte, tekstterugloop en -balancering, en vloeiende typografie die schaalt met de viewport.
Visuele effecten
Visuele effecten met CSS, zoals gelaagde schaduwen, overvloeimodi, verlopen met voorspelbare kleurinterpolatie en patronen zoals strepen, schaakborden, stippen en cirkeldiagrammen die alleen uit verlopen zijn opgebouwd.
Visueel stabiele lettertype-fallbacks
Definieer lettertypestijlen zodat de tekst leesbaar en visueel consistent blijft als er wordt gewisseld tussen het voorkeurslettertype en een van de alternatieven (of omgekeerd).
Visueel stabiele gemengde lettertypen
Definieer lettertypestijlen zo dat de tekst leesbaar en visueel consistent blijft in situaties waarin meerdere lettertypen worden gebruikt om één tekstblok weer te geven.
Visuele textuurcontent
Pas realistische verwerings- en textuurpatronen toe op elementen om ze een organische, verouderde of fysieke materiaaluitstraling te geven.

UI-atomen

Een voortgangsindicator voor scrollen maken
Maak een voortgangsbalk voor scrollen, een voortgangstracker met stappen of een visuele indicator die aangeeft hoe ver de gebruiker door een pagina of gedeelte heeft gescrolld.
Dia-effecten voor carrousel maken
Maak een carrousel van dia's met afbeeldingen of andere visuele elementen, waarbij elke dia wordt geanimeerd als deze de scroller binnenkomt, centreert of verlaat. De dia's kunnen bijvoorbeeld in- of uitfaden, draaien, groter of kleiner worden, enzovoort.
Componentspecifieke lichte/donkere thema's
Bepaalde elementen dwingen om in de lichte of donkere modus te staan (bijvoorbeeld codeblokken, mediaspelers, enzovoort), onafhankelijk van het kleurenschema van de pagina.
Positiebewuste tooltips
Maak tooltips en pop-overs met richtingspijlen (of andere visuele stijlen) die automatisch de juiste richting op wijzen als het element naar een reservepositie wordt gedraaid.
Trek omlaag om te tonen
Maak een functie waarmee de gebruiker omlaag kan swipen op het scherm om meer content te tonen, zoals een zoekbalk.
Responsieve tabellen
Maak een gegevenstabel die tabelgegevens presenteert met de juiste semantiek voor koppen en die leesbaar en navigeerbaar blijft op kleine schermen en met ondersteunende technologieën.
Elementen die rekening houden met de scrollpositie
Maak zwevende knoppen of widgets (terug naar boven, scrollen naar beneden, chatstarters, enzovoort) die verschijnen en verdwijnen op basis van of de gebruiker heeft gescrold.
Hints voor scrollbaarheid
Maak scrollschaduwoverlays, vervagende kleurverlopen of richtingspijlen die alleen verschijnen als er daadwerkelijk meer content is om naartoe te scrollen in die richting.
Kop verkleinen bij scrollen
Animeer een vaste kop of omslag op volledige pagina soepel tijdens het scrollen om deze dynamisch te verkleinen, schaduwen te geven en de indeling te transformeren over een vooraf gedefinieerde scrollafstand.
Statusbewuste vastgezette koppen
Maak vastgezette sectiekoppen of navigatiebalken die visueel veranderen als ze bovenaan zijn vastgezet, bijvoorbeeld door het kleurenschema te wijzigen of een schaduw te krijgen.
Iconen gebruiken en beheren
Toon en beheer iconen die kunnen worden ingesteld en geparametriseerd vanuit CSS, snel laden, scherp zijn bij elke resolutie en op de juiste manier worden getoond aan (of verborgen voor) ondersteunende technologieën.
Kijkvensterbewuste dropdownmenu's
Plaats dropdownmenu's, fly-outs of contextuele actievensters die aan een triggerknop zijn gekoppeld, zodat ze automatisch van as wisselen aan de randen van de viewport in plaats van te worden afgekapt.

UI-componenten

Een kaart maken
Maak een kaartcomponent die de presentatie aanpast aan de eigen beschikbare ruimte en content.
Een dropdownmenu maken
Maak een menucomponent die een lijst met opties of acties toont, met ondersteuning voor geneste submenu's.
Een Scrollspy-navigatie maken
Het momenteel zichtbare gedeelte van een pagina markeren in een navigatiemenu
Een gestileerde voortgangsbalk maken
Maak een gestileerde voortgangsbalk die de voltooiing van een taak of proces aangeeft, zowel in bepaalde als onbepaalde statussen.
Een interactieve hovercard maken
Maak een hovercard-component die een interactief gestructureerd voorbeeld toont van de pagina waarnaar een bepaald type link (bijvoorbeeld een gebruikersprofiel) navigeert als je de cursor erop plaatst.
Persistente app-rondleidingen maken
Maak permanente introductie-overzichten met gekoppelde native overlays die open blijven tijdens gebruikersinteractie.
Toastmeldingen maken
Maak niet-opdringerige toast- en overlaymeldingen voor permanente, stapelbare berichten en statuscommunicatie.
Schakelaars voor de donkere modus
Maak een schakelcomponent voor de donkere modus waarmee gebruikers hun voorkeur voor het kleurenschema van het systeem voor de huidige site kunnen overschrijven.
Dialog
Maak een modale of niet-modale dialoogvenstercomponent die toegankelijk is, de focus op de juiste manier beheert en kan worden gesloten op de manier die gebruikers verwachten op elk platform.
Laadspinner
Maak een laadspinner die de status Bezig doorgeeft aan alle gebruikers, rekening houdt met voorkeuren voor minder beweging en efficiënt animeert.
Zijmenu
Maak een zijmenu-component die, wanneer deze wordt geactiveerd via een menuknop, vanaf de zijkant naar binnen schuift over de bestaande paginacontent en weer naar buiten schuift wanneer deze wordt gesloten (door weg te swipen, buiten het menu te tikken of op Escape te drukken).
Voortgangsring
Maak een voortgangsringcomponent die de voltooiingsstatus van een taak of proces visueel weergeeft, met ondersteuning voor content in het midden en een merkconsistente stijl.
Details van stapel
Maak hiërarchische navigatie op volledig scherm waarmee gebruikers kunnen inzoomen op geneste weergaven en terug kunnen swipen of navigeren om terug te keren, terwijl de browsergeschiedenis gesynchroniseerd blijft.
Selectievakjes opmaken
Stijl selectievakjes, waaronder aangepaste iconen, lay-out, kleuren, animaties voor aanvinken/uitvinken, met behoud van de native functionaliteit en toegankelijkheid.

UI-gedrag

Voeg effecten voor binnenkomst en vertrek toe aan elementen wanneer ze de scrollport binnenkomen of verlaten.
Maak fade-in-, scale-up- of andere complexe onthullingseffecten voor elementen wanneer ze de scrollport (of viewport) binnenkomen en verlaten terwijl de gebruiker scrollt.
Onderstreping van tabblad voor ankerpositionering
Een element naadloos overzetten tussen 2 doelelementposities. Bijvoorbeeld een geselecteerde tabbladonderstreping verplaatsen tussen het eerder geselecteerde tabblad en het geselecteerde tabblad.
Elementen animeren bij openen en sluiten
Verberg/toon elementen soepel als ze worden toegevoegd aan/verwijderd uit de DOM of als hun weergavewaarden worden aan-/uitgezet.
Elementen animeren naar en van de bovenste laag
Animeren van elementen zoals dialoogvensters, pop-overs en tooltips wanneer ze de bovenste laag binnenkomen of verlaten.
Een sleepbaar element maken
Ondersteuning voor slepen om een zwevend element op de pagina te verplaatsen.
Een parallax-effect maken bij scrollen
Maak op scrollen gebaseerde effecten (zoals parallax) waarbij de voor- en achtergrondlagen met verschillende snelheden bewegen, waardoor een gevoel van diepte ontstaat terwijl de gebruiker scrollt.
Carrousel met Snap-hoogtepunten
Markeer visueel het momenteel vastgezette niet-interactieve item in carrousels, galerijen of swipe-ervaringen op volledige pagina's met scrolluitlijning. Bijvoorbeeld een kaart uitvouwen als deze is vastgezet of verborgen content onthullen.
Consistente overgangen tussen documenten
Zorg dat de kritieke paginastatus is geladen en stabiel is voordat je een weergaveovergang tussen documenten start. Dit betekent dat essentiële CSS-stijlen worden geladen en toegepast, essentiële JavaScript wordt geladen en uitgevoerd en de HTML die zichtbaar is voor de eerste weergave van de pagina door de gebruiker, is geparseerd voordat de overgang wordt uitgevoerd.
Een verspringende animatie maken
Spreid de timing van animaties of overgangen over onderliggende elementen, zodat elk element begint na een berekende vertraging op basis van de positie in de lijst met onderliggende elementen.
Overgangen tussen documenten
Maak soepele, naadloze overgangen tussen paginanavigaties, zoals crossfades, aangepaste onthullingseffecten of content die van de ene pagina naar de andere overgaat.
Aangepaste knopacties
Koppel een knop declaratief aan een element om aangepaste, toepassingsspecifieke acties te activeren met behulp van declaratieve knopopdrachten, aanroeperopdrachten, knopopdrachten, aangepaste opdrachten of declaratieve schakelacties.
Declaratieve dialoogvensters en pop-upbeheer
De zichtbaarheid van een dialoogvenster of popover aan- of uitzetten via een knop zonder JavaScript te schrijven.
Overgangen voor gerichte navigatie
Animeren van wijzigingen in de visuele status om de richting van de navigatiestroom van een gebruiker weer te geven, zoals nieuwe content die van rechts naar binnen schuift als de gebruiker vooruitgaat of van links als de gebruiker terugkeert naar een vorig scherm.
Overgangen van groepselementen
Laat een groep vergelijkbare elementen tegelijk overgaan met dezelfde overgangslogica, zoals een product uit een winkelwagen verwijderen en alle andere producten naar hun nieuwe posities laten bewegen.
Tekstbereiken markeren
Willekeurige tekstbereiken op een pagina markeren, zoals zoekresultaten, spelfouten of cursors voor samenwerking.
Interactieve content onthullen
Maak interactieve onthullingseffecten, zoals een spotlight die de muisaanwijzer van de gebruiker volgt om details in een afbeelding of UI-gedeelte te onthullen.
Voorbeelden van acties die worden getriggerd door interesse
Toon een live voorbeeld van het effect van een knop als een gebruiker interesse toont (bijvoorbeeld door de cursor erop te plaatsen, de focus erop te leggen of de knop lang ingedrukt te houden), maar voordat de gebruiker op de knop klikt.
Een dialoogvenster sluiten door ernaast te klikken
Maak een modaal dialoogvenster dat kan worden gesloten via een lichte afwijzing (bijvoorbeeld door buiten het dialoogvenster te klikken of te tikken)
Beweging
Animeer de UI met CSS-overgangen, animaties, scrollgestuurde animaties en weergaveovergangen terwijl je de beweging in de samensteller behoudt en de voorkeuren voor minder beweging respecteert.
DOM-element verplaatsen zonder status te verliezen
Verplaats een DOM-element of wijs een nieuw bovenliggend element toe zonder de belangrijke elementstatus te verliezen, zoals interactiviteitsstatussen (:focus/:active), de laadstatus van <iframe>, de animatie-/overgangsstatus, enzovoort
Permanente UI voor bovenste laag
Houd een modaal dialoogvenster, een element op volledig scherm of een systeemeigen popover zichtbaar open en functioneel actief wanneer de onderliggende DOM-node wordt verplaatst of opnieuw wordt bovenliggend in de DOM.
Op natuurkunde gebaseerde easing
Maak aangepaste, op fysica gebaseerde animatie- en overgangseffecten, zoals stuiteren en springen, die natuurlijker en aantrekkelijker aanvoelen dan traditionele easing-curves.
Dialoogvenster Platformbediening sluiten
Maak een modaal dialoogvenster dat kan worden gesloten via standaard platformspecifieke gebruikersacties, zoals op de Esc-toets drukken op desktopplatforms of een gebaar voor Terug of Sluiten op mobiele platforms.
Voorkomen dat de pagina onder een modaal dialoogvenster scrollt
Voorkom dat de onderliggende pagina scrollt terwijl een modaal dialoogvenster is geopend.
Overgangen binnen hetzelfde document
Verbind blijvende elementen visueel tussen verschillende paginastatussen of navigaties in een app met één pagina (bijvoorbeeld door een productthumbnail uit te vouwen tot een hero-afbeelding die de hele pagina vult) door het formaat, de positie of andere stijleigenschappen soepel te veranderen.
Overgangen van componenten met bereik
Animate state changes inside a single component (a card, list, panel, or other subtree) while the rest of the page remains interactive, and other transitions run concurrently.
Realtime feedback over scrolluitlijning
Realtime visuele feedback geven in gekoppelde UI-elementen terwijl een gebruiker door content scrollt die is uitgelijnd met uitlijnen, voordat het scrollgebaar is afgerond.
Scroll Snap State Sync
Synchroniseer navigatie-indicatoren, gekoppelde contentvensters en analytische tracking met het actief vastgezette item in een scrollbare container.
Scrollytelling
Animeer visuele eigenschappen van een doelelement, zoals een achtergrond vervagen, een achtergrondkleur verschuiven of scrollytelling-ervaringen maken, volledig aangestuurd door de scrollport-positie van een heel ander element.
Verborgen content zoeken
Verberg content met patronen zoals accordeons, tabbladen en Lees meer-secties, terwijl je ervoor zorgt dat de verborgen tekst wordt getoond tijdens systeemeigen zoekopdrachten op de pagina, indexering door zoekmachines mogelijk maakt, deep links naar URL-fragmenten ondersteunt en ARIA-toegankelijkheid behoudt.
Een scroll-doel instellen voor de eerste weergave
Maak een scrollbare lijst met elementen (bijvoorbeeld een carrousel met afbeeldingen of een chatgespreksthread) die kan worden getoond met een bepaald element dat in beeld wordt gescrold bij de eerste weergave.
Een tooltip tonen als je de cursor op een element plaatst
Toon een tooltip of aanvullende informatie als een gebruiker de cursor of focus op een interactief element plaatst of het lang indrukt, zonder dat een klik vereist is.
Ruimtelijke navigatie (focus op richtingspad)
Implementeer toegankelijke ruimtelijke navigatie met de pijltoetsen die correct werkt in verschillende indelingsmodi (raster, enzovoort)
Vegen om te verwijderen
Laat gebruikers acties uitvoeren op items in een lijst (verwijderen, archiveren, markeren als gelezen, enzovoort) met een horizontale swipe, zodat ze items snel kunnen verwerken zonder op een afzonderlijke bediening te tikken.
Swipe om te onthullen
Laat gebruikers horizontaal swipen op een lijstitem of contentvenster om contextuele actieknoppen of een zijmenu te tonen zonder automatisch een actie te activeren.
Effecten activeren nadat programmatisch scrollen is voltooid
Activeer visuele effecten, animaties of focuswijzigingen op een doelelement pas nadat een soepele programmatische scroll naar dat element is afgerond.
2D-pannen
Sta gebruikers toe om vrij te pannen of te scrollen over tweedimensionale oppervlakken, zoals kaarten, ingezoomde afbeeldingen, oneindige canvassen of grote gegevensrasters, in beide richtingen (diagonaal of van richting veranderend tijdens het gebaar) zonder dat het gebaar wordt vergrendeld op één horizontale of verticale as.

Formulieren

Geanimeerde selectiekiezer
Maak een aangepaste selectiecomponent met een dropdownmenu met animatie. Het menu vervaagt of schuift bijvoorbeeld in beeld, of de opties worden geanimeerd bij selectie.
Formulieren die bij je merk passen
Zorg dat selectievakjes, keuzerondjes, schuifregelaars voor bereik en voortgangsbalken overeenkomen met het kleurenpalet van je site zonder ze te vervangen door aangepaste componenten.
Schuifregelaar voor bereik die consistent is met het merk
Stijl een native bereikschuifregelaar met aangepaste track-, duim-, vul- en focusstatussen, terwijl de native functionaliteit en toegankelijkheid behouden blijven.
Stijl van Branded Select
Maak aangepaste selectie-elementen waarvan de knop, kiezer, pijl en het vinkje naadloos aansluiten bij de typografie, kleuren, afstand en randen van je merk of ontwerpsysteem.
Een betalingsformulier maken dat de best practices volgt
Maak een betalingsformulier dat kaartgegevens verzamelt met de juiste waarden voor automatisch aanvullen en ondersteuning voor automatisch invullen.
Een inlogformulier maken dat de best practices volgt
Maak een inlogformulier met de juiste waarden voor automatisch aanvullen en ondersteuning voor automatisch invullen.
Een aanmeldingsformulier maken dat de best practices volgt
Maak een aanmeldingsformulier met de juiste waarden voor automatisch aanvullen en ondersteuning voor automatisch invullen.
Toegankelijke schakelaarbediening maken
Maak een toegankelijke schakelaar met het systeemeigen HTML-schakelaarkenmerk en val terug op een gestileerd selectievakje als dit niet wordt ondersteund.
Een adresformulier maken dat de best practices volgt
Maak een adresformulier met de juiste kenmerken voor automatisch aanvullen en ondersteuning voor automatisch invullen.
Aangepaste selectiekiezerslay-outs
Maak aangepaste selectiekiezers waarvan de opties op unieke of interessante manieren zijn gepositioneerd, in plaats van de traditionele gestapelde lijst met opties.
Formuliervelden passen automatisch bij de content
Zorg dat formuliervelden groter en kleiner kunnen worden om de gebruikersinvoer te laten passen, bijvoorbeeld als de gebruiker typt of een andere optie selecteert. Pas maximale en minimale groottelimieten toe om dynamische en responsieve formuliervelden te maken die overeenkomen met het paginaontwerp.
Formulieren
Best practices voor het maken van toegankelijke, beveiligde en gebruiksvriendelijke webformulieren. Gebruik deze gids als je formulieren, invoer en indieningsprocessen maakt of aanpast.
Velden die automatisch zijn ingevuld door de browser en die de gebruiker niet heeft bewerkt, markeren met CSS :autofill
Gebruik CSS om formuliervelden te markeren die automatisch zijn ingevuld door de browser en niet zijn bewerkt door de gebruiker.
IME-veilige enter-to-submit
Implementeer Enter-to-submit in tekstgebieden en invoer op één regel (chat, zoeken, inline naam wijzigen) op een veilige manier voor gebruikers van IME (Input Method Editor) om te voorkomen dat onvolledige tekst wordt ingediend.
Feedback over verplichte velden
Geef een foutmelding voor vereiste formuliervelden die zijn overgeslagen of leeg zijn gelaten, maar alleen na gebruikersinteractie. Zo voorkom je preventieve fouten en zorg je dat feedback op tijd en contextueel relevant is voor de gebruikersstroom.
Rich media-kiezer (aanpasbare selectie)
Maak een aangepaste selectiecomponent waarvan de opties complexe HTML-opmaak kunnen bevatten (bijvoorbeeld afbeeldingen, iconen en andere opmaak met tekst met opmaak) in plaats van alleen platte tekst.
Interactie met menu Selecteren
Valideer dat er een niet-standaard optie is gekozen in een selectiemenu nadat de gebruiker interactie heeft gehad met het bedieningselement.
Formulierverificatie met eenmalig wachtwoord via sms
Laat telefoonnummers van gebruikers en eenmalige toegangscodes die via sms worden geleverd, verifiëren met automatische code-extractie en toegankelijke formulierinvoer.
Invoer valideren na interactie
Toon feedback over de validatie van formuliervelden (bijvoorbeeld vereisten voor wachtwoordcomplexiteit of e-mailindeling) pas nadat de gebruiker de eerste interactie heeft afgerond. Zo voorkom je voortijdige fouten bij het laden van de pagina of terwijl de gebruiker typt.

HTML

Toegankelijke webcomponenten
Maak aangepaste elementen standaard toegankelijk door rollen en de ARIA-status in te stellen via de ElementInternals ARIA-mixin, de focus te beheren met delegatesFocus en ARIA-relaties binnen één shadow root te houden.
Aangepaste elementen
Definieer, registreer en beheer de levenscyclus van autonome aangepaste elementen, waaronder constructorregels, levenscyclus-callbacks, upgradetiming, kenmerk-/eigenschapsreflectie en naamgevingsconventies.
Aan formulieren gekoppelde aangepaste elementen
Zorg dat een aangepast bedieningselement native deelneemt aan formulieren met formAssociated en ElementInternals, de eigen waarde indient, integreert met beperkingsvalidatie en reageert op resetten, uitzetten en statusherstel.
HTML
Actiegerichte richtlijnen voor moderne HTML-architectuur, semantiek, native interactieve API's (dialoogvenster, popover, details), focusbeheer en prioriteitstelling van bronnen. Gebruik deze handleiding als je webdocumenten structureert, native overlays implementeert of de laadvolgorde van bronnen optimaliseert.
Aangepaste elementen vooraf renderen
Render een aangepast element op de server en hydrateer het op de juiste plek zonder opnieuw te renderen of een flits van niet-opgemaakte content.
Shadow DOM, templates en slots
Kapsel de DOM en stijlen van een component in met Shadow DOM, bouw de boomstructuur efficiënt op met HTML-templates en projecteer consumentencontent met slots.
Webcomponenten opmaken
Stijl over de schaduwgrens met :host-selectors, overgenomen en aangepaste eigenschappen voor thema's, ::slotted en ::part, en trapsgewijze lagen en containerquery's in componenten.
Stand van webcomponenten
Oriëntatie en overkoepelende principes voor het schrijven en gebruiken van webcomponenten, waaronder aangepaste elementen, Shadow DOM, templates en slots, Declarative Shadow DOM, styling over de schaduwgrens, aan formulieren gekoppelde aangepaste elementen en toegankelijkheidsvereisten. Gebruik deze handleiding als je herbruikbare UI-componenten, ontwerpsystemen of door de server gerenderde aangepaste elementen maakt.

CSS

Animeren naar intrinsieke grootten
Animeer interactieve componenten (zoals accordeons, menu's en uitvouwbare kaarten) soepel naar en van hun natuurlijke afmetingen.
Berekenen met intrinsieke grootten
Bereken de grootte van een element op basis van de intrinsieke grootte, terwijl je ervoor zorgt dat het binnen de gegeven ontwerpbeperkingen past.
Op onderliggende status gebaseerde stijl
Maak een component waarvan de stijl verandert op basis van de status van een van de onderliggende elementen. Bijvoorbeeld een component die wordt weergegeven in de lichte of donkere modus, afhankelijk van of een themaschakelaar is aangevinkt (of niet).
CSS voorwaardelijk toepassen op basis van ondersteuning voor at-regels
Pas bepaalde CSS-regels of -declaraties alleen voorwaardelijk toe als een bepaalde at-regel wordt ondersteund door de browser.
Op content gebaseerde stijl
Maak een component die de indeling wijzigt op basis van of deze specifieke onderliggende elementen bevat (of niet). Als de component bijvoorbeeld een afbeelding bevat, gebruik je een lay-out met meerdere kolommen. Anders gebruik je standaard een lay-out met 1 kolom.
CSS-indelingen en responsief ontwerp
Moderne CSS-indelingen zoals flexbox, raster, subraster, containervragen, ankerpositionering en intrinsieke grootte. Gebruik deze vaardigheid bij het ontwerpen van responsieve UI-componenten of paginalay-outs.
CSS: Moderne architectuur
Actiegerichte richtlijnen voor moderne CSS-architectuur, waaronder de cascade, kiezers, scoping, nesting en designtokens. Gebruik deze gids als je stijlen maakt of ontwerpsystemen beheert.
Reactiviteit van designtokens
Definieer ontwerptokens van een hogere orde, zoals dichtheidsmodi (compact, comfortabel, ruim) of thema's, en laat onderliggende componenten rechtstreeks en op een voor de component geschikte manier reageren op wijzigingen.
Vloeiend schalen
Items zoals lettergrootte, afstand en mediaformaten soepel schalen op basis van de grootte van de bovenliggende container in plaats van vaste breekpunten te gebruiken
Afzonderlijke transformatie-eigenschappen
Maak animaties voor afzonderlijke CSS-transformatie-eigenschappen (bijvoorbeeld vertalen, draaien, schalen) of overschrijf deze onafhankelijk van andere transformatie-eigenschappen voor één element.
Bedieningselement voor overloopclipping
Pas de zichtbare afkapgrens van een element aan zodat deze wordt uitgelijnd met de contentrand, de opvullingsrand of de rand van de rand, of een opgegeven afstand van een van deze, zodat je meer controle hebt over hoe content wordt afgekapt.
Stijlherhaling verminderen met CSS-functies
Verminder overmatige herhaling van stijlen door complexe of dynamische opmaaklogica in te kapselen in herbruikbare functies (zoals een functie die een kleurovergang berekent op basis van een set invoerparameters).
Responsief ontwerp
Maak een UI die zich aanpast aan het formaat van de container en de viewport, waaronder containerquery's, dynamische viewport-eenheden, beeldverhoudingen en responsieve typografie.
Combinaties van kiezers en @-regels
Target elementen op basis van de doorsnede of samenvoeging van kiezers en voorwaardelijke @-regels, terwijl je herhaling minimaliseert.
Aanpassing van semantische componenten
Maak componenten die de visuele logica aanpassen op basis van de semantische context met behulp van CSS-containerstijlquery's.
Stijl voor groottebewustzijn
Maak een component waarvan de stijlen voorwaardelijk afhankelijk kunnen zijn van de eigen breedte of hoogte, in plaats van de breedte of hoogte van de viewport. Bijvoorbeeld een kaartcomponent waarvan de indeling kan veranderen, afhankelijk van de grootte, of een call-to-action-knop die voorwaardelijk helptekst kan tonen op basis van de breedte.
Bovenliggend element stijlen met :has()
Stijl bovenliggende elementen van een formulierveld (bijvoorbeeld labels of veldsets) als het veld ongeldig is.
Styling siblings based on count and index
Maak dynamische visuele spectrums of lay-outindelingen die zich automatisch aanpassen aan het aantal elementen in een groep.

JavaScript

WebAssembly

Prestaties

Lange taken opsplitsen
Splits zware synchrone verwerking (complexe berekeningen en/of lange lussen) of DOM-updates op, zodat de browser gebruikersinvoer kan verwerken en het scherm opnieuw kan tekenen.
Totale tijd op de voorgrond berekenen
Bereken de totale tijd die een gebruiker daadwerkelijk heeft besteed aan het bekijken van een pagina, exclusief perioden waarin het tabblad op de achtergrond stond.
Voorwaardelijke asynchrone afhankelijkheden
Laad of initialiseer asynchrone afhankelijkheden voorwaardelijk (zoals polyfills importeren voor ontbrekende webfuncties) zonder dat je complexe indelingen nodig hebt voor alle scriptafhankelijkheden van een pagina.
Meerdere analytische gebeurtenissen debouncen en batchen
Debounce en batch meerdere analyse-, telemetrie- en Core Web Vitals-gebeurtenissen samen in één baken om netwerkconflicten te minimaliseren en de serverbelasting te verminderen, terwijl je nog steeds realtime updates levert.
Weergave van zware content uitstellen
Verkort de rendertijden op webpagina's met veel content (bijvoorbeeld pagina's met lange feeds, veel artikelen of complexe dashboards) door de weergave uit te stellen voor content die niet onmiddellijk zichtbaar is voor de gebruiker.
Werk uitstellen tot scrollen is beëindigd
Stel dure bewerkingen zoals DOM-updates, gegevens ophalen, analysetracking of herberekening van de indeling uit tot nadat het scrollen is voltooid om vloeiend scrollen te behouden.
Geoptimaliseerde decoratieve afbeeldingen leveren
Lever geoptimaliseerde decoratieve afbeeldingen (zoals achtergronden, UI-iconen of complexe maskers) door tegelijkertijd bestandsindelingen van de volgende generatie (zoals AVIF of WebP) en meerdere pixeldichtheden (zoals 1x en 2x) te leveren, zodat de browser dynamisch kan onderhandelen over de beste combinatie van bestandsgrootte en visuele kwaliteit voor de mogelijkheden van het apparaat van de gebruiker.
Fetchen op de achtergrond een lagere prioriteit geven
Geef gegevens die op de achtergrond worden opgehaald met de Fetch API een lagere prioriteit om netwerkconflicten met door de gebruiker gestarte verzoeken te voorkomen.
Eerste zichtbaarheidsstatus waarnemen
Bepaal op betrouwbare wijze of een pagina in eerste instantie op de achtergrond is geladen, zelfs als het script asynchroon wordt geladen nadat de gebruiker de pagina op de voorgrond heeft geplaatst.
Efficiënte achtergrondverwerking
Bespaar systeembronnen en batterijduur door de uitvoering van JavaScript op de achtergrond (zoals <canvas>-animaties, WebGL-rendering of polling van WebSocket-gegevens met hoge frequentie) te onderbreken als de component niet op het scherm staat en deze net op tijd te hervatten als de component weer in beeld wordt gescrold.
Snellere SPA-weergaveovergangen via statuscaching
Zorg voor snellere overgangen terug naar eerder bezochte weergaven in een app met één pagina (Single-Page Application, SPA) door de structurele DOM-status te behouden in plaats van deze bij elke navigatie te vernietigen en opnieuw op te bouwen.
A/B-tests aan de clientzijde zonder flikkering
A/B-tests, multivariate tests of andere experimenten leveren en weergeven met JavaScript aan de clientzijde om HTML, CSS en JavaScript te wijzigen of in te voegen zonder dat de oorspronkelijke content eerst wordt getoond voordat de experimentcontent wordt getoond.
Oorzaken van een slechte INP identificeren
Identificeer traag JavaScript en andere oorzaken van een slechte responsiviteit van Interaction to Next Paint (INP).
Zware JavaScript-modules identificeren
De scripts identificeren die het meest verantwoordelijk zijn voor lange animatieframes
De laadprestaties van de volgende pagina verbeteren
Verbeter de laadprestaties van pagina's door pagina's die de gebruiker waarschijnlijk als volgende bezoekt, vooraf op te halen of vooraf te renderen.
Lazy loading voor video en audio
Stel het downloaden van video- en audio-items buiten het scherm, waaronder video-posterafbeeldingen en vooraf geladen mediagegevens, uit totdat de mediaspeler de viewport nadert om bandbreedte te besparen en netwerkconflicten te verminderen tijdens het laden van de eerste pagina.
De timing van interactie en soft-navigatie meten
Meet de tijd die gebruikersinteracties en navigatie aan de clientzijde nodig hebben om nieuwe contentvolle updates op het scherm weer te geven.
Prioriteit voor afbeeldingsoptimalisatie
Optimaliseer de laadprioriteit van kandidaatafbeeldingen voor Largest Contentful Paint (LCP) en geef niet-kritieke afbeeldingen een lagere prioriteit om vertragingen bij het laden van kritieke bronnen te verminderen.
Prioriteit voor vooraf laden optimaliseren
Optimaliseer de relatieve prioriteit van vooraf geladen content om vertragingen bij het laden van kritieke resources te verminderen.
Scriptprioriteit optimaliseren
Optimaliseer de laadprioriteit van scripts door kritieke asynchrone scripts te stimuleren en niet-essentiële scripts of scripts aan het einde van de hoofdtekst een lagere prioriteit te geven om de volgorde te verbeteren en vertragingen te verminderen.
Interacties in complexe lay-outs optimaliseren
Maak interacties sneller en responsiever (waardoor de INP-scores (Interaction to Next Paint) dalen) door herberekeningen van de indeling te vermijden in complexe indelingen, zoals dashboards met veel gegevens of rasters in spreadsheetstijl.
HTML-streaming in onjuiste volgorde (OOO)
Een pagina declaratief updaten met content die later naar hetzelfde HTML-document of via imperatieve JavaScript-API's wordt gestreamd.
Prestaties
Praktische richtlijnen voor de optimalisatie van moderne web-apps. Gebruik deze gids om de prestaties te controleren, laadstatistieken te optimaliseren, langzame interacties op te lossen en Core Web Vitals (LCP, INP, CLS) te optimaliseren.
Betrouwbare meting van analyses en telemetrie voor hele sessies
Houd betrouwbaar analyses, Core Web Vitals, fouten en telemetriegegevens bij tijdens het hele paginabezoek van de gebruiker en stel het versturen van de gegevens uit totdat de gebruiker de pagina verlaat.
Voor resolutie geoptimaliseerde pseudoelementen
Gebruik voor resolutie geoptimaliseerde afbeeldingen in CSS-pseudoelementen (zoals ::before en ::after) om het aantal DOM-nodes te verminderen.
Taken plannen op prioriteit
Plan taken met verschillende prioriteiten om te zorgen dat kritiek werk eerst wordt uitgevoerd en achtergrondwerk wordt uitgesteld.

Toegankelijkheid

Beveiliging

Web-oorsprongen en sites vergelijken en valideren
Vergelijk en valideer web-oorsprongen en sites veilig in berichten en URL's tussen documenten zonder foutgevoelige tekenreeksparsering.
Gegevens aan de clientzijde versleutelen met WebCrypto
Stel gedeelde geheimen vast met behulp van inkapseling van openbare sleutels of sleutelovereenkomsten, waaronder hybride en post-kwantumbescherming, en versleutel gevoelige gegevens in de browser met geverifieerde versleuteling.
Toegang tot lokaal netwerk
Toegang tot bronnen in het lokale netwerk of de loopback-interface van een gebruiker vanuit een openbare web-app.
Verificatie met toegangssleutel
Een terugkerende gebruiker verifiëren met een toegangssleutel voor primair inloggen.
Voorwaardelijk maken van toegangssleutel (promotie na inloggen)
Registreer op de achtergrond een toegangssleutel voor een bestaande gebruiker nadat deze is ingelogd met een wachtwoord.
Beheer van toegangssleutels
Gebruikers de toegangssleutels laten bekijken en beheren die zijn geregistreerd voor hun account.
Opnieuw verifiëren met toegangssleutel
De identiteit van een ingelogde gebruiker verifiëren met de bestaande toegangssleutels voordat een gevoelige actie wordt uitgevoerd.
Toegangssleutelregistratie
Registreer een toegangssleutel voor een bestaand gebruikersaccount.
Oriëntatie van toegangssleutels
Uitgebreide oriëntatie en overkoepelende principes voor de implementatie van WebAuthn en toegangssleutels in web-apps. Gebruik deze gids bij de registratie, verificatie, het beheer of de herverificatie van toegangssleutels.
DOM-gebaseerde XSS-aanvallen voorkomen met Vertrouwde typen
Voorkom DOM-gebaseerde XSS-aanvallen door een beleid voor vertrouwde typen te definiëren om niet-vertrouwde HTML op te schonen, het beleid te gebruiken bij het schrijven naar DOM-sinks zoals innerHTML en vertrouwde typen af te dwingen via Content Security Policy.
Snel inloggen met de directe UI-modus
Laat terugkerende gebruikers zich verifiëren met hun opgeslagen toegangssleutels of wachtwoorden voordat ze naar een inlogpagina gaan of hun workflow wordt onderbroken.
Uitgaande netwerkverbindingen beperken met toelatingslijsten voor verbindingen
Beperk een pagina of worker tot communicatie met alleen een expliciete toelatingslijst van netwerkeindpunten om ongeautoriseerde verzoeken van derden en gegevensexfiltratie aan de clientzijde te voorkomen.
Niet-vertrouwde HTML opschonen
Parseer en toon niet-vertrouwde HTML-content van gebruikersinvoer op een veilige manier door onveilige elementen en kenmerken te verwijderen.
Beveilig externe subbronnen met Subresource Integrity, CORS en Referrer Policy
Controleer de cryptografische integriteit van externe scripts, stylesheets, lettertypen en afbeeldingen die worden geladen vanuit bronnen van derden en bepaal of die verzoeken inloggegevens of verwijzende URL's sturen.
Gegevens ondertekenen en verifiëren met WebCrypto
Onderteken en verifieer berichten, tokens of artefacten in de browser met klassieke of quantumresistente (post-quantum) asymmetrische sleutels om de gegevensintegriteit en -authenticiteit te waarborgen.
Eigendom van e-mailadres verifiëren
Verifieer dat een gebruiker de eigenaar is van een e-mailadres tijdens het maken, inloggen of herstellen van een account zonder een eenmalige toegangscode of magic link te sturen.
Webbeveiliging
Preventieve beveiligingsrichtlijnen voor webontwikkelaars (XSS, CSP, cookies, cross-origin isolatie). Gebruik deze vaardigheid om het proces van controle, testen en implementatie van beveiligingsbeleid veilig te begeleiden.

Privacy

PWA

Ingebouwde AI

WebMCP