Dijkstra function for navigation for disadvantaged
Dijkstra's algorithm already solves your problem. If a staircase is unusable for the wheelchair-bound, then the corresponding edge should not appear in the graph. If some other route is usable but very slow, then it should be weighted accordingly.

The same kind of problem is already encountered with cars – some paths are too narrow for them. A smart GIS takes this into account, removing the corresponding edges when you navigate your car, and keeping them when you navigate your walk.  

The difficult aspect here is obtaining this information – which path is suitable for the wheelchair-bound, and which ones should get penalties. Whether it can be done automatically (with a few mistakes) depends on your situation, which you haven't described in enough detail.