Ministerie van Economische Zaken en Klimaat DICTU

Front-end developer – Rich Text Editor

Ministerie van Economische Zaken en Klimaat DICTU

De opdracht­omschrijving

Let op!! Het aanleveren van een toelichting op de eisen en de wensen én een persoonlijke motivatie voor de rol zijn verplicht. Zonder deze toelichting en motivatie kunnen wij het aangeboden CV helaas niet in behandeling nemen.

Over ICTU en NL Design System

ICTU werkt aan een betere digitale overheid, voor en samen met andere overheidsorganisaties.

Met de NL Design System aanpak worden richtlijnen, componenten en voorbeelden verzameld om robuuste websites en webapplicaties voor de overheid te bouwen. Dit gebeurt binnen een multidisciplinaire groep professionals die het NL Design System Kernteam en het Expertteam Digitale Toegankelijkheid vormen.

De componenten en richtlijnen zijn open source beschikbaar op platforms zoals GitHub en Figma, zodat iedereen ze kan gebruiken voor begrijpelijke, gebruiksvriendelijke én toegankelijke onlinedienstverlening.

Het Expertteam Digitale Toegankelijkheid bouwt concrete oplossingen 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 en een landingsplaats heeft voor alle activiteiten en instrumenten van NL Design System, 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?

  • Ontwikkelen van een toegankelijke front-end applicatie met een rich-text editor.
  • Ontwikkelen van herbruikbare front-end webcomponenten.
  • Ontwikkelen een rich-text editor variant, op basis van TipTap en CKEditor, 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, TYPO3 en WordPress.
  • 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 foutherkenning 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, Pargraph naar Heading, Paragraphs naar List Items, etcetera.
  • 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 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.

Resultaten

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 Drupal, TYPO3 en WordPress.
  • Open source packages voor de validatie logica
  • Werkende plugins voor tenminste 2 CMS-en (Drupal, Typo3 of WordPress)
  • Werkende acceptatieomgeving van 2 CMS-en (Drupal, Typo3 of WordPress) voor de CMS-plugins
  • Documentatie waarmee CMS-developers van tenminste 2 CMS-en (Drupal, Typo of WordPress) de 2 plugins zelfstandig kunnen implementeren
  • Documentatie waarmee het beheer van de referentie implementatie en de packages 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 en een landingsplaats heeft voor alle activiteiten en instrumenten van het Expertteam Digitale Toegankelijkheid, zijn overgedragen aan de betreffende beheerpartij en nazorg is uitgevoerd.

Hoe wat en wanneer zal het werk/de resultaten beoordeeld worden?

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. ​​

Specifieke kennis

De opdracht behelst werkzaamheden waarbij specialistische kennis over rich-text editors, CMS-en en Component Libraries noodzakelijk is. De specialistische kennis waarnaar gezocht wordt, worden in het gewenste profiel in combinatie met de gevraagde eisen verder toegelicht.

Deze inhuuropdracht verloopt via een aanbesteding. De opdrachtgever heeft eisen en wensen opgegeven. Aan de eisen moet je voldoen om kans te maken. Op de wensen kun je punten scoren.

De Eisen

  • Minimaal 5 jaar met front-end development met HTML, CSS en JavaScript
  • Minimaal 3 jaar ervaring met de toepassing van WCAG-toegankelijkheidseisen en WAI-ARIA
  • Minimaal 1 jaar ervaring met rich-text editor customizations
  • Minimaal 2 jaar ervaring met Node.js
  • Minimaal 2 jaar ervaring met TypeScript
  • Minimaal 1 jaar ervaring met Web Components en Shadow DOM
  • Minimaal 2 jaar ervaring met Git, pull requests en atomic commits
  • Een korte motivatie te kunnen geven, waaruit blijkt dat: - de kandidaat over een goede schriftelijke beheersing van de Nederlandse taal beschikt; - de kandidaat goed mondeling kan samenwerken tijdens online en fysieke bijeenkomsten. - de kandidaat over een goede schriftelijke beheersing van de Engelse taal beschikt; - de kandidaat bij wil dragen aan het NL Design System.

De Wensen

  • Aantoonbare relevante ervaring met het datamodel en de user interface van een rich text editor aanpassen, voor TipTap of CKEditor
  • Aantoonbare relevante ervaring in de afgelopen 5 jaar met ontwikkelen, documenteren en onderhouden van open source projecten
  • Aantoonbare relevante ervaring met de W3C Authoring Tool Accessibility Guidelines (ATAG)
  • Aantoonbare relevante ervaring met ontwikkeling van plugins in 1 of meer van de volgende CMS-en: - Drupal - WordPress - Typo3
  • Aantoonbare relevante ervaring met NL Design System, wat blijkt uit ervaring met het toepassen van design tokens JSON, documenteren van componenten in Storybook, aanwezigheid op Slack en hergebruik van community componenten
  • 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.

Interesse in deze opdracht?

Zo werkt onze dienstverlening

Reageer direct

De opdracht sluit
15 mei 2026 om 08:00
Je reactie ontvangen we graag minimaal 1 werkdag voor sluiting van de opdracht

Eventuele motivatie volgt in een latere fase

LET OP: Het door jou opgegeven uurtarief is all in, inclusief 10% fee Freep en exclusief BTW

Mis geen kans, word gratis lid

Ontvang direct alle opdrachten en marktontwikkelingen in je mailbox