GPS is reasonably accurate, usually in the ~10 meter range. However, this depends upon how your device is calculating its position. Phones will typically use all sorts of mechanism to come up with your location, and depending upon the available data, your position may not be reflected accurately (especially if the GPS satellites aren't visible).
When using the Geolocation API, be sure to enable "enableHighAccuracy" is set to "true". See Geolocation.getCurrentPosition() - Web APIs | MDN
Also, accuracy typically improves over time as the device acquires more satellites and/or more data. Initial geolocation attempts can be very inaccurate, but usually resolve a few seconds later. If the device has to rely solely upon finding some GPS satellites, that might stretch into a few minutes.
I don't see how you'd get any better accuracy short of additional sensors or equipment (perhaps a very high quality bluetooth GPS). What is your use case for needing 10 inch accuracy?
Thanks for your answer. But i still wonder how much accuracy we are talking about.
For example. Let's say there are 3 people sitting on a bench.
Is it possible with Geolocation API and the "enableHighAccuracy" enabled
to define who is sitting next to whom?
You'd only be able to tell who was sitting next to whom if they were more than several feet apart. You'd need specialized equipment for anything more sensitive. There are several indoor positioning systems that have better accuracy, but there's no single standard. See more at Indoor positioning system - Wikipedia, the free encyclopedia
I'm not at all sure why you'd need more accuracy than GPS can provide. What's your use case for needing such accuracy?