Geolocation ohne GPS funktioniert meist so, dass irgendwelche Anbieter W-Lan Router/AP Standorte
erfasst haben und durch die Info welche man gerade "empfängt"/"sieht" man einen ungefähren
Standort ermitteln kann, wenn man genügend von denen die in der
DB sind gleichzeitig sieht und
eine Internetverbindung hat um diese
DB abfragen zu können.
Vermutlich macht das Geolocation
API genau sowas im Hintergrund, wenn kein GPS vorhanden ist.
Und nein, da sollte man kein HTML5 dafür brauchen. Dann wäre man ja wieder vom Browser und dessen
Umsetzung abhängig, was auch nicht besser wäre.