As a nonnative speaker, I use at when I see the beach as a point, which may include the sea, the sand, and all the things surrounding the beach, such as streets, houses, shops, etc. On the contrary, I use on when I want to place emphasis on the fact that I had some kind of contact with the beach itself, that is its sea, its sand, a restaurant with a view on the beach, etc. So I could say
Yesterday I was on the beach. ===> Yesterday I went to the coast, lay in the sand for some hours and then took a swim in the ocean.
Yesterday I was at the beach. ===> Yesterday I went to the coast, had lunch in town, went shopping and then I came back.
Am I right? Thanks
It depends on the context, Edgardg. I'm afraid I can't think of a rule for it, but here are a few examples:
We spent an enjoyable day at the beach.
There's a nice little restaurant on the beach.
I'd love to be lying on the beach right now, soaking up sun.
They have a summer cottage at the beach.
The road ends at the beach.
Thank you for trying, JamesM.
What image are you getting "the road ends at the beach." then? Or is it completely wrong?
In that case, if you followed the road to its end you would be at the beach. The road, however, does not actually sit on top of the beach. You do not drive on pavement that has been laid over the sand of the beach, if you know what I mean.
That's the image I get, in any case.
Oops! Sorry. I meant to ask you about "the road ends on the beach." which is not one of your examples. Could you share your mental picture again?