As a web developer, both front-end and back end architect, I work with many different designers and sometimes find it frustrating working with design comps where no thought was put into how to accomplish the design in basic CSS and HTML. On the other hand as a developer I'm expected to be able to produce code from any design.
Do web designers need to know basic modern CSS and HTML techniques? Why or why not is this important for a well rounded web designer?
Some general thoughts:
Do web designers need to know basic modern CSS and HTML techniques?
Why or why not is this important for a well rounded web designer?
I answered "yes" because you used the word basic.
It is absolutely essential that web designers know basic HTML and CSS techniques, in the same way that architects must know something about physics and material science, print designers must know something about the CMYK printing process and fashion designers must know something about fabric.
If you don't know anything about CSS and HTML techniques you can't call yourself a "web designer". You're simply an artist or something.
Comments about your thoughts:
Front end web developers should be skilled enough to code up any design.
False. This is an oversimplification. Some things do not translate well to the web. Some designs may fall apart or not work on a certain platform or screen size that needs to be supported.
A web designer needs to know limitations depending on audience and performance requirements. A designer who knows CSS and HTML knows how to tweak the design so the underlying code can be made as responsive and efficient as possible.
Web designers should have an understanding of how users will actually interact with their design.
You've described UX Design, which is a completely different discipline. Although User Experience Design involves aspects of Graphic Design, it really has very little to do with CSS or HTML.
While good well-rounded web designers should have familiarity with UX Design, it's also common for them to collaborate with UX specialists.
Design shops would rather have designers design and leave all the coding up to the developers.
This might be partially true, but not wholly. One popular paradigm in content management systems is MVC (model/view/controller). Many design shops want the designers to have some familiarity with HTML/CSS coding so they can focus on the presentation of the content (the "view"), while the developers focus on the model/controller.
This isn't to say that some shops don't employ Graphic Artists who simply focus on graphic elements and push pixels around â€” but they aren't Web Designers, in my view. A large website might employ Graphic Artists, Web Designers, UX Designers, Web Developers, and Database Specialists who all collaborate to produce a finished website. A freelancer who builds smaller sites might dabble in all disciplines and call themselves a Web Designer/Developer.
A web designer should understand how code works and what it's capable of, in the same way a print designer understands what ink on paper will look like and how paper can fold or be cut. Any designer should understand the limitations and strengths of the chosen medium.
If a web designer is creating this drop-dead gorgeous site, it would behoove him or her either to learn the basics of coding or to sit with a coder at a few points in the process to check that the site of gorgeousness can be achieved. So I'd say a web designer at minimum needs to know about code.
I think it's specious to say "a developer can code anything," the same way you can't say that anything that can be printed can be reproduced exactly on the web using HTML/CSS.