foot=* is meant to be used for legal accessibility, and legally you can walk on any road except where there is no pedestrian signage like on some motorways.

To indicate there's no infrastructure for pedestrians we can use sidewalk=no (no footpath alongside the road), shoulder=* (is there a shoulder that may provide some space for pedestrians) or even barrier=guard_rail (though not that helpful unless we can somehow tag if there is space to walk outside the guard rail).