2002 Honda Civic EX here. When I start my car, my battery dash light has been staying on usually until I get onto the highway, then it will turn off. If I hit a stop sign or red light, then it'll come right back on. Is the alternator the culprit here and why does driving faster make the light disappear?
I would think the alternator is the culprit, You can take your car down to an Advance Auto Parts, O'Reilly, Autozone (or the like) where they will test it for free. They can also check your battery, which may be the culprit, but I doubt it.
It sounds like the internal regulator is going out (or you might have lost one or more diodes) on the alternator. When you spin the engine higher (as in going down the road), the alternator has the ability to put out more current due to it spinning faster as well. It is directly connected to the engine crank speed, though it is proportional faster due to having a smaller diameter pulley than the crank pulley of the engine. As your speeds up, so does the alternator. Typically, an alternator puts out ~14.1vdc with a fully charged battery. If your alternator is putting out only 8vdc (just an example), the light may come on suggesting there is a problem. As the engine speeds up, it might get up to an acceptable realm, say 12vdc, and the light goes out. Then when you slow down, the alternator again is back down at the lower level. You could possibly test this when sitting still by reving the engine (in neutral or park) to 2000-2500 rpm and see if the light goes out.