Hi, to restrict access through a gate, you need a node on the road. So the gate, which is represented here as a line and the road must have node in common on their intersection.

Add the same tags on this gate node as you've added on the gate way. 

It's ok that node and way will duplicate each other.

I recommend to use access=private instead of no though. Construction vehicles can probably pass here.

I also recommend removing all other more accurate access tags like bicycle=no, since they will use the default access value if not specified.