In my career, I feel like I’ve been pretty lucky — I feel like I’ve had a great working relationship with the designers I’ve worked with. The designers I’ve worked with have almost always been flexible and willing to learn about web development — and why a certain design, if just tweaked a little bit would be better for development, CMS implementation, etc.
But maybe that comes in part from being flexible myself — working with a designer to find a way to make things work whenever possible, instead of immediately putting up a brick wall.
Regardless, these five general topics are things that web developers can teach both web designers, but also green web developers, project managers, etc.