Entrada concurrente
Silktide busca estilos que desactivan la entrada táctil para toda la página, o que ocultan botones y enlaces para las personas que utilizan un tipo concreto de puntero, como un ratón o una pantalla táctil. Las páginas deben permitir que los visitantes usen cualquier método de entrada que ofrezca su dispositivo.
Por qué es importante
Las personas cambian de método de entrada constantemente: un portátil con pantalla táctil, una tableta con un teclado acoplado, un equipo de sobremesa con un lápiz óptico. Otras dependen de un método específico debido a una discapacidad - una persona con temblores puede encontrar más fácil el tacto que el ratón, mientras que alguien que usa una varilla bucal puede utilizar únicamente el teclado. Una página que deshabilita la entrada táctil, o que oculta controles a menos que puedas colocar el puntero encima con un ratón (hover), excluye a estos visitantes de funciones que el resto de tu audiencia puede usar.
Esto es lo que aborda el criterio de conformidad 2.5.6 de (Mecanismos de entrada concurrentes), un requisito de .
Cómo solucionarlo
- Elimina
touch-action: nonedel elementohtmlobody. Si lo necesitas para admitir un gesto personalizado, aplícalo solo al elemento específico que gestiona el gesto, como un mapa o un control deslizante, no a toda la página. - Cuando una consulta de medios como
@media (hover: none)o@media (pointer: coarse)oculta un botón o enlace, asegúrate de que esa misma acción siga estando disponible de otra manera para esos visitantes. Rediseña los controles para el tacto en lugar de eliminarlos. - Si el estilo marcado es realmente inofensivo - por ejemplo, oculta un control que tiene un equivalente visible para todo el mundo - puedes el hallazgo.
\/* Problema: desactiva la entrada táctil para toda la página *\/
body {
touch-action: none;
}
\/* Mejor: limítalo al elemento que necesita gestos personalizados *\/
.map-canvas {
touch-action: none;
}
Cómo lo comprueba Silktide
- Lee el escrito directamente en cada página, tanto los bloques
<style>como los atributosstyleen los elementoshtmlybody. - Señala una página cuando deshabilita la entrada táctil de forma global, con
touch-action: noneaplicado ahtml,bodyo al elemento raíz. - Señala una página cuando una consulta de medios que prueba la capacidad de hover o el tipo de
puntero (como
hover: hoveropointer: coarse) oculta un elemento interactivo como un botón, enlace o campo de formulario condisplay: none. - Informa como máximo de un hallazgo por página. Dado que estos patrones a veces tienen usos legítimos, los hallazgos se marcan para tu confirmación en lugar de contarse como fallos confirmados.
Resolución de problemas
El estilo señalado es intencionado
Algunas páginas tienen una necesidad real de estos patrones: una herramienta de dibujo puede desactivar los gestos táctiles nativos, o una función solo de escritorio puede ocultar su menú al pasar el puntero por encima en dispositivos táctiles mientras ofrece otra vía al mismo contenido. Si confirmas que existe una vía de entrada equivalente, aprueba el hallazgo.
Mi página restringe la entrada pero no fue señalada
Silktide solo lee el CSS escrito en la propia página; las reglas en hojas de estilo vinculadas por separado no se analizan con esta comprobación. Tampoco puede ver restricciones de entrada aplicadas mediante , como scripts que ignoran eventos táctiles en determinados dispositivos. Aprobar aquí no garantiza que la página cumpla el criterio.