For me, there’s a difference between a footway and a sidewalk. A sidewalk is a structural element of a street, next to it. How it’s separated from the carriageway is probably down to local legislation. In Germany, 99% are separated by a kerb and raised above the level of the carriageway by ~12cm. A sidewalk is usually only used by pedestrians, but it can be a shared space with cycleways, in which case it’s still a Sidewalk. Further structural elements include the carriageway, shoulder and verge. Then there’s also the embankment, the median strip and maybe others I’ve forgotten, or simply don’t know the English word for.
A footway, on the other hand, would be more like a space on the street “where can I walk”. So if there’s a sidewalk, then the footway would usually be on the sidewalk. Since there’s usually no sidewalks outside cities in germany, most of the time you either have to walk on the shoulder or the road verge.
This would mean, for me, that sidewalk:<side>=yes
implies something like footway:<side>=sidewalk
, much like we have cycleway:<side>=lane/track
and track
would mean, at least over here, on the sidewalk. I completely agree that in case of a footway painted on the street, footway:right=lane
sounds like a sane choice if sidewalk:left=yes
always implies footway:left=sidewalk
. And the problem is: it doesn’t, because footway=*
is a key to precise a separately mapped highway=footway
/ highway=path
and not to specify where pedestrians are supposed to walk
We have similar issues with the cycleway
-key. We use cycleway:<side>=track
, but over here, in the majority of cases, this “track” is actually the sidewalk, so cycleway:<side>=sidewalk
would make more sense. I’m sure it’s not the same all over the world, but it’s like this in Germany. But then we also have cycleway=crossing
, which is kinda misusing the “where are the cyclists are supposed to drive”-key as a “is this cycleway track crossing the road”-kinda key.
So taking this all into consideration, I think the only way to tag this right now is to use lanes
:
highway=residential
sidewalk=no
lanes=2
vehicle:lanes=yes|no
foot:lanes=no|yes
oneway:lanes=yes|no
As much as I’d like sidewalk:right=lane
to be valid, it seems like a contradicting tag if we consider a sidewalk a structural part of the street and not just “the area where pedestrians walk on”
footway:right=lane
would be great, but footway is currently used in a weird way. Maybe this works, maybe not. I’m not sure yet.
Disclaimer: this is, if you consider sidewalk a structural element of a street and not the intended use of a part of the street.