Optimizar el sitio web para dispositivos táctiles

En un dispositivo táctil como iPhone / iPad / Android puede ser difícil presionar un botón pequeño con el dedo. No conozco ninguna forma de navegador cruzado para detectar dispositivos táctiles con consultas de medios CSS. Así que verifico si el navegador es compatible con los eventos táctiles de JavaScript.Hasta ahora, otros navegadores no los admitían, pero el último Google Chrome en el canal de desarrolloeventos táctiles habilitados (incluso para dispositivos no táctiles). Y sospecho que seguirán otros fabricantes de navegadores, ya que las computadoras portátiles con pantallas táctiles están llegando. Actualización: era un error en Chrome, por lo que ahora la detección de JavaScript funciona nuevamente.

Esta es la prueba que uso:

function isTouchDevice() {
    return "ontouchstart" in window;
}

El problema es que esto solo prueba si el navegador tiene soporte para eventos táctiles, no el dispositivo.

¿Alguien sabe de la forma correcta [tm] de dar a los dispositivos táctiles una mejor experiencia de usuario? Aparte de oler agente de usuario.

Mozilla tiene una consulta de medios para dispositivos táctiles. Pero no he visto nada igual en ningún otro navegador:https://developer.mozilla.org/En/CSS/Media_queries#-moz-touch-enabled

Actualización: Quiero evitar el uso de una página / sitio separado para dispositivos móviles / táctiles. ¡La solución tiene que detectar dispositivos táctiles con detección de objetos o similar desde JavaScript, o incluir un CSS táctil personalizado sin que el agente de usuario lo detecte!La razón principal por la que pregunté fue para asegurarme de que no sea posible hoy, antes de contactar al grupo de trabajo css3. Por lo tanto, no responda si no puede seguir los requisitos de la pregunta;)

Respuestas a la pregunta(11)

Su respuesta a la pregunta