Hoppa till innehåll
SilktideHjälp

Modal fokusfälla

Silktide identifierar sidor som innehåller en modal dialogruta – ett popupfönster som blockerar interaktion med resten av sidan – och ber dig verifiera att tangentbordsfokus hanteras korrekt medan dialogrutan är öppen. Detta är en manuell granskning: automatiserade tester kan hitta dialogrutan, men inte observera hur den beter sig när den öppnas och stängs.

Varför detta är viktigt

När en modal dialogruta är öppen är sidan bakom den synlig men inaktiv. Om kan lämna dialogrutan, tvingas användare av tangentbord och tabba genom innehåll som de inte kan se eller använda, läsa sidan under dialogrutan ur sitt sammanhang och helt tappa bort var de befinner sig. Och om fokus inte återställs när dialogrutan stängs hamnar de längst upp på sidan och måste navigera tillbaka till den plats där de befann sig.

Så åtgärdar du problemet

Öppna varje dialogruta på sidan och verifiera med endast ett tangentbord:

  1. När dialogrutan öppnas flyttas fokus in i den – vanligtvis till den första kontrollen eller till själva dialogrutan.
  2. När du trycker på Tab och Skift+Tab går fokus runt bland dialogrutans kontroller utan att nå sidan bakom den.
  3. När du trycker på Escape stängs dialogrutan (för dialogrutor som kan stängas).
  4. När dialogrutan stängs återgår fokus till elementet som öppnade den.

Om något av detta inte fungerar korrigerar du dialogrutans implementation. Det inbyggda elementet <dialog> som öppnas med showModal() ger det mesta av detta beteende automatiskt; anpassade dialogrutor måste få detta beteende via skript. Om allt fungerar korrekt kan du resultatet.

Så testar Silktide detta

  1. Leta efter tecken på att en sida innehåller en modal dialogruta: ett inbyggt <dialog>-element, ett element med role="dialog" eller role="alertdialog", ett element med aria-modal="true" eller ett element med ett vanligt klassnamn för modala dialogrutor som också innehåller fokuserbara kontroller.
  2. När något av detta hittas skapas en granskningsprompt för sidan.

Silktide kan inte öppna dialogrutan och observera hur fokus beter sig under körning, så denna kontroll underkänns aldrig automatiskt – den ber dig att verifiera detta.

Felsökning

Sidan har ingen synlig modal dialogruta

Många webbplatser levererar dialogmarkup på varje sida (ett popupfönster för nyhetsbrev, en cookiedialogruta eller ett dolt sököverlägg) som endast visas under vissa förhållanden. Prompten gäller fortfarande: verifiera dialogrutans beteende i det tillstånd där den öppnas. Om markuppen är kvar från tidigare och aldrig kan öppnas bör du överväga att ta bort den.

Våra dialogrutor kommer från ett tredjepartsbibliotek

Välkända dialogbibliotek hanterar vanligtvis fokus korrekt, men konfiguration och anpassat innehåll kan orsaka problem. Verifiera beteendet på dina egna sidor i stället för att förlita dig på bibliotekets dokumentation.

Läs mer

Senast uppdaterad

Var den här sidan hjälpsam?

Modal fokusfälla | Silktide Hjälp