This way: Way: 180428863 | OpenStreetMap has tags access:conditional=no @ (Dec 01-May 14) and foot=yes. It should reflect the hiking trail closure in winter. There are more routes in the Polish and Slovak Tatras tagged the same way.
Is it correctly tagged? In theory, specific access restrictions take precedence over more general ones, so foot=yes would invalidate the access tag, but what about conditional? Should foot=yes invalidate the whole access:conditional=no @ (Dec 01-May 14) as foot is the only allowed mode of transportation here? Or should conditional restriction take precedence?
I noticed an inconsistency between different routers regarding conditional restrictions. For example, Graphhopper and OrganicMaps skip this way, but ORS doesn’t. At the beginning, I thought it may be a bug in ORS, so I asked on their forum, and got an answer that it’s a data issue on the OSM side, but I’m not convinced. Other routers skipping this way even reinforced my doubts.
I don’t think so, because the more specific access value overrides the more general one.
That should work: foot:conditional=no @ (Dec 01-May 14) foot=yes
Conditional tags definitely take precedence over correspondent unconditional, but not more specific ones, so foot overrides conditional access. Although for paths, access isn’t necessary, foot=yes and foot:conditional=no @ (interval) will be sufficient.
There are arguably three different questions here.
The first is “what would we, as OSM mappers, expect people to interpret from the tagging?”
The second is “what would a strict interpretation of the relevant pages in the OSM wiki result in?”
The third is “how do individual routers handle these tags?”
Clearly the original mapper expected access:conditional to take precedence over foot, but I suspect that most OSM mappers (and most pages of the wiki, though I have not checked) would agree with @whb above.
The real issue I suspect is "how many routers can interpret foot:conditional (or other mode :conditionaltags), and the answer seems to be mostly Valhalla. If others do, it isn’t documented at taginfo. A big challenge here is that people often plan routes in advance - how will the router know when the trip is planned for?
Komoot displays a warning, which it almost gets right for Bowater Road on NCN Route 1, where it uses a permissive route through an industrial estate which is closed at night. Way: ‪Bowater Road‬ (‪605748677‬) | OpenStreetMap .
Unfortunately, it interprets bicycle=permissive+ bicycle=conditional=no @ (21:00-06:00) as a requirement to dismount at night.
I’d say that can be resolved on router side without waiting for Solving the dreaded access=dismount problem – by looking at what foot access says when dismounting – After all, in lots of jurisdictions pushing the bike makes me a pedestrian, so that seems reasonable?
I probably didn’t pick the best example there, but it was the first place I could think of where I remembered Komoot displaying a warning based on a conditional access restriction.
<tag>:conditional is conceptually quite simple: You pick a specific situation, evaluate the conditions and set <tag> to the appropriate value. If no conditional is satisfied, then the default value specified by <tag>=<default> is used. If that tag isn’t set, then the default is also unset.
Since access:conditional only affects access, foot if set always overrides it.
With “Consider temporary limitations” on :
7,9 km over the public gravel road (foot=yes) because it’s now after sunset and the paths in the route above are not allowed to be used: