fix(a11y): merkkleuren als interfacetekst worden mode-afhankelijk (#606) #712
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!712
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/606-contrast-audit"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Werkt de audit uit #606 af voor de drie merkkleuren. Een eerdere ronde deed de meting (
app_theme_contrast_test.dart) en drie call sites; wat restte was het per-gebruik nalopen van de tokens.Wat er misging
accent(#2563EB),navy(#1C2B47) enteal(#2E7D64) werden op zeventig plekken als tekst- en icoonkleur gebruikt in dialogen, editors, panelen en de schil. In de donkere modus haalt het blauw daar 3,3:1 (de eis is 4,5:1) en verdwijnt het marineblauw zo goed als helemaal. Dat is precies de "physician, heal thyself" die de issue noemt: de app meet de contrast van jóuw dia's, maar hield zich er zelf niet aan.De scheidslijn: chroom tegen inhoud
De kern van de ingreep is dat de merkkleuren niet mogen meebewegen. Ze vullen vlakken, tekenen randen, en een deel rendert ín een dia — en een dia moet in de preview identiek zijn aan een headless export, waar de app-modus niet bestaat. Een kleur die het thema volgt zou daar twee verschillende PDF's van één deck opleveren (PENTEST_MIAUW §11).
Dus niet licht-tegen-donker maar chroom tegen inhoud: tekst die je in de app leest volgt de app (
accentFg/brandFg/tealFg), inkt die op een dia landt blijft de const-merkkleur. Waar mijn omzetting een vlak of rand raakte in plaats van tekst, heb ik het teruggedraaid — een vlak hoeft de tekstlat niet te halen.De ratchet
app_theme_contrast_test.dartkrijgt een tweede toets: de mode-afhankelijke tokens moeten de lat wél halen, in beide modi. Anders is eenFg-token invoeren dat net zo onleesbaar is als de merkkleur die het verving een stille no-op. Donker zakt van 17 naar 14 tokens onder de lat — die drie verdwenen niet door recolour maar doordat hun tekstgebruik verhuisde.De contrastverhoudingen zijn vooraf uitgerekend, niet gegokt: de donkere varianten boven 7:1, de lichte boven 6:1.
Getoetst
make checkgroen,make test-goldengroen — de dia's renderen byte-identiek, wat hier de kern is: de merkkleuren daar mochten niet bewegen.make check-secretsenmake sastschoon.Fg-token onder de lat maakt de nieuwe toets rood, en een verhuisd token terugzetten in de baseline ook.Wat van #606 overblijft
De ernst-, checklist- en scopepaletten (de 14 resterende donkere tokens). Díé renderen werkelijk in dia's, dus recolour kan niet en een overal-gebruikte tegenhanger ook niet; ze vragen dezelfde lezing per gebruik.
ACCESSIBILITY.mddraagt die stand en de tweedeling.Werkt aan #606; die blijft open voor die paletten.