Samtidig inmatning
Silktide letar efter formatmallar som stänger av pekinmatning för hela sidan eller döljer knappar och länkar för personer som använder en viss typ av pekdon, till exempel en mus eller en pekskärm. Sidor bör låta besökare använda den inmatningsmetod som deras enhet erbjuder.
Varför detta är viktigt
Människor växlar ständigt mellan inmatningsmetoder: en bärbar dator med pekskärm, en surfplatta med anslutet tangentbord eller en stationär dator med en pekpenna. Andra är beroende av en specifik inmatningsmetod på grund av en funktionsnedsättning – en person med darrningar kan tycka att pekinmatning är enklare än en mus, medan någon som använder en munpinne kanske bara använder ett tangentbord. En sida som inaktiverar pekinmatning eller döljer kontroller om du inte kan hovra med en mus utestänger dessa besökare från funktioner som resten av målgruppen kan använda.
Detta är bakgrunden till WCAG:s framgångskriterium 2.5.6 (Concurrent Input Mechanisms), ett krav på .
Så åtgärdar du problemet
- Ta bort
touch-action: nonefrån elementethtmlellerbody. Om du behöver det för att stödja en anpassad gest ska du bara använda det på det specifika element som hanterar gesten, till exempel en karta eller ett skjutreglage, inte på hela sidan. - När en mediafråga som
@media (hover: none)eller@media (pointer: coarse)döljer en knapp eller länk ska du se till att samma åtgärd fortfarande är tillgänglig på ett annat sätt för dessa besökare. Anpassa kontrollerna för pekinmatning i stället för att ta bort dem. - Om den flaggade formatmallen verkligen är ofarlig – till exempel om den döljer en kontroll som har en motsvarande version som är synlig för alla – kan du resultatet.
\/* Problem: inaktiverar pekinmatning för hela sidan *\/
body {
touch-action: none;
}
\/* Bättre: begränsa det till elementet som behöver anpassade gester *\/
.map-canvas {
touch-action: none;
}
Så testar Silktide detta
- Läs den som skrivs direkt in på varje sida, både
<style>-block ochstyle-attribut på elementenhtmlochbody. - Rapportera en sida när den inaktiverar pekinmatning globalt, med
touch-action: nonetillämpat påhtml,bodyeller rotelementet. - Rapportera en sida när en mediafråga som testar hovring eller pekdonstyp (till exempel
hover: hoverellerpointer: coarse) döljer ett interaktivt element som en knapp, länk eller ett formulärfält meddisplay: none. - Rapportera högst ett resultat per sida. Eftersom dessa mönster ibland har legitima användningsområden flaggas resultaten för din bekräftelse i stället för att räknas som bekräftade fel.
Felsökning
Den flaggade formatmallen är avsiktlig
Vissa sidor har ett verkligt behov av dessa mönster – ett ritverktyg kan inaktivera inbyggda pekgester eller en funktion som endast är avsedd för datorer kan dölja sin hovringsmeny på pekskärmsenheter samtidigt som den erbjuder en annan väg till samma innehåll. Om du bekräftar att en motsvarande inmatningsväg finns kan du godkänna resultatet.
Min sida begränsar inmatningen men flaggades inte
Silktide läser bara CSS som skrivs in på själva sidan; regler i separat länkade formatmallfiler genomsöks inte av denna kontroll. Den kan inte heller upptäcka inmatningsbegränsningar som tillämpas via , till exempel skript som ignorerar pekhändelser på vissa enheter. Ett godkänt resultat här garanterar inte att sidan uppfyller kriteriet.