Según mi apreciación, un programador web debe conocer HTML -
que es la materia prima-, pues lo básico en programación sería el I/O.
La entrada en la web puede ser resultado de un documento HTML, y la salida también puede ser otro documento HTML. Inclusive aquí en el foro de PHP, si no se comprende la materia prima no sirve de mucho pasearse por estos rumbos.
Eso es cierto, pero no necesariamente se debe conocer CSS, quizá un poco, pero no tanto como HTML, que eso si me parece curso obligado. Afortunadamente lo mio no es el diseño de UI, sin embargo entiendo las necesidades básicas y semánticas de un documento web, y con eso ya se puede comenzar a dar estilo con CSS.
Con respecto a usabilidad y accesibilidad resulta ser un campo mas integral, cuando manejas HTML de forma semántica quiere decir que conoces al respecto de ello, mas no siempre es verdad al ser campos diferentes.
Dicho así, el titulo no es una fantasia, yo lo vivo así realmente. Cuando quiero hacer un backend, no me importa el tipo de enlaces a mostrar pues siempre usaré listas, nada de atributos viejos.
Se emplear campos fieldset/legend, y claramente los label exigen ser usados.
La verdad no si se debía meter mi cuchara en tu reflexivo tema, pero solo lo hago para afirmar que si se puede maquetar y programar profesionalmente, de lo otro... ¿yo que se?