logo

Bekijk alle vacatures

Front-end developer – Rich Text Editor

Den Haag, Zuid Holland
Voor onze klant ICTU, zoeken wij een Front-end developer – Rich Text Editor
 
Start 9-03-2026
Einddatum 31-12-2027
Optie op verlenging Ja
Uren per week 16
Locatie Hybride: De standplaats van ICTU is Den Haag, maar vanwege het karakter van het project wordt digitaal op afstand gewerk
Bijzonderheden Deze aanvraag is geschikt voor een ZZP'er. 3 CV's kan ik aanbieden echter 1fte wordt er gevraagd
Tarief In overleg
Deadline 19-2-2026 om 13.0


 
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 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? 
 
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 componenten. 
  • 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. 
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 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 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? 
​​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 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.
 
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, met 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 moderne JavaScript (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. 
Eisen
Hierbij is het van belang dat de professional in de afgelopen 8 jaar: 
  1. Minimaal 5 jaar met front-end development met HTML, CSS en JavaScript 
  2. Minimaal 3 jaar ervaring met de toepassing van WCAG-toegankelijkheidseisen en technologie zoals WAI-ARIA;  
  3. Minimaal 1 jaar ervaring met rich-text editor customizations 
  4. Minimaal 2 jaar ervaring met Node.js 
  5. Minimaal 2 jaar ervaring met TypeScript 
  6. Minimaal 2 jaar ervaring met Git, Gitflow en atomic commits;  
  7. Minimaal 2 jaar ervaring met merge/pull requests maken en reviewen met bijvoorbeeld GitHub of GitLab;  
 
Per eis geeft de kandidaat een uitleg op welke wijze aan deze eisen wordt voldaan. 
 
  1. 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.    
  • Per wens het aantal jaar/projecten concrete ervaring dat de professional per wens heeft opgedaan in de context van deze aanvraag.  
Wensen
Nr Omschrijving Gewicht Beoordeling
W1  Aantoonbare ervaring met het datamodel en de user interface van een rich text editor aanpassen, voor TipTap of CKEditor. 10% 
  • Uitstekend - 10 punten   
  • Goed - 8 punten   
  • Voldoende - 6 punten   
  • Matig - 2 punten   
  • Slecht - 0 punten 
W2  Aantoonbare ervaring in de afgelopen 5 jaar met ontwikkelen, documenteren en onderhouden van open source projecten 
 
10% 
  • Uitstekend - 10 punten   
  • Goed - 8 punten   
  • Voldoende - 6 punten   
  • Matig - 2 punten   
  • Slecht - 0 punten 
W3  Aantoonbare ervaring met de W3C Authoring Tool Accessibility Guidelines (ATAG)  10% 
  • Uitstekend - 10 punten   
  • Goed - 8 punten   
  • Voldoende - 6 punten   
  • Matig - 2 punten   
  • Slecht - 0 punten 
W4  Ervaring met ontwikkeling van plugins in 1 of meer van de volgende CMS-en:
  • Drupal
  • WordPress
  • Typo3
10% 
  • Uitstekend - 10 punten   
  • Goed - 8 punten   
  • Voldoende - 6 punten   
  • Matig - 2 punten   
  • Slecht - 0 punten 
W5  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. 10% 
  • Uitstekend - 10 punten   
  • Goed - 8 punten   
  • Voldoende - 6 punten   
  • Matig - 2 punten   
  • Slecht - 0 punten 
W6  De kandidaat toont aan over een pragmatische en oplossingsgerichte werkwijze te beschikken. 

De weging wordt ook meegenomen in het gesprek.  
15% 
  • Uitstekend - 10 punten   
  • Goed - 8 punten   
  • Voldoende - 6 punten   
  • Matig - 2 punten   
  • Slecht - 0 punten 
W7  De kandidaat toont aan accuraat te werken om tot een toegankelijk en onderhoudbaar resultaat te komen.

De weging wordt ook meegenomen in het gesprek.  
15% 
  • Uitstekend - 10 punten   
  • Goed - 8 punten   
  • Voldoende - 6 punten   
  • Matig - 2 punten   
  • Slecht - 0 punten 
 
Prijs
Gewicht van prijs bij beoordeling 20%
ICTU behoudt zich het recht voor om indien onverwacht een te hoog uurtarief (qua budget) wordt aangeboden, om op basis hiervan een kandidaat als niet passend te verklaren
Tijdens het gesprek moet de kandidaat aantonen dat de gevraagde technieken effectief kunnen worden toegepast. Daarvoor kan tijdens het proces gevraagd worden om:  
  • Tijdens het gesprek door de professional geschreven code beschikbaar te hebben die aantoont dat de kandidaat de technieken effectief kan toepassen om een toegankelijke webpagina te maken.  
  • Tijdens het gesprek de werking van code in de volgende categorieën uit te leggen en te verbeteren: ECMAScript, HTML, CSS, Node.js, rich-text-editor en testautomatisering.  
  • Tijdens het gesprek aan te tonen dat voldaan wordt aan het gewenste profiel, door uit de 6 categorieën code toe te lichten die zelf zijn gemaakt: ECMAScript, HTML, CSS, Node.js, rich-text-editor en testautomatisering.  

De sub-gunningscriteria kwaliteit worden beoordeeld aan de hand van onderstaande tabel. 
Antwoord Evaluatie
Uitstekend Beantwoording voldoet volledig aan het gevraagde in het omschreven sub-gunningscriterium, sluit uitstekend aan bij de behoeften en wensen van ICTU en geeft blijk van uitstekend inzicht in de situatie van ICTU. Dit uit zich onder meer doordat uit de beantwoording duidelijk blijkt dat Inschrijver voor ICTU een relevante en onderscheidende meerwaarde biedt in relatie tot het desbetreffende sub-gunningscriterium en hieruit een goed inzicht in de situatie van ICTU blijkt. De beantwoording is tevens volledig, concreet en realistisch.
Goed Beantwoording voldoet goed aan het gevraagde in het omschreven sub-gunningscriterium en/of sluit goed aan bij de behoeften en wensen van ICTU en/of geeft blijk van goed inzicht in de situatie van ICTU. De beantwoording is volledig, concreet en realistisch.
Voldoende Beantwoording voldoet aan het gevraagde in het omschreven sub-gunningscriterium, en/of sluit aan bij de behoeften en wensen van ICTU en/of geeft beperkt blijk van inzicht in de situatie van ICTU. De beantwoording is (in beperkte mate) volledig en/of concreet en/of realistisch.
Matig Beantwoording voldoet onvoldoende aan het gevraagde in het omschreven sub-gunningscriterium en/of sluit onvoldoende aan bij behoeften en wensen van ICTU en/of geeft onvoldoende blijk van inzicht in de situatie van ICTU en/of de beantwoording is niet volledig en/of niet concreet en/of niet realistisch.
Slecht Geen inhoudelijke beantwoording.

Algemeen beoordeling werkzaamheden
De professional verricht het werk naar eigen inzicht. ICTU kan wel aanwijzingen en instructies geven omtrent het resultaat en de doorlooptijd van de werkzaamheden. In geval van samenwerking met anderen vindt afstemming plaats met ICTU, voor zover dat voor de uitvoering van de werkzaamheden nodig is.

BYOD
ICTU biedt BYOD voorzieningen aan voor externe medewerkers. Van de externe medewerker wordt verwacht dat diegene beschikt over een passend apparaat (laptop) en een mobiele telefoon om diens werk uit te voeren. Aan de externe medewerker gevraagd (digitaal) akkoord te gaan met het ingevoerde reglement zakelijke apparatuur.
Tijdens het intakegesprek zal dit reglement op hoofdlijnen worden doorgenomen. ICTU hanteert voor ICT voorzieningen een N-1 beleid, concreet betekent dit dat naast de huidige versie, 1 lagere voorgaande versie, mits door de leverancier ondersteund, wordt toegelaten tot de ICTU infrastructuur.


Graag ontvang ik het CV van mogelijk passende kandidaten. Houd bij aanbieden rekening met de onderstaande punten (zonder deze info kan het CV helaas niet mee worden genomen in de selectie!):

1.Nederlandstalig CV (Word doc.) van max 5 a 6 pagina's. Indien een Engelstalig CV nodig is dan staat dit in de aanvraag bij de eisen vermeld.
2.Motivatie gericht op de vacature. Dit kan kort d.m.v. ja de ervaring heb ik opgedaan / de werkzaamheden heb ik gedaan in de perioden x  bij de organisaties y. Dus puntsgewijs per eis, wens en werkzaamheden (graag deze ervaring & werkzaamheden in het CV vermelden in de betreffende perioden).
Naast de puntsgewijze motivatie van de wensen ook het aantal punten er bij vermelden; zie kolom beoordeling, dit geldt alleen voor de ICTU aanvragen!
3.Volledige naam + de officiële voorletters zoals in het paspoort staat
4.Vakantieplannen in de komende 3 maanden

Met vriendelijke groeten,
 
Arnold Vonk
Recruitment Consultant
Vrije dag op vrijdag, oneven weken
+31 6 14668383
arnold@flexvalue.nl  

Deel deze vacature

Powered by