Tekstafstand
Silktide finder elementer, hvis inline-stile låser deres tekstafstand –
letter-spacing, word-spacing eller line-height – med !important ved en
værdi under WCAG-minimumskravet, så brugere ikke kan justere den.
Hvorfor dette er vigtigt
Personer med dysleksi eller nedsat syn har ofte brug for mere afstand i teksten for at kunne læse den: højere linjer og større afstand mellem bogstaver og ord. De gør dette med browserudvidelser og brugerdefinerede typografiark, der tilsidesætter en sides afstand.
Disse værktøjer indsætter almindelig CSS på forfatterniveau. En !important-
deklaration i et elements style-attribut har forrang over alle regler på
forfatterniveau, uanset hvor specifikke de er – det er den eneste konstruktion
på en side, som disse værktøjer ikke kan tilsidesætte. Når den låser afstanden
under minimumskravene, bliver brugeren ganske enkelt udelukket.
-succeskrav 1.4.12 (niveau AA) kræver, at indhold fortsat fungerer, når brugere øger tekstafstanden til mindst:
- Linjehøjde – 1,5 gange skriftstørrelsen
- Bogstavafstand – 0,12 gange skriftstørrelsen
- Ordafstand – 0,16 gange skriftstørrelsen
Sådan retter du det
Gør én af følgende ting for hvert markeret element:
- Fjern
!important-flaget fra inline-deklarationen. Brugernes værktøjer kan derefter tilsidesætte den, og dit design er uændret for alle andre. - Flyt deklarationen til et typografiark. Selv med
!importantkan regler i typografiark tilsidesættes af brugerværktøjer. - Hæv værdien til WCAG-minimumskravet, hvis afstanden reelt skal være fastlåst.
<!-- Fejler: låst under minimumskravet; brugerværktøjer kan ikke tilsidesætte dette -->
<p style="line-height: 1.2 !important">…</p>
<!-- Rettet: kan tilsidesættes -->
<p style="line-height: 1.2">…</p>
<!-- Også fint: låst, men med en værdi, der allerede opfylder minimumskravet -->
<p style="line-height: 1.5 !important">…</p>
Sådan tester Silktide dette
- Find elementer, hvis
style-attribut deklarererletter-spacing,word-spacingellerline-heightmed!important, og som direkte indeholder synlig tekst. - Beregn den deklarerede værdi i forhold til elementets skriftstørrelse.
- Rapportér elementet, når den låste værdi er under WCAG-minimumskravet for den pågældende egenskab.
Dette afspejler W3C ACT-reglerne for 1.4.12 (bogstavafstand, ordafstand, linjehøjde).
Silktide markerer ikke !important-afstand i typografiark – brugerværktøjer
kan stadig tilsidesætte dem – og simulerer ikke anvendelse af afstands-
tilsidesættelser for at opdage ødelagte layout, da intet automatiseret værktøj
på nuværende tidspunkt gør dette. At bestå dette tjek betyder, at intet på
siden forhindrer brugere i at justere afstanden; det er en hurtig manuel test
at kontrollere, at dit layout forbliver læsbart med justeret afstand, ved hjælp
af en bogmærkelet til tekstafstand.
Fejlfinding
Inline-stilen kommer fra et framework eller en tredjepartswidget
Komponentbiblioteker og integrerede scripts skriver nogle gange inline-stile
med !important. De tæller stadig imod din side; kontrollér leverandørens
indstillinger, eller tag det op med dem.
Afstanden er låst ved en kompatibel værdi
Værdier på eller over WCAG-minimumskravene består, selv når de er låst – en
låst line-height: 1.6 !important skader ingen, fordi den allerede overstiger
det, brugerne ville øge den til.