Teknologi

Stemmestyring

Se også: Dragon NaturallySpeaking, Voice Control, Windows Speech Recognition, VoiceAccess

Den klasse af hjælpeteknologi, der lader brugere betjene en computer via talte kommandoer. Dragon NaturallySpeaking (Windows), macOS/iOS Voice Control, Windows Speech Recognition — alle afhænger af, at tilgængelige navne matcher den talte kommando.

Stemmestyring er den hjælpeteknologi-klasse, der lader brugere betjene en computer via talte kommandoer. De vigtigste systemer er Dragon NaturallySpeaking (Windows, den mangeårige markedsleder), macOS Voice Control og iOS Voice Control (Apples indbyggede, gratis med styresystemet), Windows Speech Recognition (Microsofts indbyggede) og Google Voice Access (Android).

Stemmestyring bruges af mennesker med motorisk funktionsnedsættelse, der gør tastatur/mus/touchskærm-brug vanskelig eller umulig — RSI, gigt, rystelser, lammelse på forskellige niveauer. Den bruges også i vidstrakt omfang i arbejdseffektivitets­kontekster (jurister og klinikere, der dikterer noter), hvor brugeren ikke har en dokumenteret funktionsnedsættelse, men drager fordel af håndfri betjening.

Hvordan stemmestyring opløser kommandoer

Et stemmestyringssystem lytter efter to slags kommandoer:

  1. Diktat — brugeren taler tekst, der skal indtastes i et fokuseret felt. Systemet transskriberer talen.
  2. Kommandoer — brugeren navngiver en handling eller et kontrolelement. Systemet matcher den talte sætning mod et register af tilgængelige kommandoer og tilgængelige navne på kontrolelementer på skærmen.

Den anden slags er, hvor webtilgængelighed skærer ind: når brugeren siger “Klik Send”, leder stemmestyringssoftwaren efter et element med det tilgængelige navn “Send” (eller et tæt match) og sender en klik-hændelse til det. Hvis din Send-knap ikke har et tilgængeligt navn — fordi den er en umærket <button>, eller et brugerdefineret <div>, eller en knap med et ikon-kun-label — kan stemmestyrings­brugeren ikke betjene den.

Hvad det betyder for webudviklere

Den vigtigste enkelt­regel for stemmestyrings­tilgængelighed:

Hvert interaktivt element skal have et tekstbaseret tilgængeligt navn, der matcher dets synlige label.

I praksis:

  • Knapper skal have synlig tekst. <button>Send</button> fungerer. Ikon-kun-knapper skal have aria-label, der matcher, hvad brugeren sandsynligvis vil sige — aria-label="Søg" frem for aria-label="Forstørrelsesglas".
  • Synligt label og tilgængeligt navn skal matche. Hvis en knaps synlige tekst er “Send”, men dens aria-label er “Indsend formular”, finder stemmestyring den måske ikke, når brugeren siger “Klik Send”. WCAG 2.5.3 Label in Name (niveau A) kræver, at det tilgængelige navn indeholder den synlige label­tekst.
  • Brugerdefinerede kontrolelementer eksponerer rolle + navn. <div role="button" aria-label="Send"> fungerer. <div onclick> uden rolle eller navn gør ikke.
  • Ingen spøgelses­kontrolelementer. Stemmestyrings­overlays (nummererede overlays, der viser hvert fokuserbart element med et tal til at kalde frem) fungerer bedre, når antallet af fokuserbare elementer er overskueligt. Skjulte men stadig fokuserbare elementer rodder overlays til.

Hvor stemmestyring overlapper med skærmlæser­tilgængelighed

Den samme disciplin med tilgængeligt navn og semantisk HTML, der gør et website skærmlæser-tilgængeligt, gør det også stemmestyrings-tilgængeligt. Begge teknologier ruter igennem tilgængeligheds­træet og afhænger af, at tilgængelige navne er til stede og korrekte.

Den væsentlige undtagelse: stemmestyring har ikke brug for ARIA live regions (det er ikke en skærmlæser), men det har brug for nummererede overlays til at eksponere kontrolelementer uden tekstlabels — det er grunden til, at tekstlabels er uforholdsmæssigt vigtige for stemmebrugere.

Hvad der typisk går galt for stemmestyring

  • Synlige ikon-kun-labels. En hjerteknap (favorit) uden synlig tekst. Brugeren siger “Klik favorit”, men det tilgængelige navn er “Gem” eller mangler helt. Uoverensstemmelse.
  • To kontrolelementer med samme tilgængelige navn. To “Læs mere”-links på siden. Brugeren siger “Klik Læs mere”; stemmestyringssystemet viser et nummereret disambigueringsoverlay. Det er ikke brudt, bare langsomt.
  • Fejlmatchede lokaliserede labels. Talt på dansk, men siden er på engelsk. Brugerens stemmestyring skal genkende det rette sprog for elementets navn. At angive lang korrekt på HTML hjælper.

Den hurtigste manuelle audit: aktivér macOS Voice Control eller Windows Speech Recognition, og forsøg at bruge dit website med stemmen. De ikkeaktivérbare kontrolelementer bliver åbenlyse inden for fem minutter.