feat(toegankelijkheid): keuzemenu-blokken met het toetsenbord bedienbaar (#1162) #1550
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!1550
Loading…
Reference in a new issue
No description provided.
Delete branch "keuzemenu-toetsenbord"
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 dit oplost
De blokken en categoriepillen van een keuze-menudia (#1162) waren een kale
GestureDetectorover een getekende kaart: geen knoprol, geen focus, geen toetsenbordroute. Wie met een klikker presenteert of geen muis kan gebruiken, kwam een menudia niet door — en dat is nu juist het diatype dat over navigeren gaat (WCAG 2.1.1). Het stond als bekend gat indocs/ACCESSIBILITY.md; die tekst beschrijft nu wat het dóét.Tab/Shift+TabEnter·↵· spatieEscapeEnter en spatie zijn in de presentator óók "volgende dia". Dat botst niet: een toetsaanslag gaat eerst naar het onderdeel met de focus. De pijltjestoetsen blijven van de presentatie — die onderscheppen zou betekenen dat je met de focus op een blok niet verder kunt. Een schermlezer krijgt de knoprol met de uitleg achter het label (
Prijzen. Wat het kost), en de tekst ín de kaart is uitgesloten zodat er niets dubbel klinkt. Een tekstblok zonder doel blijft bewust een gewoon blok, geen knop.Eén gedeelde widget voor kaart, schijf en pil: drie kopieën van focus-, toets- en semantiekafhandeling zijn drie plekken waar er één achterblijft, en juist bij toegankelijkheid kijkt daar niemand naar tot iemand het nodig heeft.
Vier keuringsrondes op één focusring
De gedragsproeven stonden na de eerste commit groen. De beeldkeuring vond daarna in vier rondes vijf echte fouten, waarvan ik er drie zélf had geïntroduceerd tijdens het repareren van de vorige. Ze staan hier omdat ze samen één les zijn.
BoxShadowzonder vervaging — dat tekent een gevulde vorm, en in de voorgrond zonder achtergrondkleur overschilderde die het gefocuste blok volledig. Label, uitleg en pijl weg, precies op het blok dat de presentator moet kunnen lezen.Border.alltekent bínnen de doos, en die ruimte was nergens gereserveerd. De ring is een fractie van de diabreedte terwijl het blok krimpt met het aantal blokken: bij zestien blokken at een ring van 19 px een schijf van 84 px op. Nu hangt hij in eenStackmetClip.nonebuiten het blok — de layout wordt niet geraakt.Clip.hardEdge).#003399. De eerste reparatie ("neem de verste van tekst en achtergrond, op luminantie") loste dat op maar was systematisch scheef: in een deugdelijk thema ligt de achtergrond per definitie aan het uiterste van het luminantiebereik, dus die wint bijna altijd — en dat is precies de kandidaat die géén inkt zet. Drie van de vier meegeleverde profielen verloren zo hun tweede band. Nu is de tekstkleur de eerste keus, met de achtergrond als terugval bij een echte botsing, en de maatstaf is het grootste kanaalverschil in plaats van luminantie (rood naast teal is een duidelijke tweede band terwijl hun helderheid vrijwel gelijk is).De les, en wat eraan is gedaan
Elke ronde stonden mijn proeven groen, en elke ronde toetsten ze het verkeerde: of Tab focust, of Enter springt, of er een rand is, of de twee kleuren verschillen. Geen ervan keek naar wat er werkelijk op de dia stond. Wat er nu wordt gemeten:
color,gradientofboxShadowop een ringdecoratie;Elke reparatie is één keer rood gezien tegen de ongerepareerde code, met een kopie van het bestand in plaats van
git checkout(dat gooide eerder deze sessie tweemaal ongecommit werk weg).Geen goldens. De keuring vroeg er vier. Op deze machine faalt 27 van de 43 bestaande goldens, inclusief diatypes waar niets aan is geraakt — dit is dus niet de referentiemachine, en hier gegenereerde goldens zouden alleen bij mij kloppen. De metende proeven hierboven dekken alle vijf de gevonden fouten.
Bewust niet opgelost
De categoriepil is bij LibreKAT 3 px accent breed. Dikker kan niet zonder over de buurpil te lopen, en het is geen plek waar iemand vastloopt: de pillen komen als eerste in de tabvolgorde, er zijn er een handvol, de open pil is zelf al vetgedrukt en accentkleurig, en wisselen kan ook via de blokken. Bij de andere zeven gemeten profielen zet diezelfde pil 4 px accent plus een tweede band. Gemeten oordeel, door de keuring bevestigd.
Poorten
make checkgroen (9700+ tests, dekkingsvloer en per-bestandsvloer),make check-secretsgroen,make sastgroen (0 findings). DAST niet gedraaid — deze wijziging raakt geen geserveerd oppervlak.docs/ACCESSIBILITY.md,docs/SHORTCUTS.md,docs/USER_GUIDE.md(beide talen) en de CHANGELOG zijn bij. Geen nieuwe interfaceteksten, dus geen vertaalronde.