fix(a11y): laat het instellingenvenster tegen zijn eigen 200%-tekstschaling (#646) #688
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!688
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/instellingen-zijbalk-646"
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?
Lost het hoofditem van #646 op: het instellingenvenster bezweek bij 200% tekstgrootte — de instelling die het zelf aanbiedt.
Het probleem
OciDeck biedt tekstschaling tot 200% aan, uitdrukkelijk als toegankelijkheidsinstelling (WCAG 1.4.4). Zet je hem aan en open je Instellingen, dan leest de zijbalk "Einste…", "App-De…", "Präsent…", "Lizenz u…". Een navigatie waarop je niet meer kunt navigeren, voor precies de gebruiker die de instelling nodig had.
Oorzaak: een vaste breedte van 234 pixels, en elk label op één regel met ellipsis.
De reparatie
Drie fouten die niemand gemeld had
Bij het schrijven van de test kwamen er drie overloopfouten uit, alle drie dezelfde klasse — een
Rowmet tekst en geen ruimte om te wijken:De knoppen stapelen nu (
Wrap), de koppen breken af (Flexible+ twee regels), en het venster groeit mee — begrensd door het scherm, want een dialoog die groter is dan het scherm ruilt het ene probleem voor het andere.Over de test, en wat die níét kan
Onder
flutter testis het lettertype een testfont waarin elk teken even breed is als hoog. "Lizenz und Datenschutz" is daar 22 vierkanten breed en past in geen redelijke kolom, ook op 100% niet. Een toets "er kapt niets af" zou dus rood staan op een interface die in het echt prima leest, en groen te maken zijn door de kolom absurd breed te maken — een test die je naar het verkeerde antwoord duwt.De test meet daarom wat het testfont overleeft: de breedte groeit mee (en houdt zich in), labels krijgen twee regels, de tooltip draagt de volle naam. Plus de eigenschap waar het werkelijk om gaat: grotere tekst mag niet méér informatie kosten dan kleine tekst. Die grens staat in de test zelf opgeschreven — een test die doet alsof ze meer bewijst dan ze kan, is erger dan geen test.
Duits als taal, want daarin viel het op; met korte woorden zou de test slagen zonder dat er iets was opgelost.
Getoetst
make checkgroen.make test-goldengroen (de zijbalk is op 100% onveranderd, dus de goldens verschuiven niet).make check-secretsenmake sast: schoon.maxLinesterug naar 1. Beide maken de test rood. De eerste poging trof per ongeluk een anderemaxLines: 2in hetzelfde bestand en leverde groen op; dat was mijn mutatie die miste, niet de test. Opnieuw gericht en toen wél rood.Wat van #646 overblijft
De issue bundelt zes kleinere observaties uit dezelfde sessie. Die blijven staan: de consentmuur die "Akkoord" grijs laat zonder te zeggen waarom, de dubbele opslagdialoog, de half-Engelse macOS-menubalk, de foutmelding bij een kapotte
.mdzonder reden of regelnummer, de tijdstempel in de exportnaam, en het Cockpit-diatype dat in de standaardlijst staat terwijl de informatieveiligheidsmodule uit is en belooft verborgen te blijven.Die laatste twee noemt de issue zelf als de enige met echte gebruikersimpact. Het Cockpit-item is bovendien een gebroken belofte, geen schoonheidsfoutje — dat verdient een eigen ronde.
Werkt aan #646; die blijft open voor de rest.