Input simultanei
Silktide cerca stili che disattivano l'input tramite tocco per l'intera pagina o che nascondono pulsanti e link alle persone che utilizzano un determinato tipo di puntatore, ad esempio un mouse o un touchscreen. Le pagine dovrebbero consentire ai visitatori di utilizzare qualsiasi metodo di input offerto dal loro dispositivo.
Perché è importante
Le persone cambiano continuamente metodo di input: un portatile con touchscreen, un tablet con una tastiera collegata, un computer desktop con uno stilo. Altre persone dipendono da un input specifico a causa di una disabilità: una persona con tremori potrebbe trovare più facile usare il tocco rispetto al mouse, mentre chi usa un bastoncino per la bocca potrebbe utilizzare solo la tastiera. Una pagina che disattiva il tocco o che nasconde i controlli a meno che non sia possibile passarci sopra con il mouse esclude questi visitatori da funzioni che il resto del pubblico può utilizzare.
Questa è la problematica alla base del 2.5.6 (Meccanismi di input simultanei), un requisito di .
Come risolvere il problema
- Rimuovi
touch-action: nonedall'elementohtmlobody. Se ti serve per supportare un gesto personalizzato, applicalo solo all'elemento specifico che gestisce il gesto, come una mappa o uno slider, non all'intera pagina. - Quando una media query come
@media (hover: none)o@media (pointer: coarse)nasconde un pulsante o un link, assicurati che la stessa azione sia comunque disponibile in un altro modo per quei visitatori. Ridisegna i controlli per l'input tramite tocco invece di rimuoverli. - Se lo stile segnalato è effettivamente innocuo, ad esempio se nasconde un controllo che ha un equivalente visibile a tutti, puoi il risultato.
\/* Problema: disattiva l'input tramite tocco per l'intera pagina *\/
body {
touch-action: none;
}
\/* Soluzione migliore: limita la regola all'elemento che necessita di gesti personalizzati *\/
.map-canvas {
touch-action: none;
}
Come esegue i controlli Silktide
- Legge il scritto direttamente in ogni pagina, sia nei blocchi
<style>sia negli attributistyledegli elementihtmlebody. - Segnala una pagina quando disattiva globalmente l'input tramite tocco, applicando
touch-action: noneall'elementohtml,bodyo radice. - Segnala una pagina quando una media query che verifica il tipo di hover o di puntatore, come
hover: hoveropointer: coarse, nasconde un elemento interattivo come un pulsante, un link o un campo di un modulo condisplay: none. - Segnala al massimo un risultato per pagina. Poiché questi schemi a volte hanno usi legittimi, i risultati vengono segnalati per la tua conferma invece di essere conteggiati come errori confermati.
Risoluzione dei problemi
Lo stile segnalato è intenzionale
Alcune pagine hanno una reale necessità di utilizzare questi schemi: uno strumento di disegno potrebbe disattivare i gesti nativi tramite tocco, oppure una funzione destinata esclusivamente ai computer desktop potrebbe nascondere il proprio menu al passaggio del mouse sui dispositivi touch, offrendo però un altro modo per accedere allo stesso contenuto. Se confermi che esiste un metodo di input equivalente, approva il risultato.
La mia pagina limita l'input, ma non è stata segnalata
Silktide legge solo il CSS scritto nella pagina stessa; le regole contenute in file di fogli di stile collegati separatamente non vengono analizzate da questo controllo. Inoltre, non può rilevare le limitazioni dell'input applicate tramite , ad esempio gli script che ignorano gli eventi touch su determinati dispositivi. Il superamento di questo controllo non garantisce che la pagina soddisfi il criterio.