Bouwstenen die je maar één keer hoeft te beslissen
Zonder afspraken vooraf krijgt elke nieuwe pagina zijn eigen oplossing. Vier soorten knoppen die bijna hetzelfde doen, drie tinten grijs die niemand kan uitleggen, en CSS die alleen maar groeit omdat niemand durft weg te halen wat er al staat.
Een design system zorgt ervoor dat dit niet gebeurt. Daarin leg je vast wat de regels van het ontwerp zijn en hoe je daarmee omgaat.
Wat er dan precies wordt vastgelegd
Eerst de waarden: kleuren, typografie, en de ruimtematen waaruit alle afstanden worden opgebouwd. Dat is het saaie deel en het scheelt het meest, want zodra er een vaste reeks is verdwijnt de discussie over of er nu 18 of 20 pixels tussen moet.
Daarna de componenten: een knop, een invoerveld, een kaart, een melding. Met hun variaties erbij, en met de regel wanneer je welke gebruikt, anders staan er over een jaar alsnog vier varianten.
Hieronder staat een deel uit het systeem van deze site zelf. Niet als afbeelding: de balken zijn zo breed als de maat die ze noemen, en de vlakken halen hun kleur uit dezelfde plek als de rest van de pagina. Zet je hem in de donkere modus, dan verandert dit mee.
De ruimtemaat
Eén reeks, waarin elke stap anderhalf keer de vorige is. Alle afstanden op deze site komen hieruit, dus de vraag of er nu 18 of 20 pixels tussen moet bestaat niet.
--s-2--s-1--s0--s1--s2--s3--s4
De kleuren
Elk met een naam die zegt waar hij voor is, niet hoe hij eruitziet. Daardoor klopt het nog steeds als de donkere modus andere waarden invult, en dat doet hij.
-
--brand-coloracties en links -
--brand-color-lightnadruk onder een link -
--brand-color-lightestrustige vlakken -
--header-colorde kop van de pagina -
--main-coloralle tekst
Een component en zijn toestanden
Een knop die alleen in rust is ontworpen is nog geen component. Hover er maar overheen, of spring erheen met de tab-toets.
Waarom dit geld scheelt en niet alleen tijd
De eerste pagina wordt er niet goedkoper van, de dertigste wel. Wat er al staat hoeft niet opnieuw bedacht, gebouwd en getest te worden, en dat is precies waar de uren weglopen bij een site die blijft groeien.
Er zit nog een tweede besparing in die minder opvalt. Een component die één keer goed staat, staat overal goed: de contrastverhouding, het label bij het invoerveld, de volgorde voor wie met het toetsenbord werkt. Zo wordt toegankelijkheid iets dat je één keer oplost in plaats van op elke pagina opnieuw.
Wanneer ik het je afraad
Bij een site van een pagina of tien die niet gaat groeien, en waar één persoon aan werkt. Dan kost het opzetten meer dan het oplevert en heb je vooral een map met regels waar niemand naar kijkt. Een handvol goede afspraken in een stylesheet is dan genoeg.
Werk met een design system eronder
{ front-end, design system }
{ front-end, design system, webdesign }
{ front-end, webdesign, design system }


