I would take a slight difference approach. I don't consider HTML as "programming" languages. They are just like typing, they are the "outputs" of web programming. Just learn the basics and have a tag reference ready. :)
CSS is getting closer to a "programming language," but the approach and thinking process involved for it is not what you should follow for good programming practices. As ultimately it isn't designed to be a programming language. So to avoid build bad habit as a beginner, I would say avoid starting with CSS as your "first" language.
Now, you need to write code to generate the HTML. There are two approach, you use backend (many language choices) to generate the HTML or front end Javascript to generate the HTML.
In that case Javascript might be a good starting point, since you can use it in the backend or front end.
So in summary, understand HTML (that is your output), then learn Javascript (you can hone your programming skills without worry about thing look pretty), and understand a little bit about CSS (but leave majority of CSS to actual designers. :)).