Stijl: het standaardthema zakt door zijn eigen contrasteis zodra je een checklist gebruikt #1818
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#1818
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Wat er misgaat
Het standaard stijlprofiel gebruikt
checklistUncheckedColor: '#CBD5E1'opslideBackgroundColor: '#FFFFFF'. Dat is een contrastverhouding van 1,48,terwijl
SlideQualityAnalyzer._checkChecklistContrasteen drempel van 3,0hanteert (WCAG 1.4.11, niet-tekstuele UI-componenten).
Gevolg: elk deck met een checklist-dia levert bij het openen meteen een
checklistContrast-waarschuwing op —{label: Checklist (niet aangevinkt), ratio: 1.5, threshold: 3.0}— zonder dat de auteur daar vanuit de.mdietsaan kan doen, want styling staat bewust niet in het bestand (FILE_FORMAT §3.2).
De enige uitweg is het stijlprofiel aanpassen, en daar gaat niemand naar zoeken
als hij een waarschuwing op zijn dia ziet.
Dit is een defect in de standaardwaarde, niet in de check: de app zakt door zijn
eigen ondergrens zodra je een van zijn eigen diatypes gebruikt.
Gemeten op
main(2bc36eea6), 2026-08-27, alle gebundelde profielen doorSlideQualityAnalyzermet een deck van titel/sectie/checklist/tabel/code:Drie van de vier profielen dragen dus dezelfde kleur, en Vigilis draagt er nog
drie eigen bij (zie het aparte issue voor het merkgeel).
De reparatie
#94A3B8— de voor de hand liggende volgende stap in de slate-ramp — haalt hetniet: 2,56. Narekenen dus, niet gokken. De lichtste tint die 3,0 haalt ligt
rond
#8695AA(3,05), en dat is te weinig marge.#64748B(slate-500) haalt 4,76 op wit. En het is de enige klasse kleur dieop beide uitersten werkt: op de donkere achtergronden die deze repo elders
gebruikt haalt het 3,90 (
#111318), 3,75 (#0F172A) en 3,07 (#1E293B), waar#CBD5E1juist op wit faalt. Een midden-grijs is de enige keuze die 3:1 haaltongeacht of de auteur zijn dia licht of donker zet.
Toetsen
Een test die de gebundelde profielen door
SlideQualityAnalyzerhaalt en nulcontrastbevindingen eist. Zonder die test kruipt dezelfde fout er bij het
volgende kleurtje weer in — er is vandaag niets dat de standaardwaarden aan hun
eigen ondergrens houdt.
Opgepakt. Tak: fix/checklist-contrast-default (worktree). Reikwijdte: lib/models/settings.dart (drie profielen + Vigilis-sectie), test/theme_profile_contrast_test.dart (nieuw), docs/FILE_FORMAT.md §3.2 + nl, CHANGELOG. Het Vigilis-accentgeel blijft er bewust buiten — dat is een merkbesluit en staat apart.
Opgelost en op main geverifieerd: merge-commit
1a50646e5(PR #1820).checklistUncheckedColorstaat nu op#64748Bin alle vier de kopieën van die standaard — constructor, security, vigilis, en de terugval inThemeProfile.fromJson. Die laatste was bijna vergeten; dan had een profiel dat zónder deze sleutel uit de instellingen komt de oude kleur teruggekregen. Er staat nu een test op dat die twee gelijk blijven.De waarde is nagerekend:
#94A3B8haalt 2,56 en zou het niet hebben opgelost.#64748Bhaalt 4,76 op wit en 3,90/3,75/3,07 op de donkere tinten die de repo elders voert — een midden-grijs is de enige klasse die 3:1 haalt ongeacht hoe de auteur zijn achtergrond zet.Het bleek breder dan gemeld. Vigilis droeg er drie bij: de sectiedia tekende wit op het merkgeel (1,73, bevestigd in de renderer, niet alleen in de analyzer). Die achtergrond is nu het merkzwart
#111318;accentColorblijft#FFB800.Wat er NIET in zit, met opzet:
#2E7D64haalt op#1E293B2,95 — nét onder 3,0. Bestaand geval op een achtergrond die geen gebundeld profiel voert; repareren zou de standaard-accentkleur veranderen. Staat opgeschreven in de test.De poort die ontbrak staat er nu:
test/theme_profile_contrast_test.darthaalt elk gebundeld profiel door dezelfde analyzer als het kwaliteitspaneel en eist nul bevindingen, met uitzonderingen bij naam plus issuenummer — en een tweede test die faalt zodra een uitzondering niet meer nodig is. ACCESSIBILITY.md en FILE_FORMAT §3.2 zijn bijgewerkt, in beide talen.