¿La API de geolocalización HTML5 utiliza el hardware del GPS en el dispositivo para obtener las coordenadas?

La especificación solo define la implementación. es decir, la estructura del objeto navigator.geolocation . Lo que sucede internamente depende de la implementación. (xkcd: número aleatorio)

En los navegadores de escritorio, generalmente no hay hardware GPS para usar. Chrome, que yo sepa, utiliza el servicio de ubicación de red de Google.

Además, la mayoría de los dispositivos móviles tienen opciones para activar / desactivar el GPS, y eso no interrumpe las páginas web mediante la geolocalización.

Desde HTML5 Doctor, que lo ayuda a implementar HTML5 hoy:

Se utilizan varias fuentes diferentes para intentar obtener la ubicación del usuario, y cada una tiene su propio grado variable de precisión. Es probable que un navegador de escritorio utilice WiFi (precisión de 20 m) o geolocalización IP, que solo es precisa para el nivel de la ciudad y puede proporcionar falsos positivos. Los dispositivos móviles tienden a utilizar técnicas de triangulación como el GPS (con una precisión de 10 my solo funciona en el exterior), WiFi e ID de células GSM / CDMA (con precisión de 1000 m).