Standplaats: DEN HAAG
Duur: 01-10-2025 - 01-10-2026
Optie tot verlenging: Ja
Reageren voor: 12-09-2025
Omschrijf de context van het project/programma waarin de activiteiten plaatsvinden, wanneer en op grond waarvan is het project/programma afgerond en welke rol heeft de professional binnen het project/programma?
Beschrijving project/programma:
ICTU werkt aan een betere digitale overheid, voor en samen met andere overheidsorganisaties.
Met de NL Design System aanpak verzamelen we richtlijnen, componenten en voorbeelden om robuuste websites en webapplicaties voor de overheid te bouwen. Dit wordt gedaan binnen een multidisciplinaire groep professionals die samen het NL Design System Kernteam en het Expertteam Digitale Toegankelijkheid vormen.
De componenten en richtlijnen van NL Design System zijn open source beschikbaar op GitHub en Figma, zodat iedereen ze kan gebruiken voor een begrijpelijke, gebruiksvriendelijke én toegankelijke onlinedienstverlening.
Met het Expertteam Digitale Toegankelijkheid worden concrete oplossingen gebouwd om het eenvoudiger te maken voor overheidsorganisaties om toegankelijke websites en webapplicaties aan te bieden.
Omschrijving einde project/programma:
Het project is ten einde wanneer de opdrachtgever de opgeleverde resultaten heeft geaccepteerd en een inhoudelijke decharge heeft verleend. Is het geval wanneer de klant een landingsplaats heeft voor alle activiteiten en instrumenten van NL Design System, deze zijn overgedragen aan de betreffende beheerpartij en nazorg is uitgevoerd.
Welke rol heeft de professional binnen het project/programma:
De opdracht bestaat uit het ontwikkelen van een gebruiksvriendelijke content management interface en rich text editor, waarmee het voor contentmakers makkelijk wordt om toegankelijke content te publiceren, op basis van NL Design System componenten en richtlijnen.
Zo help je mee om de toegankelijkheid in Nederland te verbeteren met de hulpmiddelen die het expertteam maakt en draag je bij aan de doorontwikkeling van NL Design System als overheidsbreed open source white-label design system.
Welke opdracht gaat de professional uitvoeren en welke activiteiten horen daarbij?
De activiteiten die horen bij het realiseren van de opdracht zijn:
•
• Ontwikkelen van een toegankelijke front-end applicatie met een rich-text editor.
• Ontwikkelen van herbruikbare front-end web componenten.
• Ontwikkelen een rich-text editor variant, op basis van een bestaande applicatie zoals TipTap of BlockNote, waarmee het mogelijk is een editor op te bouwen met NL Design System componenten die content die voldoet aan een strict schema kan opslaan in CMS-en zoals Drupal, WordPress en TYPO3.
• Ontwikkelen van definities voor content, zoals JSON Schema's of TipTap node types, van componenten zoals Image, Table, Accordion, etcetera.
• Ontwikkelen van server-side templates om de content te tonen, zoals Twig templates, voor componenten zoals Image, Table, Accordion, etcetera.
• Ontwikkelen van gebruiksvriendelijke foutmeldingen voor ontoegankelijke content.
• Ontwikkelen van transformaties van datastructuren om ontoegankelijke content in een rich-text editor met een druk op de knop te verbeteren, zoals het converteren van Bold Table Cells naar Table Heading Cells, een Table Row naar een Table Caption, Paragraph naar Heading, Paragraphs naar List Items, etcetera.
• Ontwikkelen van zeer complexe front-end web componenten, zoals combobox, modal dialogs en drawers met formulieren, floating toolbars.
• Ontwikkelen van real-time client side validatie van content om de toegankelijkheid te meten.
• Ontwikkelen volgens de NL Design System architectuur.
• Ontwikkelen van testplannen en testscenario's om de werking van de software te testen met de veelvoorkomende content.
• Ontwikkelen een koppeling met de REST API van content-management systemen.
• Ontwikkelen van geautomatiseerde tests op het niveau van end-to-end tests en unit tests.
• Het verbeteren van de software op basis van feedback van toegankelijkheidsspecialisten, het NL Design System-kernteam en gebruikersonderzoek.
• Het vastleggen van kansen voor verbetering en technical debt in de backlog van het project.
• Vers & veilig houden van de front-end applicatie met rich-text editor door maandelijks code dependencies te updaten.
• Het in samenspraak met andere professionals uit het Expertteam Digitale Toegankelijkheid ontwikkelen en begeleiden van (online) workshops over een toegankelijke huisstijl ontwikkelen.
• In overleg met professionals uit het Expertteam Digitale Toegankelijkheid activiteiten uitvoeren voor valideren en uitbreiden van de templates, patronen en documentatie door middel van:
•
• Een keer in de 2 weken: Sprint planningen.
• Indien nodig: Refinements in een privé Slack Huddle van het Expertteam Digitale Toegankelijkheid.
• Indien nodig: reviewen van pull requests van andere experts uit het project om vroegtijdig feedback te geven vanuit eigen expertise.
• Voortgang delen in het privé Slack kanaal van het Expertteam Digitale Toegankelijkheid en de NL Design System Heartbeat.
• Publieke Huddles om een nieuwe aanpak voor de templates, patronen of componenten van NL Design System te bepalen.
Welke concrete resultaten dient de professional te behalen? Resultaten dienen concreet en meetbaar te zijn.
Welke deelresultaten zal de professional dienen te behalen gedurende de opdracht:
•
• Contentdefinities en validatieregels om de toegankelijkheid van een component te testen, en om ontoegankelijke content te herkennen, op te leveren per component.
• User stories voor scenario's van het maken van toegankelijke content, en het herstellen van ontoegankelijke content, en daarvoor een rich text editor implementatie en testautomatisering, voor de meestvoorkomende variaties van ontoegankelijke content.
• Geautomatiseerde tests om de kwaliteit van de software te meten.
• User stories voor het controleren van content op toegankelijkheid, aan de hand van previewschermen waar je specifieke aspecten kan controleren, zoals koppenstructuur, linkteksten, alt-teksten, informatie alleen via kleur geven.
Welke eindresultaten zal de professional aan het einde van de opdracht dienen op te leveren.
•
• Website met een rich-text editor om de meestgebruikte rich-text componenten van NL Design System in te voeren, en gebruikers te begeleiden naar een toegankelijk resultaat.
• Open source rich-text editor in een npm package, die geïntegreerd kan worden met CMS-en zoals WordPress, Drupal en TYPO3.
• Documentatie waarmee het beheer van de website overgedragen kan worden.
Wanneer is de opdracht afgerond en beëindigd:
De opdracht is ten einde wanneer de opdrachtgever de opgeleverde resultaten heeft geaccepteerd en een inhoudelijke decharge heeft verleend. Is het geval wanneer de klant een landingsplaats heeft voor alle activiteiten en instrumenten van het Expertteam Digitale Toegankelijkheid, deze zijn overgedragen aan de betreffende beheerpartij en nazorg is uitgevoerd.
Hoe wat en wanneer zal het werk/de resultaten worden beoordeeld?
Detailleer de criteria en momenten voor feedback en beoordeling. Voorbeeld: maandelijkse voortgangsrapporten en een eindbeoordeling bij projectafsluiting.
De werkzaamheden van de professional zoals hierboven beschreven zijn onderdeel van de Definition of Done (DoD) van een sprint. De resultaten worden na elke sprint gevalideerd op de acceptatiecriteria samen met de Product Manager, danwel opdrachtgever. Daarnaast vindt er een eindbeoordeling plaats bij de projectafsluiting (decharge) om de algehele prestaties en behaalde resultaten te evalueren.
Wat is de kans dat de verwachte duur wordt overschreden, c.q. welke onzekerheden er zijn t.a.v. de verwachte duur?
Op basis van de huidige inzichten wordt de kans klein geacht dat de duur wordt overschreden. Een overschrijding van de verwachte duur wordt bepaald door externe factoren. Daarbij kan gedacht worden aan een verlenging van de opdracht door de opdrachtgever wanneer blijkt dat de gevraagde projectresultaten door omstandigheden niet binnen de gestelde tijd bereikt kunnen worden of dat derden diensten niet tijdig kunnen leveren.
Over welke specifieke kennis beschikt de professional, waarover het eigen personeel van de Opdrachtgever niet beschikt en waar een eventuele vervanger ook over zou moeten beschikken?
De opdracht behelst werkzaamheden waarbij specialistische kennis over Design Systems en Component Libraries noodzakelijk is. De specialistische kennis waarnaar gezocht wordt, worden in het gewenste profiel in combinatie met de gevraagde eisen verder toegelicht.
Gewenste profiel
•
• De kandidaat heeft uitgebreide ervaring met toegankelijke content in HTML: koppenstructuur, alternatieve teksten, video en audio met ondertitels en transcriptie, linkteksten, complexe tabellen, lijst-structuren, onderdelen in een andere taal.
• De kandidaat heeft ervaring met veelvoorkomende soorten ontoegankelijke content, zoals semantische elementen gebruiken voor opmaak en vice versa.
• De kandidaat heeft ervaring met de verantwoordelijkheid hebben voor toegankelijkheid van een website, terwijl de content door anderen wordt gemaakt.
• De kandidaat heeft ervaring met het meetbaar verbeteren van de toegankelijkheid van content die door anderen wordt gemaakt.
• De kandidaat heeft ervaring met het aanpassen van rich text editors via JavaScript API's.
• De kandidaat heeft ervaring met maken van schema's voor rich text data.
• De kandidaat heeft ervaring met het renderen van content uit een CMS met toegankelijke templates.
• De kandidaat heeft ervaring met het ontwikkelen van client-side meerstapsformulieren met state management in JavaScript.
• De kandidaat heeft ervaring met het builden van front-end code met TypeScript en ES Modules, bijvoorbeeld met tsc of Vite.
• De kandidaat heeft ervaring met het toepassen van herbruikbare componenten uit Design Systems of Component Libraries.
• De kandidaat is pragmatisch en kan werk opdelen in kleine stappen en fases.
• De kandidaat kan zonder code-duplicatie onderdelen hergebruiken, zodat verbeteringen zowel in de bestaande website als de nieuwe website kunnen worden gebruikt.
• De kandidaat heeft uitgebreide ervaring met CSS. Bijvoorbeeld met layouts met Grid en Flexbox, CSS logical properties, CSS custom properties, CSS variables, calc() voor fluid font sizes, container queries.
• De kandidaat heeft uitgebreide ervaring met ECMAScript. Bijvoorbeeld met: ES Modules, import(), URL, async/await, Map, Set, map/filter/reduce, nullish coalescing, class, import.meta, Promises, Object entries, destructuring.
• De kandidaat heeft ervaring met npm packages gebruiken, monorepositories en npm packages publiceren met semantic versioning.
• De kandidaat heeft ervaring met TypeScript in Node.js
• De kandidaat heeft ervaring met REST APIs gebruiken voor data waarmee webpagina's gevuld kunnen worden.
• De kandidaat heeft ervaring met unit tests en end-to-end tests voor front-end code. Bijvoorbeeld met Jest, Vitest, Cypress of Playwright.
• De kandidaat beschikt over goede mondelinge en schriftelijke communicatieve vaardigheden.
• De kandidaat werkt zelfstandig en bewaakt de eigen voortgang als onderdeel van de scrum planning.
• De kandidaat is accuraat, werkt gedisciplineerd en is in staat om de veelheid en diversiteit aan werkzaamheden te ordenen en te prioriteren en stemt hierover af met de Product Manager.
• De kandidaat heeft ervaring met open source werken en vindt het vanzelfsprekend om alles (inclusief het proces) open en transparant te delen.
Wensen:
Aantoonbare ervaring met de rich text editor aanpassen
Aantoonbare ervaring in de afgelopen 5 jaar met ontwikkelen en onderhouden van open source projecten
Aantoonbare ervaring met de W3C Authoring Tool Accessibility Guidelines (ATAG)
Aantoonbare ervaring in de afgelopen 5 jaar met schrijven van documentatie voor developers
Aantoonbare ervaring met het zelfstandig opzetten van nieuwe Node.js projecten
De kandidaat toont aan over een pragmatische en oplossingsgerichte werkwijze te beschikken. De weging wordt ook meegenomen in het gesprek.
De kandidaat toont aan accuraat te werken om tot een toegankelijk en onderhoudbaar resultaat te komen. De weging wordt ook meegenomen in het gesprek.