Skip to main content
Case Study

WCAG AAA-georiënteerd verzenden vanaf regel één - wat er eigenlijk voor nodig was

Hour Terms is een zelf gehoste werkruimte voor freelancers - €99 eenmalig, geen SaaS, geen telemetrie, geen accounts. AAA-uitgelijnd binnen de geteste reikwijdte gedocumenteerd in de gekoppelde toegankelijkheidsverklaring. Dit is de casestudy van de scheepvaart die daarvoor nodig was.

6 maanden (bouw) - doorlopend
Timeline
B2B SaaS - Zelf gehoste productiviteit
Sector
Leiden, NL
Location

Het probleem

De meeste freelance-werkruimtetools gaan uit van SaaS-economie: maandelijkse facturering, team seats, login flows, analytics, telemetrie. Dat model creëert toegankelijkheidsbelasting op elke laag - elk formulier is een ander formulier, elk dialoogvenster heeft een andere focus semantiek, elke e-mail opent in een andere webview.

Hour Terms doet het tegenovergestelde: één HTML-en-PHP-installatie, uitgevoerd op de eigen server van de freelancer, zonder JS van derden, geen tracking en geen accountsysteem. Het toegankelijkheidsdoel was AAA binnen een gedefinieerd toepassingsgebied (factuurstromen, authenticatie, dashboard, donker thema) - niet "AAA waar dat handig is" en niet "AAA overal" Dat bereik en de grenzen ervan zijn gedocumenteerd in de gekoppelde toegankelijkheidsverklaring.

De beslissingen

Dit gedeelte documenteert de technische beslissingen die ervoor zorgden dat AAA-uitgelijnde conformiteit haalbaar was met het bouwbudget van een solo-ontwikkelaar.

  • **Geen scripts van derden betekent geen toegankelijkheidsregressies door een update van een leverancier die ik niet heb goedgekeurd.
  • Status zonder kleur (WCAG 2.2 SC 1.4.1). Elke statusindicator (betaald, te laat, concept, ondertekend) koppelt een kleuraanwijzing aan een tekstuele/iconische aanwijzing. Kleur is nooit het enige signaalkanaal.
  • Focusbeheer voor modale dialoogvensters (SC 2.4.3 Focusvolgorde, SC 2.4.11 Focus niet verborgen). Wanneer een dialoogvenster wordt geopend, gaat de focus naar de titel van het dialoogvenster. Als het dialoogvenster wordt gesloten, gaat de focus terug naar de trigger. Geïmplementeerd zonder JS-bibliotheek - vanille focus()-aanroepen met een focus-return-stapel.
  • Donkere modus die contrast doorlaat (SC 1.4.6 Contrast Enhanced, AAA, 7:1 op body / 4.5:1 op large). Beide thema's zijn gecontroleerd op AAA-contrastdrempels voor elk oppervlak dat in de toegankelijkheidsverklaring wordt genoemd, met identieke as-kernconfiguratie in beide.
  • Samenstellingen met toetsenbord eerst (SC 2.1.1, 3.3.1, 3.3.3). Tabvolgorde komt overeen met leesvolgorde. Geen tabindex waarden boven 0. Verzendknoppen zijn bereikbaar zonder muis. Formulieren valideren inline met aria-invalid en aria-describedby wijzend naar de foutmelding.
  • Eerlijk over wat niet AAA is. Twee oppervlakken blijven AA-only en worden vermeld in de toegankelijkheidsverklaring onder "Bereik van AAA-geteste oppervlakken" Deze als AAA claimen zou het omgekeerde zijn van wat deze casestudy bepleit.

Wat het kost (tijd, compromissen, verrassingen)

  • Tijd: AAA-uitgelijnd bereik voegde ruwweg 30% toe aan de bouwtijd ten opzichte van het equivalente AA-only doel. Het grootste deel van die kosten zat in het herhalen van het contrast in de donkere modus en het testen van de dialoogscherpte.
  • Afstappen: Geen analyses. Ik kan u niet vertellen hoeveel gebruikers een specifieke pagina hebben bezocht. De ruil was bewust - telemetrie is een toegankelijkheids- en privacybelasting die ik niet wilde betalen.
  • Verrassing: Het moeilijkste AAA-doel was niet een schermlezerinteractie - het was om alle 4-pixel UI-streken AAA-contrast te geven tegen elke themavariant. Standaard Material/Tailwind paletten overleven AAA niet bij kleine lijndikten; ik moest het merkpalet met de hand afstemmen.

Wat ik anders zou doen

  • Eerdere formele bijl-kern CI poort. Ik heb dat achteraf geïnstalleerd rond maand 4. Als ik het vanaf commit één had gedaan, zou ik twee langzame regressies eerder hebben opgemerkt.
  • De gedeeltelijke-AA gebieden eerder in de openbare documenten documenteren. Ze werden al maanden intern opgemerkt voordat ze gepubliceerd werden.
  • Bouw het helpvenster voor sneltoetsen vóór de sneltoetsen. Ik verscheepte de sneltoetsen in v1.2, realiseerde me toen dat power users ze niet konden ontdekken zonder een helpfunctie. Helpdialoog geleverd in v1.3.

Waarom dit belangrijk is als u een auditor inhuurt

Ik beweer niet dat elk product AAA-georiënteerd moet zijn. Hour Terms is een opzettelijk randgeval: een klein product waarbij de beperking haalbaar was. Wat ik wil beweren is dat wanneer ik uw site audit op conformiteit met EAA, ik weet wat het kost aan bouwtijd, welke afwegingen ik van mijn eigen engineering heb gevraagd, en waar AAA in de praktijk tekortschiet. Dat perspectief is zeldzaam bij auditors die nog nooit accessibility-first hebben geleverd.

Als u op zoek bent naar een EAA-audit, het EAA Readiness Audit-pakket begint bij €2.400 vast. Ik hanteer dezelfde normen als bij Urenvoorwaarden.

Key Outcomes
AAA-uitgelijnd in geteste reikwijdte
GDPR door architectuur
Nul telemetrie
Donkere + lichte thema's geverifieerd
Verification

How this claim is verified

Three artifacts back the conformance claim above. Each is independently linkable, dated, and points to a primary source rather than to this page.

  • Linked accessibility statement
    Uurtermen toegankelijkheidsverklaring - EN 301 549 § 9.6 / EU-besluit 2018/1523 model. Prepared on the basis of self-assessment per EN 301 549 V3.2.1 § 9.6 and the model structure of Implementing Decision (EU) 2018/1523.
  • Independent validation — scheduled
    Externe collegiale toetsing met een lid van Fronteers is gepland voor Q3 2026. De bevindingen zullen aan deze casestudy en de daaraan gekoppelde toegankelijkheidsverklaring worden toegevoegd.
WCAG 2.2 AA AAA-uitgelijnd (scoped) EN 301 549 EAA

Want this level of care for your site?

I help organizations across the EU and US build and remediate for WCAG, the EAA, and ADA compliance.

See packages & pricing