UC-GEN-PROF-005 — Toegankelijkheidsinstellingen beheren
1. Kerngegevens
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-GEN-PROF-005 |
| Naam | Toegankelijkheidsinstellingen beheren |
| Domein | Profiel, voorkeuren en toegankelijkheid |
| Primaire actor | Ingelogde gebruiker |
| Secundaire actor(en) | Systeem, profielservice, gebruikersinstellingservice, toegankelijkheidsservice, cookie-/browseropslagcomponent, validatieservice |
| Rolcontext | Ingelogde gebruiker in eigen toegankelijkheidscontext; geldt voor alle rollen zolang de toegankelijkheidsfeature sitebreed beschikbaar is |
| Betrokken schermen | SCH-GEN-09-01 — Toegankelijkheid |
| Gerelateerde usecases | UC-GEN-PROF-001 — Profiel bekijken; UC-GEN-PROF-002 — Profielgegevens wijzigen; UC-GEN-PROF-006 — Toegankelijkheid vóór en na login synchroniseren; UC-GEN-PROF-007 — Voorkeuren beheren |
| Primaire entiteiten | Users, UserSettings / toegankelijkheidsinstellingen |
| Secundaire entiteiten / events | technische toegankelijkheidscookie, sessiecontext, AccessibilitySettingChanged, AccessibilitySettingChangeRejected, AccessibilitySettingChangeFailed |
| Gerelateerde popups | POP-GEN-PROF-ACCESSIBILITY-SAVED, POP-GEN-PROF-ACCESSIBILITY-VALIDATION-FAILED, POP-GEN-PROF-ACCESSIBILITY-SAVE-FAILED, POP-GEN-PROF-ACCESSIBILITY-DISABLED |
| Popupregister | Ontwerpbronnen — Popup-register |
| MoSCoW | Must have |
2. Omschrijving
Deze usecase beschrijft hoe een ingelogde gebruiker de eigen toegankelijkheidsinstellingen beheert. Via de toegankelijkheidspagina kan de gebruiker instellingen aanpassen die de leesbaarheid en bediening van OefenHub beïnvloeden, zoals verhoogd contrast, gebruik van een dyslexievriendelijk lettertype en de standaard lettergrootte.
Toegankelijkheidsinstellingen worden direct opgeslagen in het eigen gebruikersprofiel of gebruikersinstellingendomein en zijn binnen OefenHub meteen zichtbaar. Waar de toegankelijkheidsfeature sitebreed is ingeschakeld, worden de relevante instellingen ook gespiegeld naar een technische cookie of vergelijkbare browserwaarde, zodat de instellingen al vóór een volgende login kunnen worden toegepast. De volledige synchronisatie tussen cookie en profiel bij login hoort bij UC-GEN-PROF-006.
Deze usecase is procesgericht. De exacte vormgeving van schakelaars, plus-/minknoppen, previewgedrag, tekstlabels, breakpoints en popupteksten hoort in schermdocumentatie, popupregister en popup-themes. De usecase beschrijft autorisatie, featurecontrole, validatie, opslag, directe toepassing en requirements-afleiding.
3. Scope
Deze usecase beschrijft:
- openen van de toegankelijkheidspagina vanuit het profielmenu;
- controleren of de toegankelijkheidsfeature sitebreed beschikbaar is;
- tonen van de actuele toegankelijkheidsinstellingen van de ingelogde gebruiker;
- aanpassen van verhoogd contrast / leesbaarheid;
- aanpassen van het gebruik van het dyslexielettertype;
- vergroten of verkleinen van de standaard lettergrootte binnen toegestane grenzen;
- direct server-side opslaan van gewijzigde instellingen;
- direct toepassen van de gewijzigde instellingen in de actieve OefenHub-interface;
- spiegelen van relevante instellingen naar de technische cookie wanneer de feature actief is;
- server-side validatie van instellingstype, toegestane waarde en eigen gebruikerscontext;
- veilige foutafhandeling wanneer instellingen niet opgeslagen of toegepast kunnen worden;
- datamutaties en requirements-afleiding voor toegankelijkheidsinstellingen.
Deze usecase beschrijft niet:
- wijziging van naamgegevens, niveau, e-mailadres, wachtwoord of profielfoto;
- algemene voorkeuren die niet specifiek toegankelijkheidsgerelateerd zijn;
- beheer van de sitebrede featuretoggle voor toegankelijkheid door beheerders;
- beheer van systeeminstellingen of nieuwe instellingensleutels;
- volledige synchronisatie tussen cookie en profiel bij login;
- technische implementatie van CSS, fontloading, browsercookies of cache-inrichting;
- formele WCAG-certificering;
- account verwijderen, anonimiseren of deactiveren;
- popupteksten, knopteksten of popup-seeddata.
4. Pre-condities
| ID | Voorwaarde |
|---|---|
| PRE-001 | De gebruiker is ingelogd. |
| PRE-002 | De sessie is geldig en kan server-side aan precies één interne OefenHub-gebruiker worden gekoppeld. |
| PRE-003 | Het interne gebruikersprofiel of gebruikersinstellingrecord bestaat of kan volgens het datamodel worden geïnitialiseerd. |
| PRE-004 | De gebruiker heeft toegang tot het eigen profielmenu en de eigen toegankelijkheidspagina. |
| PRE-005 | De sitebrede toegankelijkheidsfeature is ingeschakeld. |
| PRE-006 | De beschikbare toegankelijkheidsinstellingen zijn in code of configuratie bekend, inclusief gegevenstype en toegestane waarden. |
| PRE-007 | De opslaglaag ondersteunt het persistent opslaan van toegankelijkheidsinstellingen per gebruiker. |
| PRE-008 | De frontend kan gewijzigde toegankelijkheidsinstellingen toepassen zonder dat daarvoor een nieuwe authenticatie nodig is. |
| PRE-009 | Het popupregister bevat de benodigde popupkeys wanneer de UI popups gebruikt voor terugkoppeling of fouten. |
5. Post-condities
| ID | Resultaat |
|---|---|
| POST-001 | Bij succesvolle wijziging is de aangepaste toegankelijkheidsinstelling persistent opgeslagen voor de ingelogde gebruiker. |
| POST-002 | De gewijzigde instelling is direct zichtbaar binnen de actieve OefenHub-interface. |
| POST-003 | Wanneer de toegankelijkheidsfeature actief is, zijn relevante waarden gespiegeld naar de technische cookie of browserwaarde die vóór login gebruikt mag worden. |
| POST-004 | Ongeldige instellingstypen, waarden buiten toegestane grenzen of gemanipuleerde instellingen worden niet opgeslagen. |
| POST-005 | Een gebruiker kan via deze usecase uitsluitend eigen toegankelijkheidsinstellingen wijzigen. |
| POST-006 | Bij technische fout blijven de laatst succesvol opgeslagen instellingen leidend. |
| POST-007 | Bij uitgeschakelde sitebrede toegankelijkheidsfeature worden de toegankelijkheidspagina en bedieningselementen niet functioneel aangeboden. |
| POST-008 | Bij uitgeschakelde feature worden eerder opgeslagen profielwaarden niet verwijderd. |
| POST-009 | De usecase wijzigt geen profielnaamvelden, e-mailadres, wachtwoord, niveau, profielfoto, rollen, relaties, oefenruns of algemene voorkeuren. |
| POST-010 | Bij verlopen sessie wordt de generieke loginflow gebruikt. |
| POST-011 | Bij ontbrekende autorisatie wordt de generieke toegang-geweigerd-afhandeling gebruikt. |
6. Trigger
De usecase start wanneer een ingelogde gebruiker via het menu onder de profielfoto of een gelijkwaardige route de pagina Toegankelijkheid opent of op die pagina een toegankelijkheidsinstelling wijzigt.
7. Normale processtroom
| Stap | Actor | Scherm / component | Actie | Systeemrespons | Data / regel |
|---|---|---|---|---|---|
| 1 | Gebruiker | Profielmenu | Kiest de pagina Toegankelijkheid. | Het systeem start het laden van de toegankelijkheidspagina. | Alleen beschikbaar wanneer de feature actief is. |
| 2 | Systeem | Sessieservice | Bepaalt de gebruiker uit de sessie. | De server koppelt de aanvraag aan het eigen gebruikersprofiel. | Client-side UserId is niet leidend. |
| 3 | Systeem | Feature-/configuratieservice | Controleert of de toegankelijkheidsfeature sitebreed is ingeschakeld. | Bij actieve feature wordt de pagina geladen. | Bij uitgeschakelde feature: zie ALT-003. |
| 4 | Systeem | Autorisatieservice | Controleert toegang tot de eigen toegankelijkheidsinstellingen. | De gebruiker mag alleen eigen instellingen bekijken en wijzigen. | Objectautorisatie server-side. |
| 5 | Systeem | Gebruikersinstellingservice | Haalt de actuele toegankelijkheidsinstellingen op. | Instellingen worden uit profiel/gebruikersinstellingen of defaults opgebouwd. | UserSettings / toegankelijkheidsinstellingen. |
| 6 | Systeem | Toegankelijkheidspagina | Toont de actuele waarden. | De gebruiker ziet o.a. verhoogd contrast, dyslexielettertype en lettergroottebediening. | Mockupwaarden zijn voorbeelddata. |
| 7 | Gebruiker | Toegankelijkheidspagina | Wijzigt verhoogd contrast / leesbaarheid. | Het systeem markeert de gewijzigde instelling en start directe verwerking. | Boolean instelling. |
| 8 | Systeem | Validatieservice | Valideert instellingstype en waarde. | Alleen bekende instelling met geldig type mag worden opgeslagen. | Type is codegedreven. |
| 9 | Systeem | Gebruikersinstellingservice | Slaat de instelling direct op voor de eigen gebruiker. | De nieuwe waarde is persistent vastgelegd. | Server-side actor en timestamp. |
| 10 | Systeem | Frontend / themelaag | Past de gewijzigde instelling direct toe. | De interface toont direct het verhoogde of normale contrast. | Geen herlogin nodig. |
| 11 | Systeem | Cookie-/browseropslagcomponent | Spiegelt relevante instelling naar technische cookie wanneer toegestaan. | De browserwaarde wordt bijgewerkt voor vóór-login toepassing. | Alleen wanneer feature actief is. |
| 12 | Gebruiker | Toegankelijkheidspagina | Wijzigt het gebruik van het dyslexielettertype. | Het systeem verwerkt de wijziging direct. | Boolean instelling. |
| 13 | Systeem | Validatieservice / opslag | Valideert en slaat de instelling op. | De nieuwe waarde wordt persistent opgeslagen. | Zelfde eigen-gebruikercontrole. |
| 14 | Systeem | Frontend / fontlaag | Past het lettertype direct toe. | De site schakelt naar het gekozen lettertypegedrag. | Exacte fontimplementatie is technisch. |
| 15 | Systeem | Cookie-/browseropslagcomponent | Spiegelt relevante instelling naar technische cookie wanneer toegestaan. | De browserwaarde wordt bijgewerkt. | Zie UC-GEN-PROF-006 voor login-sync. |
| 16 | Gebruiker | Toegankelijkheidspagina | Gebruikt plus- of minknop voor lettergrootte. | Het systeem berekent de kandidaatwaarde. | Stapgrootte en grenzen zijn centraal vastgelegd. |
| 17 | Systeem | Validatieservice | Valideert dat de nieuwe lettergrootte binnen toegestane grenzen ligt. | Waarde buiten grenzen wordt geweigerd of niet verder verhoogd/verlaagd. | Geen vrije numerieke invoer vertrouwen. |
| 18 | Systeem | Gebruikersinstellingservice | Slaat de nieuwe lettergrootte-instelling direct op. | De waarde is persistent opgeslagen. | Per gebruiker. |
| 19 | Systeem | Frontend / layoutlaag | Past de lettergrootte direct toe. | Tekstgrootte verandert in de actieve UI binnen de toegestane bandbreedte. | Layout mag niet onbedoeld breken. |
| 20 | Systeem | Cookie-/browseropslagcomponent | Spiegelt relevante lettergroottewaarde naar technische cookie wanneer toegestaan. | De browserwaarde wordt bijgewerkt. | Alleen noodzakelijke toegankelijkheidswaarden. |
| 21 | Systeem | Popup / inline melding | Bevestigt de wijziging wanneer de UI daarvoor terugkoppeling gebruikt. | POP-GEN-PROF-ACCESSIBILITY-SAVED of compacte inline bevestiging. | Popupinhoud staat in popupregister. |
| 22 | Gebruiker | Toegankelijkheidspagina | Blijft op de pagina of navigeert verder. | De opgeslagen instellingen blijven actief. | Geen extra mutatie. |
8. Alternatieve en exceptionele processtromen
| ID | Vanaf stap | Situatie | Systeemgedrag | Popup / melding | Datamutatie |
|---|---|---|---|---|---|
| ALT-001 | 1-2 | De sessie is verlopen. | Het systeem start de generieke loginflow. | Geen profielspecifieke popup. | Geen. |
| ALT-002 | 1-4 | De gebruiker probeert via manipulatie instellingen van een andere gebruiker te openen of wijzigen. | Het systeem weigert de actie server-side. | Generieke toegang-geweigerd-afhandeling. | Geen. |
| ALT-003 | 3 | De toegankelijkheidsfeature is sitebreed uitgeschakeld. | De pagina en bedieningselementen worden niet functioneel aangeboden; eerder opgeslagen waarden blijven bewaard maar worden tijdelijk niet toegepast. | POP-GEN-PROF-ACCESSIBILITY-DISABLED of generieke niet-beschikbaarmelding. | Geen. |
| ALT-004 | 5 | Er bestaan nog geen opgeslagen toegankelijkheidsinstellingen voor de gebruiker. | Het systeem toont functionele defaults en kan bij eerste wijziging een gebruikersinstellingrecord aanmaken of uitbreiden. | Geen foutmelding. | Alleen bij wijziging. |
| ALT-005 | 7-20 | De gebruiker wijzigt een instelling naar dezelfde waarde. | Het systeem mag de wijziging als no-op verwerken of opslag overslaan. | Geen extra popup vereist. | Geen inhoudelijke wijziging. |
| ALT-006 | 8, 13, 17 | Instellingstype is onbekend of niet beheerbaar via deze pagina. | Het systeem weigert opslag. | POP-GEN-PROF-ACCESSIBILITY-VALIDATION-FAILED. | Geen. |
| ALT-007 | 8, 13, 17 | Waarde heeft onjuist type. | Het systeem weigert opslag. | POP-GEN-PROF-ACCESSIBILITY-VALIDATION-FAILED. | Geen. |
| ALT-008 | 17 | Lettergrootte komt buiten de toegestane minimum- of maximumgrens. | Het systeem weigert de grensoverschrijding of laat de knop niet verder verhogen/verlagen. | Inline validatie of POP-GEN-PROF-ACCESSIBILITY-VALIDATION-FAILED. | Geen. |
| ALT-009 | 9, 13, 18 | Opslaan faalt door technische of transactionele fout. | Het systeem behoudt de laatst succesvol opgeslagen waarde en toont veilige foutafhandeling. | POP-GEN-PROF-ACCESSIBILITY-SAVE-FAILED. | Geen definitieve wijziging. |
| ALT-010 | 10, 14, 19 | De instelling is opgeslagen maar kan niet direct visueel worden toegepast door clientprobleem. | Het systeem houdt de opgeslagen waarde als leidend en past deze bij de eerstvolgende render of paginalaad toe; technische fout wordt veilig gelogd. | Geen technische details aan gebruiker. | Instelling blijft opgeslagen wanneer stap 9/13/18 geslaagd is. |
| ALT-011 | 11, 15, 20 | Cookie- of browseropslag kan niet worden bijgewerkt. | Het systeem houdt profielopslag als bron van waarheid en registreert de browserspecifieke fout alleen binnen veilige technische logging. | Geen technische details aan gebruiker. | Profielinstelling blijft opgeslagen. |
| ALT-012 | 11, 15, 20 | Browser staat cookies of lokale opslag niet toe. | De instelling blijft binnen de ingelogde sessie en profielopslag werken; vóór-login toepassing in die browser is dan niet gegarandeerd. | Gebruikersgerichte melding indien nodig. | Profielinstelling blijft opgeslagen. |
| ALT-013 | 21 | Bevestigingspopup kan niet worden geladen. | Het systeem toont een inline bevestiging of alleen de direct toegepaste instelling. | Alternatieve gebruikersgerichte bevestiging. | Instelling blijft opgeslagen. |
| ALT-014 | 1-20 | De gebruiker navigeert weg tijdens verwerking. | Reeds bevestigde directe wijzigingen blijven opgeslagen wanneer de servertransactie is afgerond; niet-verwerkte wijzigingen worden niet opgeslagen. | Geen extra popup vereist. | Alleen afgeronde transacties. |
| ALT-015 | 7-20 | De technische cookie bevat een oudere waarde dan de zojuist opgeslagen profielwaarde. | De profielwaarde blijft leidend; cookie wordt bijgewerkt wanneer dat technisch mogelijk is. | Geen. | Cookie-/browserwaarde wordt gesynchroniseerd waar mogelijk. |
9. Business rules
| ID | Regel |
|---|---|
| BR-UC-GEN-PROF-005-001 | Een gebruiker mag via de normale toegankelijkheidsroute uitsluitend eigen toegankelijkheidsinstellingen bekijken en wijzigen. |
| BR-UC-GEN-PROF-005-002 | De server bepaalt de doelgebruiker altijd op basis van de sessie. |
| BR-UC-GEN-PROF-005-003 | Toegankelijkheidsinstellingen worden direct opgeslagen wanneer de gebruiker ze wijzigt. |
| BR-UC-GEN-PROF-005-004 | Succesvol opgeslagen toegankelijkheidsinstellingen worden binnen OefenHub direct toegepast. |
| BR-UC-GEN-PROF-005-005 | De toegankelijkheidspagina ondersteunt minimaal verhoogd contrast / leesbaarheid, dyslexielettertype en vergroten/verkleinen van standaard lettergrootte. |
| BR-UC-GEN-PROF-005-006 | Instellingstype, toegestane waarden en eventuele grenzen zijn code- of configuratiegedreven en mogen niet vrij door clientinput worden bepaald. |
| BR-UC-GEN-PROF-005-007 | De standaard lettergrootte mag alleen binnen centraal vastgelegde minimum- en maximumgrenzen worden aangepast. |
| BR-UC-GEN-PROF-005-008 | De technische cookie of browserwaarde bevat alleen de minimaal noodzakelijke toegankelijkheidswaarden voor vóór-login toepassing. |
| BR-UC-GEN-PROF-005-009 | Wanneer de toegankelijkheidsfeature sitebreed is uitgeschakeld, worden pagina en bedieningselementen niet aangeboden en worden bestaande profielwaarden niet verwijderd. |
| BR-UC-GEN-PROF-005-010 | Wanneer de toegankelijkheidsfeature sitebreed is uitgeschakeld, worden technische cookie-effecten voor toegankelijkheid niet toegepast. |
| BR-UC-GEN-PROF-005-011 | Profielopslag blijft de bron van waarheid voor ingelogde gebruikers; cookie- of browserwaarde is ondersteunend. |
| BR-UC-GEN-PROF-005-012 | Toegankelijkheidsinstellingen wijzigen geen autorisaties, zichtbare gegevensset, rollen, relaties, niveauautorisaties of oefenresultaten. |
| BR-UC-GEN-PROF-005-013 | Toegankelijkheidsinstellingen zijn functioneel gescheiden van algemene voorkeuren, ook wanneer zij technisch in hetzelfde gebruikersinstellingendomein worden opgeslagen. |
| BR-UC-GEN-PROF-005-014 | Een technisch probleem met cookie- of browseropslag mag de succesvolle profielopslag niet ongedaan maken. |
| BR-UC-GEN-PROF-005-015 | Foutmeldingen tonen geen technische identifiers, stacktraces, databasefouten, cookiesleutels, tokens, ExternalId of interne configuratiewaarden. |
| BR-UC-GEN-PROF-005-016 | Popuptekst, knoptekst en themakeuze worden niet in de usecase gedupliceerd maar via popupregister en popup-themes beheerd. |
Centrale business rules die hierbij horen:
| BusinessRule-ID | Toepassing |
|---|---|
BR-GEN-SEC-001 | Afgeschermde acties vereisen server-side autorisatie en objectcontrole. |
BR-GEN-PROF-001 | Een gebruiker mag via de normale profielroute uitsluitend het eigen profiel en eigen gebruikersinstellingen beheren. |
BR-GEN-PROF-007 | Toegankelijkheidsinstellingen worden direct opgeslagen en toegepast. |
BR-GEN-PROF-008 | Toegankelijkheidsinstellingen kunnen naar een technische cookie worden gespiegeld voor vóór-login toepassing. |
BR-GEN-PROF-009 | De sitebrede toegankelijkheidsfeature bepaalt of pagina, bediening en cookie-effect actief zijn. |
BR-GEN-POP-001 | Usecases verwijzen alleen naar PopupKey; popupinhoud staat centraal in het popupregister. |
BR-GEN-SEC-002 | Gebruikersinvoer en clientwaarden worden server-side gevalideerd en veilig verwerkt. |
10. Datavalidatie
| Veld / object | Validatie |
|---|---|
| Sessie | Moet geldig zijn en aan precies één interne OefenHub-gebruiker gekoppeld kunnen worden. |
Users.Id | Wordt server-side uit de sessie afgeleid en niet uit clientinput. |
| Doelinstellingen | Moeten horen bij de ingelogde gebruiker. |
| Featuretoggle | Toegankelijkheidsfeature moet sitebreed actief zijn voor pagina en bediening. |
| Instellingssleutel | Moet een bekende, codegedreven toegankelijkheidsinstelling zijn. |
| Instellingscategorie | Moet behoren tot toegankelijkheid en niet tot algemene voorkeuren of profielvelden. |
| Verhoogd contrast / leesbaarheid | Boolean waarde; geen vrije tekst of numerieke variant. |
| Dyslexielettertype | Boolean waarde; geen vrije fontnaam of upload. |
| Lettergroottewaarde | Moet binnen centraal vastgelegde minimum- en maximumgrenzen vallen. |
| Lettergroottewijziging | Wordt verwerkt via toegestane stappen of vooraf gedefinieerde schaalwaarden. |
| Cookie-/browserwaarde | Mag alleen de minimaal noodzakelijke toegankelijkheidswaarden bevatten. |
| Cookie-/browserwaarde | Mag niet als enige bron van waarheid voor ingelogde profielinstellingen gelden. |
| Auditvelden | Actor en tijdstip worden server-side bepaald wanneer wijzigingsmetadata wordt vastgelegd. |
| PopupKey | Moet bestaan in het popupregister voordat de popup gebruikt kan worden. |
| Foutmelding | Gebruikersgericht formuleren; geen GUID’s, stacktraces, databasefouten, cookiesleutels, tokens, ExternalId of interne configuratiewaarden tonen. |
| Logging | Geen wachtwoorden, tokens, secrets, gevoelige headers of onnodige persoonsgegevens loggen. |
11. Datamutaties en events
| Stap | Type | Entiteit / event | Mutatie |
|---|---|---|---|
| 2 | Read | sessiecontext | Eigen gebruiker uit sessie bepalen. |
| 3 | Read | featureconfiguratie | Controleren of toegankelijkheidsfeature actief is. |
| 5 | Read | UserSettings / toegankelijkheidsinstellingen | Actuele instellingen of defaults ophalen. |
| 6 | UI-rendering | toegankelijkheidsreadmodel | Toegankelijkheidspagina tonen zonder persistente instellingmutatie. |
| 7 | Clientstate | verhoogd contrast | Kandidaatwijziging verwerken. |
| 8 | Validatie | instellingstype en waarde | Controleren of sleutel en waarde toegestaan zijn. |
| 9 | Update | UserSettings / toegankelijkheidsinstellingen | Verhoogd contrast / leesbaarheid opslaan. |
| 9 | Event / logging | AccessibilitySettingChanged | Geslaagde wijziging logisch registreren volgens centraal loggingbeleid. |
| 10 | UI-state | actieve interface | Contrastinstelling direct toepassen. |
| 11 | Update | technische cookie / browserwaarde | Relevante waarde spiegelen wanneer feature en browser dit toestaan. |
| 12 | Clientstate | dyslexielettertype | Kandidaatwijziging verwerken. |
| 13 | Update | UserSettings / toegankelijkheidsinstellingen | Dyslexielettertype opslaan na validatie. |
| 14 | UI-state | actieve interface | Lettertypegedrag direct toepassen. |
| 15 | Update | technische cookie / browserwaarde | Relevante waarde spiegelen wanneer feature en browser dit toestaan. |
| 16 | Clientstate | lettergrootte | Kandidaatwaarde bepalen. |
| 17 | Validatie | lettergroottewaarde | Controleren op toegestane bandbreedte. |
| 18 | Update | UserSettings / toegankelijkheidsinstellingen | Lettergrootte-instelling opslaan. |
| 19 | UI-state | actieve interface | Lettergrootte direct toepassen. |
| 20 | Update | technische cookie / browserwaarde | Relevante waarde spiegelen wanneer feature en browser dit toestaan. |
| ALT-006 t/m ALT-008 | Event / logging | AccessibilitySettingChangeRejected | Ongeldige sleutel, type of waarde veilig registreren volgens centraal loggingbeleid. |
| ALT-009 | Event / logging | AccessibilitySettingChangeFailed | Technische opslagfout veilig registreren. |
12. Geen datamutaties
| Entiteit | Reden |
|---|---|
Users naamvelden | Naamgegevens wijzigen hoort bij UC-GEN-PROF-002. |
| Identity-provideraccount | E-mailadres, wachtwoord, sessies en credentials worden niet gewijzigd. |
ProfileAvatars | Profielfoto kiezen hoort bij UC-GEN-PROF-004. |
| Rollen / role assignments | Toegankelijkheidsinstellingen wijzigen geen rollen. |
| Relaties | Toegankelijkheidsinstellingen maken, wijzigen of verwijderen geen relaties. |
| Niveaucontext | Niveau kiezen of verplicht niveau instellen hoort bij UC-GEN-PROF-002 of UC-GEN-PROF-003. |
| Algemene voorkeuren | Niet-toegankelijkheidsvoorkeuren horen bij UC-GEN-PROF-007. |
| Oefenruns / resultaten | Er worden geen oefenruns, resultaten of statistieken gewijzigd. |
| Berichten / systeemberichten | Toegankelijkheidsinstellingen versturen geen berichten. |
| Systeeminstellingen / featureconfiguratie | De gebruiker leest alleen de featurestatus; beheer van de sitebrede toggle hoort bij beheerfunctionaliteit. |
13. State diagram
Niet van toepassing. Er wordt geen zelfstandig statusobject met eigen statustransities geïntroduceerd. De usecase wijzigt alleen gebruikersgebonden toegankelijkheidsinstellingen en de ondersteunende technische cookie-/browserwaarde wanneer de feature en browseropslag dit toestaan.
14. Decision flow
15. Data lifecycle diagram
16. Sequence diagrammen
16.1 Toegankelijkheidsinstelling wijzigen
16.2 Ongeldige of niet-toegestane instelling
16.3 Feature uitgeschakeld
17. Popupverwijzingen
| PopupKey | Moment | Doel |
|---|---|---|
POP-GEN-PROF-ACCESSIBILITY-SAVED | Na succesvolle opslag wanneer de UI een popup gebruikt in plaats van inline bevestiging. | Bevestigen dat de toegankelijkheidsinstelling is opgeslagen. |
POP-GEN-PROF-ACCESSIBILITY-VALIDATION-FAILED | Wanneer een instelling, type of waarde niet geldig is. | Uitleggen dat de gekozen toegankelijkheidsinstelling niet opgeslagen kan worden. |
POP-GEN-PROF-ACCESSIBILITY-SAVE-FAILED | Bij technische of transactionele fout tijdens opslaan. | Veilig melden dat opslaan niet gelukt is zonder technische details te tonen. |
POP-GEN-PROF-ACCESSIBILITY-DISABLED | Wanneer de toegankelijkheidsfeature sitebreed uitgeschakeld is en de gebruiker toch de route probeert te openen. | Uitleggen dat toegankelijkheidsinstellingen op dit moment niet beschikbaar zijn. |
18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification
| Doeldocument | Afleiding |
|---|---|
| Functioneel Ontwerp | Beschrijf de toegankelijkheidspagina als aparte pagina onder het profielmenu. |
| Functioneel Ontwerp | Beschrijf de minimaal ondersteunde instellingen: verhoogd contrast / leesbaarheid, dyslexielettertype en vergroten/verkleinen van standaard lettergrootte. |
| Functioneel Ontwerp | Beschrijf dat wijzigingen direct worden opgeslagen en direct zichtbaar worden binnen OefenHub. |
| Functioneel Ontwerp | Beschrijf dat de pagina en bedieningselementen niet worden aangeboden wanneer de toegankelijkheidsfeature sitebreed uitgeschakeld is. |
| Functioneel Ontwerp | Beschrijf dat eerder opgeslagen profielwaarden bij uitschakeling van de feature niet worden verwijderd. |
| Technisch Ontwerp: identiteit, authenticatie en rolcontext, security en omgevingen, Blazor frontend | Beschrijft hoe toegankelijkheidsinstellingen in UserSettings of equivalent worden opgeslagen. |
| Technisch Ontwerp: identiteit, authenticatie en rolcontext, security en omgevingen, Blazor frontend | Beschrijft welke instellingen naar een technische cookie of browserwaarde worden gespiegeld en welke waarden minimaal noodzakelijk zijn. |
| Technisch Ontwerp: identiteit, authenticatie en rolcontext, security en omgevingen, Blazor frontend | Beschrijft de validatie van instellingstype, toegestane waarden en lettergroottegrenzen. |
| Technisch Ontwerp: identiteit, authenticatie en rolcontext, security en omgevingen, Blazor frontend | Beschrijft directe toepassing in frontend/themelaag en fallbackgedrag wanneer cookie- of browseropslag niet beschikbaar is. |
| Software Requirements Specification | Bevat requirements voor eigen-gebruikerautorisatie, directe opslag, directe toepassing, featuretoggle, validatie, veilige foutafhandeling en cookie-spiegeling. |
| Database-informatie | Beschrijft UserSettings als opslag voor toegankelijkheidswaarden, wijzigingsmetadata en defaults. |
| Ontwerpbronnen | Voeg business rules, commands, events, domeinobjecten, popupverwijzingen en usecase-matrices toe voor deze flow. |
19. SRS-trace
Deze usecase bevat geen normatieve requirementtekst. De centrale eis en acceptatiecriteria staan in de SRS; onderstaande tabel koppelt de usecase-afleiding alleen aan centrale SRS-*- en AC-*-items.
| Usecase-afleiding | Dekt | Usecasecontext |
|---|---|---|
REQ-UC-GEN-PROF-005-001 | SRS-AUTH-001 SRS-RDM-001 SRS-ACC-003 SRS-ACC-005 SRS-POP-003 SRS-NFR-ACC-001 AC-AUTH-001 AC-RDM-001 AC-ACC-003 AC-ACC-005 AC-POP-003 AC-NFR-ACC-001 | Een ingelogde gebruiker via het profielmenu toegang kunnen geven tot een eigen toegankelijkheidspagina wanneer de toegankelijkheidsfeature actief is |
REQ-UC-GEN-PROF-005-002 | SRS-ACC-003 SRS-ACC-005 SRS-NFR-ACC-001 AC-ACC-003 AC-ACC-005 AC-NFR-ACC-001 | Voorkomen dat een gebruiker via de normale toegankelijkheidsroute instellingen van een andere gebruiker bekijkt of wijzigt |
REQ-UC-GEN-PROF-005-003 | SRS-AUTH-001 SRS-RDM-001 SRS-ACC-003 AC-AUTH-001 AC-RDM-001 AC-ACC-003 | De doelgebruiker server-side afleiden uit de sessie |
REQ-UC-GEN-PROF-005-004 | SRS-RDM-001 SRS-ACC-003 SRS-ACC-005 SRS-POP-003 SRS-NFR-ACC-001 AC-RDM-001 AC-ACC-003 AC-ACC-005 AC-POP-003 AC-NFR-ACC-001 | De sitebrede toegankelijkheidsfeature controleren voordat de pagina en bedieningselementen functioneel beschikbaar zijn |
REQ-UC-GEN-PROF-005-005 | SRS-ACC-003 SRS-ACC-005 SRS-POP-003 SRS-NFR-ACC-001 AC-ACC-003 AC-ACC-005 AC-POP-003 AC-NFR-ACC-001 | Eerder opgeslagen toegankelijkheidswaarden behouden wanneer de toegankelijkheidsfeature sitebreed wordt uitgeschakeld |
REQ-UC-GEN-PROF-005-006 | SRS-ACC-003 SRS-ACC-005 SRS-NFR-ACC-001 AC-ACC-003 AC-ACC-005 AC-NFR-ACC-001 | Verhoogd contrast / leesbaarheid als toegankelijkheidsinstelling ondersteunen |
REQ-UC-GEN-PROF-005-007 | SRS-ACC-003 SRS-ACC-005 SRS-NFR-ACC-001 AC-ACC-003 AC-ACC-005 AC-NFR-ACC-001 | Gebruik van een dyslexielettertype als toegankelijkheidsinstelling ondersteunen |
REQ-UC-GEN-PROF-005-008 | SRS-ACC-003 SRS-ACC-005 AC-ACC-003 AC-ACC-005 | Vergroten en verkleinen van de standaard lettergrootte binnen toegestane grenzen ondersteunen |
REQ-UC-GEN-PROF-005-009 | SRS-ACC-003 SRS-ACC-005 SRS-NFR-ACC-001 AC-ACC-003 AC-ACC-005 AC-NFR-ACC-001 | Gewijzigde toegankelijkheidsinstellingen direct opslaan in het gebruikersprofiel of gebruikersinstellingendomein |
REQ-UC-GEN-PROF-005-010 | SRS-ACC-003 SRS-ACC-005 SRS-NFR-ACC-001 AC-ACC-003 AC-ACC-005 AC-NFR-ACC-001 | Succesvol opgeslagen toegankelijkheidsinstellingen direct toepassen in de actieve OefenHub-interface |
REQ-UC-GEN-PROF-005-011 | SRS-AUTH-001 SRS-ACC-003 SRS-ACC-005 SRS-NFR-ACC-001 AC-AUTH-001 AC-ACC-003 AC-ACC-005 AC-NFR-ACC-001 | Instellingstype, sleutel en waarde server-side valideren voordat een toegankelijkheidsinstelling wordt opgeslagen |
REQ-UC-GEN-PROF-005-012 | SRS-ACC-003 AC-ACC-003 | Voorkomen dat onbekende instellingensleutels, onjuiste datatypen of waarden buiten toegestane grenzen worden opgeslagen |
REQ-UC-GEN-PROF-005-013 | SRS-ACC-003 SRS-ACC-005 AC-ACC-003 AC-ACC-005 | De standaard lettergrootte alleen binnen centraal vastgelegde minimum- en maximumgrenzen laten wijzigen |
REQ-UC-GEN-PROF-005-014 | SRS-ACC-003 SRS-ACC-005 SRS-POP-003 SRS-NFR-ACC-001 AC-ACC-003 AC-ACC-005 AC-POP-003 AC-NFR-ACC-001 | Relevante toegankelijkheidswaarden naar een technische cookie of vergelijkbare browserwaarde kunnen spiegelen wanneer de feature actief is en browseropslag beschikbaar is |
REQ-UC-GEN-PROF-005-015 | SRS-ACC-003 SRS-ACC-005 SRS-NFR-ACC-001 AC-ACC-003 AC-ACC-005 AC-NFR-ACC-001 | Profielopslag of gebruikersinstellingopslag als bron van waarheid gebruiken voor ingelogde toegankelijkheidsinstellingen |
REQ-UC-GEN-PROF-005-016 | SRS-ACC-003 SRS-ACC-005 SRS-NFR-AVL-001 AC-ACC-003 AC-ACC-005 AC-NFR-AVL-001 | Bij mislukte cookie- of browseropslag de succesvol opgeslagen profielinstelling behouden |
REQ-UC-GEN-PROF-005-017 | SRS-ACC-003 SRS-ACC-005 SRS-NFR-ACC-001 AC-ACC-003 AC-ACC-005 AC-NFR-ACC-001 | Bij technische opslagfouten de laatst succesvol opgeslagen toegankelijkheidsinstelling behouden |
REQ-UC-GEN-PROF-005-018 | SRS-ACC-003 SRS-ACC-005 SRS-TIC-002 SRS-NFR-SEC-001 SRS-NFR-ACC-001 AC-ACC-003 AC-ACC-005 AC-TIC-002 AC-NFR-SEC-001 AC-NFR-ACC-001 | Veilige gebruikersmeldingen tonen zonder technische details wanneer een toegankelijkheidsinstelling niet kan worden opgeslagen of toegepast |
REQ-UC-GEN-PROF-005-019 | SRS-ACC-003 SRS-ACC-005 SRS-RDM-008 SRS-REL-001 SRS-MSG-001 SRS-CAT-006 AC-ACC-003 AC-ACC-005 AC-RDM-008 AC-REL-001 AC-MSG-001 AC-CAT-006 | Geen naamgegevens, niveaucontext, e-mailadres, wachtwoord, profielfoto, rollen, relaties, oefenruns, berichten of algemene voorkeuren wijzigen als onderdeel van toegankelijkheid... |
REQ-UC-GEN-PROF-005-020 | SRS-ACC-002 SRS-ACC-003 AC-ACC-002 AC-ACC-003 | Verlopen sessies via de generieke loginflow afhandelen |
REQ-UC-GEN-PROF-005-021 | SRS-AUTH-001 SRS-ACC-003 AC-AUTH-001 AC-ACC-003 | Ontbrekende autorisatie via de generieke toegang-geweigerd-afhandeling verwerken |
REQ-UC-GEN-PROF-005-022 | SRS-ACC-003 SRS-POP-001 AC-ACC-003 AC-POP-001 | Popupinhoud en knopteksten voor deze flow centraal via het popupregister kunnen beheren wanneer popups worden gebruikt |
REQ-UC-GEN-PROF-005-023 | SRS-ACC-003 SRS-ACC-005 SRS-RDM-008 SRS-NFR-ACC-001 AC-ACC-003 AC-ACC-005 AC-RDM-008 AC-NFR-ACC-001 | Toegankelijkheidsinstellingen functioneel gescheiden houden van algemene voorkeuren, ook wanneer beide technisch in hetzelfde gebruikersinstellingendomein worden opgeslagen |
REQ-UC-GEN-PROF-005-024 | SRS-ACC-003 SRS-NFR-AUD-001 AC-ACC-003 AC-NFR-AUD-001 | Wijzigingsmetadata vastleggen wanneer het gebruikersinstellingmodel daarvoor velden bevat |