Spring til indhold

Har navngivet alle 17 ikoner til skærmlæsere

Har navngivet hver eneste ikonknap i grænsefladen for skærmlæsere efter at have opdaget, at send‑knappen blev læst op som "arrow up circle, button", og skrevet den linter, der kræver etiketten inden for otte linjer fra ikonet.

  • Microphone, headphones, music
    Foto: AndNowProjekt / Pixabay
  • Technology, control panel, buttons
    Foto: ThomasWolter / Pixabay

hver ikonknap navngivet for skærmlæsere

Situation. Grænsefladen brugte systemsymboler til sine kontroller, og et symbol uden en tilgængelighedsetiket læses op af skærmlæseren med sit eget interne navn. Send‑knappen blev annonceret som “pil op cirkel, knap”. Det samme gjaldt alle de andre kontroller med kun et ikon i programmet, hver på sin måde — sytten af dem beskrev deres eget billede i stedet for deres funktion.

Opgave. Hver kontrol med kun et ikon havde brug for en etiket, der beskriver, hvad den gør, og rettelsen skulle følges af et tjek, for det næste ikon, der blev tilføjet, ville ellers genindføre defekten med det samme.

Handling. Hver af de sytten fik en etiket, der angiver handlingen og ikke formen, og hvor kontrollens betydning afhænger af tilstand, følger etiketten tilstanden i stedet for at være fast. Tjekket er den del, der er værd at beskrive, for en generel regel af typen “er dette tilgængeligt” findes ikke til det formål. Linteren leder efter den konstruktion, der skaber en kontrol med kun et ikon, og kræver derefter en tilgængelighedsetiket højst otte linjer fra den. Otte linjer er en bevidst grov tommelfingerregel, og den blev valgt ved måling: den er lang nok til at spænde over hver legitim måde, kodebasen skriver en af disse kontroller med dens modifikatorer, og kort nok til, at en etiket, der er knyttet til en anden visning længere nede, ikke ved et uheld opfylder den. En præcis regel her ville skulle forstå SwiftUI’s modifikatorkæder som et træ, og den billige nærhedsregel fanger den faktiske fejl — som ikke er en kontrol med en forkert etiket, men en kontrol helt uden etiket.

Resultat. Alle sytten kontroller annoncerer deres funktion, og en attende kan ikke tilføjes uden en. Reglens unøjagtighed er reel og står dér, hvor reglen er defineret: den kan opfyldes af en etiket på en nabovisning, så den beviser, at en etiket findes i nærheden, men ikke, at etiketten er korrekt, og korrekthed kræver stadig, at nogen lytter til den.

Ét stykke af en længere fortegnelse — og det hele ligger her på sitet.

Hver post er skrevet på samme måde: situationen, opgaven, hvad vi gjorde, og hvad der ændrede sig.

Se hele fortegnelsen