All of these items can already be mapped. It is just a matter of making them visible on a map. Not all maps will display those things, but then you have to ask the map maker (or app maker) to include them.
man_made=bridge or bridge = yes
natural=cave_entrance
tunnel = yes
building = roof, layer = 1
I doubt a bit about
building=abandoned or abandoned:building=yes . I’m not sure this is the best way to tag those buildings.
and there is also
amenity=shelter where shelter can be specified further with shelter_type=public_transport/weather/field_shelter, etc.