First off I pretty much hate steak that's not done perfectly. And by perfectly, I mean by me from start to finish.
You have to start off with a good cut and marinade it. At least 24 hours in a dark beer with a little garlic, onion and pepper (maybe a dash of cinnamon for the daring). Now this throws the whole damn chart off because it will stain the meat darker, but you can still tell how well it's cooked. A good steak is rare to medium rare. Anything beyond that and you've ruined a good piece of meat.
So how can you tell it's doneness without color? Easy. First the juice, clear juice means it's too cooked. Throw it out and be a real man and not some a-hole with a grill. Oh yeah, cook on a grill. Gas or charcoal is fine depending if you like it a little smokey or if you really just want to enjoy the meat, either way, use real fire.
Now you can tell how done it is by touching your fingers to your thumb. On your left hand touch your index finger to your thumb and with the right, poke the meaty part of your palm, right by your thumb. That's not quite done enough. So try the same thing with your middle finger and your thumb. That might be a little too done for some people, but never past that. That's your rare/medium rare point for your meat. That's where you stop.
So, in conclusion here's a bad ass way to cook steak:
Using a seal-a-meal or food saver.
Use a good dark beer (guiness) and poor it all over the steak. rub some onion and garlic all over the steak (powdered variety or real). Then add a little pepper. If you like a lot of pepper dip the edge of the steak in pepper so it ends up with a pepper crust.
Toss the steak into the bags, put a little beer on top (not too much, or it will get messy). Add your garlic and onions in there if it's not mixed with the juice already.
Seal it and toss in the fridge for a day. This process gets the steak to soak up lots of flavor.
Pull the steak out and let it come up to room temperature before cooking. Seriously, do this part. Always.
-----Nerd Section-----
With steak the way the meat is, bacteria cannot penetrate the top layers of the steak. This means anything you don't want to eat is sitting right there on the top. So, when you cook the outside of steak you kill off all the bacteria. However with things like ground beef you have to cook it all the way through, because the bacteria can penetrate it because the meat is broken up. So normally you don't want food to sit at room temperature, with steak it's perfectly fine. It also lets the meat relax a bit and will cook better. This is actually called "resting" the meat. This also comes up at the end.
----------------------
After resting the raw meat, put it on to cook. Again, you want it rare to medium rare but be careful because the meat will still cook after it's off the grill. Now the grill should be about 500 degrees F. If you don't temp this out just hold your hand to the grill (not touching, but really close) and count. If you get higher than 1 before you have to pull your hand away, it's not ready.
This high temp will put a good sear on the meat. Let it cook a bit, then flip it. You should have some good lines on the steak. Then rotate it 90 degrees and cook a bit more. Flip a final time and it's done. The meat will start pulling away from the grill bars when it's got a good sear on it. All you need to worry about is that the outside is cooked nice and brown.
Let the meat rest a bit to finish cooking and serve.