11# Components
22
3- ** Last Updated:** April 6 , 2026
3+ ** Last Updated:** April 9 , 2026
44
55Complete component specifications and guidelines for the Design System Starter Kit.
66
@@ -14,8 +14,9 @@ Complete component specifications and guidelines for the Design System Starter K
14144 . [ Display & Feedback Components] ( #display--feedback-components )
15155 . [ Navigation Components] ( #navigation-components )
16166 . [ Branding Components] ( #branding-components )
17- 7 . [ Form Components] ( #form-components )
18- 8 . [ Web Components Registration] ( #web-components-registration )
17+ 7 . [ Accessibility Components] ( #accessibility-components )
18+ 8 . [ Form Components] ( #form-components )
19+ 9 . [ Web Components Registration] ( #web-components-registration )
1920
2021---
2122
@@ -2200,6 +2201,66 @@ const [isOpen, setIsOpen] = React.useState(false);
22002201
22012202---
22022203
2204+ ## Accessibility Components
2205+
2206+ ** Status:** Complete (HTML/CSS, React) — 1 component total
2207+
2208+ ### SkipLink
2209+
2210+ ** Status:** Complete (HTML/CSS, React)
2211+
2212+ ** Location:** ` packages/components-{html|react}/src/skip-link/ ` / ` SkipLink/ `
2213+
2214+ ** Tokens:** ` tokens/components/skip-link.json `
2215+
2216+ ** Props:** ` href ` (required), ` children ` (default: ` "Ga direct naar de hoofdinhoud" ` ), ` className ` + alle ` React.AnchorHTMLAttributes<HTMLAnchorElement> ` attributen
2217+
2218+ ** Features:**
2219+
2220+ - Eerste focusbaar element op de pagina — plaatsen vóór ` <header> ` en ` <nav> ` in de DOM
2221+ - Standaard verborgen via ` clip-path: inset(50%) ` — blijft in de accessibility tree (screenreaders kunnen het vinden)
2222+ - Zichtbaar bij ` :focus-visible ` — gepositioneerd in de hoek van het viewport met focus-stijlen
2223+ - Z-index 600 — boven modals (500), drawer (500) en backdrop (400)
2224+ - Voldoet aan WCAG 2.1 succescriterium 2.4.1 (Bypass Blocks, Level A)
2225+ - ` React.forwardRef<HTMLAnchorElement> `
2226+
2227+ ** CSS-klassen:**
2228+
2229+ | Klasse | Element | Beschrijving |
2230+ | --------------- | ------- | -------------------------------------------------- |
2231+ | ` dsn-skip-link ` | ` <a> ` | Verbergt de link; onthult hem bij ` :focus-visible ` |
2232+
2233+ ** Design Tokens:**
2234+
2235+ | Token | Waarde | Beschrijving |
2236+ | ------------------------------------- | ------------------------ | ---------------------------------------------------- |
2237+ | ` --dsn-skip-link-z-index ` | ` 600 ` | Boven modals en backdrop |
2238+ | ` --dsn-skip-link-padding-block ` | ` {dsn.space.block.md} ` | Verticale padding bij focus |
2239+ | ` --dsn-skip-link-padding-inline ` | ` {dsn.space.inline.lg} ` | Horizontale padding bij focus |
2240+ | ` --dsn-skip-link-border-radius ` | ` {dsn.border.radius.md} ` | Afgeronde hoeken bij focus |
2241+ | ` --dsn-skip-link-offset-block-start ` | ` {dsn.space.block.md} ` | Afstand van boven het viewport bij focus |
2242+ | ` --dsn-skip-link-offset-inline-start ` | ` {dsn.space.inline.md} ` | Afstand van de linkerkant van het viewport bij focus |
2243+
2244+ ** Usage:**
2245+
2246+ ``` html
2247+ <!-- HTML/CSS — altijd als eerste element in <body> -->
2248+ <a href =" #main-content" class =" dsn-skip-link" >Ga direct naar de hoofdinhoud</a >
2249+ <header >...</header >
2250+ <main id =" main-content" tabindex =" -1" >...</main >
2251+ ```
2252+
2253+ ``` tsx
2254+ // React
2255+ <SkipLink href = " #main-content" >Ga direct naar de hoofdinhoud</SkipLink >
2256+ <header >...</header >
2257+ <main id = " main-content" tabIndex = { - 1 } >...</main >
2258+ ```
2259+
2260+ ** Tests:** React (10 tests)
2261+
2262+ ---
2263+
22032264## Form Components
22042265
22052266** Status:** Complete (HTML/CSS, React) — 25 components total
@@ -2511,15 +2572,15 @@ defineButton('my-custom-button');
25112572
25122573## Component Statistics
25132574
2514- ** Total Components:** 49
2575+ ** Total Components:** 50
25152576
25162577** Implementations:**
25172578
2518- - ** HTML/CSS:** 49 components
2519- - ** React:** 49 components (1282 tests total, 63 test suites)
2579+ - ** HTML/CSS:** 50 components
2580+ - ** React:** 50 components (1292 tests total, 64 test suites)
25202581- ** Web Component:** 7 components (Button, Heading, Icon, Link, OrderedList, Paragraph, UnorderedList)
25212582
2522- ** Test Coverage:** 1282 tests across 63 test suites
2583+ ** Test Coverage:** 1292 tests across 64 test suites
25232584
25242585---
25252586
0 commit comments