Toegankelijkheid: HTML-export hardcodeert <html lang="nl"> (WCAG 3.1.1) #1249

Closed
opened 2026-08-04 23:08:46 +00:00 by brenno · 0 comments
Owner

Toegankelijkheid — HTML-export schrijft altijd <html lang="nl"> (WCAG 3.1.1)

lib/services/marp_html_service.dart:258-260 schrijft de HTML-export altijd met <html lang="nl">, ongeacht de gekozen interfacetaal (de app ondersteunt er 32) of de taal van de content.

Waarom het ertoe doet

Een schermlezer gebruikt het lang-attribuut om de stem en uitspraak te kiezen. Een deck dat in het Fins is geschreven, wordt met de HTML-export in Nederlandse uitspraak voorgelezen — onverstaanbaar. Dit raakt WCAG 2.1 SC 3.1.1 (Taal van de pagina) op AA-niveau.

De HTML-export is juist de route die docs/ACCESSIBILITY.md aanbeveelt "when the recipient needs to read rather than look" — dus hier tref je de blinde gebruiker precies aan. PDF en PPTX zijn bitmaps en irrelevant voor deze norm, maar de HTML-export is de toegankelijke uitweg en hij liegt over zijn taal.

Voorstel

Maak lang dynamisch op basis van de actieve interfacetaal (of een deck-veld als dat er is). Eén string-interpolatie op de aangegeven regel. Let op: de l10n-context die de export gebruikt, is nu ook Locale('nl') hardgecodeerd in marp_html_service_images.dart:71 — die hoort samen te bewegen als de exporttaal variabel wordt.

Scope

Raakt een publieke belofte (de export belooft het deck te zijn, in zijn taal) — bewaker-blik gewenst bij de keuze tussen interfacetaal versus een expliciet deck-taalveld.

## Toegankelijkheid — HTML-export schrijft altijd `<html lang="nl">` (WCAG 3.1.1) `lib/services/marp_html_service.dart:258-260` schrijft de HTML-export altijd met `<html lang="nl">`, ongeacht de gekozen interfacetaal (de app ondersteunt er 32) of de taal van de content. ### Waarom het ertoe doet Een schermlezer gebruikt het `lang`-attribuut om de stem en uitspraak te kiezen. Een deck dat in het Fins is geschreven, wordt met de HTML-export in Nederlandse uitspraak voorgelezen — onverstaanbaar. Dit raakt WCAG 2.1 SC 3.1.1 (Taal van de pagina) op AA-niveau. De HTML-export is juist de route die `docs/ACCESSIBILITY.md` aanbeveelt *"when the recipient needs to read rather than look"* — dus hier tref je de blinde gebruiker precies aan. PDF en PPTX zijn bitmaps en irrelevant voor deze norm, maar de HTML-export is de toegankelijke uitweg en hij liegt over zijn taal. ### Voorstel Maak `lang` dynamisch op basis van de actieve interfacetaal (of een deck-veld als dat er is). Eén string-interpolatie op de aangegeven regel. Let op: de `l10n`-context die de export gebruikt, is nu ook `Locale('nl')` hardgecodeerd in `marp_html_service_images.dart:71` — die hoort samen te bewegen als de exporttaal variabel wordt. ### Scope Raakt een publieke belofte (de export belooft het deck te zijn, in zijn taal) — `bewaker`-blik gewenst bij de keuze tussen interfacetaal versus een expliciet deck-taalveld.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#1249
No description provided.