A while ago, when I was teaching classes, a client said she wanted to teach her dog to be able to wait for cars to pass until it was safe for the dog to cross.
I wasn’t quite sure if she meant while the dog was on her own or not.
Turns out, she did want to teach the dog to cross on her own.

While dogs are brilliant – I don’t think it’s possible to teach a dog to recognize and process all the elements that go into making that decision:
The speed of an approaching car, the distance to cross, looking left and right and the ability to determine whether or not there is adequate time to make the crossing safely.
Don’t get me wrong. Of course there are dogs who cross the street on their own. I just don’t know if it’s something that can actually be taught reliably. 

What you can do is teach your dog to stop when you stop and go when you go. Because one of my dogs is often walking ahead of me, I have taught him to respond to “wait” at a distance. I usually give the cue before he is close to the corner so he has time to slow down and stop vs. come to a screeching halt and risk ending up on the road.
The way I interpret the cue “wait” is to mean no forward motion. You can go sideways or backward but not forward.

If someone knows how to teach a dog to reliably process all the necessary information, please share!