fix(a11y): dia-inhoud bewoog mee met het app-thema — codeblok, grafiek-tooltip en projectielabel (#822) #827
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!827
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/dia-inhoud-thema-onafhankelijk-822"
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?
Een dia is een vast wit canvas: preview, beamer en de headless export-isolate
horen identiek te renderen, en de export schrijft altijd de lichte waarden.
Drie dia-onderdelen kleurden zich uit mode-afhankelijke
AppTheme-tokens,en keerden dus om in donkere modus terwijl het canvas wit bleef.
Gemeten
inkgithubThemeopghSurfacewarningFgop zwartHet label is de ergste: het staat op een zwart projectie-overlay, en de
export schreef de lichte kant van
warningFg(#92400E) — 2,96:1 — terwijl dedonkere-modus-preview de amber toonde. Preview en export weken dus uiteen,
precies wat het exportdialoog belooft dat níet gebeurt.
De fix
ghSurface/ghInk/ghBorder→const(de lichte waarden). Ze wordennergens buiten
lib/widgets/slides/gebruikt, en de syntaxkleurstellingernaast (
githubTheme) is de vaste lichte — de bak hoort niet mee te bewegen.Dekt het codeblok én het mermaid-diagram in één keer.
chartTooltipBg(#0F172A, de lichte kant vanink),een vaste donkere bak. Wit leest erop, in beide modi, gelijk aan de export.
warningFg.Draaiend nagekeken (donkere modus)
```dart): lichte bak, donkere syntax — leest. Precies de takmét taalherkenning die 1,23:1 was.
De poort — en waarom die het echte werk is
app_theme_contrast_testhad hier al een toets, maar die somde drie tokens op(
slideInk/slideInkMuted/slideInkSoft). Een tokenlijst bewaakt wat erinstaat;
ink,ghSurface,ghInk,ghBorderenwarningFgstonden er nietin.
slide_content_theme_independent_testdraait het om: hij leest demode-afhankelijke getters uit
app_theme.dartzélf (elkeget X => _m(…)) encontroleert dat géén ervan in het dia-renderpad voorkomt (
previews/+mermaid_diagram.dart). Een bronwacht op de gebruiksplek, niet op een lijst— zo veroudert hij niet bij het volgende token dat mode-afhankelijk wordt. Eén
keer rood gezien door
inkterug te zetten.De chrome eromheen (dialogen, popovers, thumbnail-badges) blijft bewust
mode-afhankelijk: die staat niet op de dia en hoort juist met het thema mee te
bewegen.
Poorten
make check, goldens, secrets en SAST groen. Bewaker overgeslagen, expliciet:geen formaat/opslag/afhankelijkheid/verkeer/belofte geraakt — kleurtokens en één
toets. (De export-parity die dit herstelt is juist een belofte die het naleeft,
niet breekt.)
Closes #822