¿Es el siguiente válido?
Es un fragmento válido de HTML5, sí.
¿Se rompería en algunos navegadores?
Unlikely.
¿Qué caracteres "deben" codificarse en los valores de los atributos? Sé que "
debería ser "
, pero ¿se requiere codificar otros?
Eso depende de si el valor del atributo es doble entre comillas, comillas simples o sin comillas.
Para el formulario citado doble "
debe reemplazarse por su referencia de caracteres, y &
puede necesitar ser reemplazado por su referencia de caracteres dependiendo de los caracteres que lo siguen. Ver attribute-value-double-quoted-state
Para la forma comillas simples '
debe ser reemplazado por su referencia de carácter, y &
pueden necesitar ser reemplazado por su carácter de referencia en función de los caracteres que le siguen. Ver attribute-value-single-quoted-state
Para la forma no indicada TAB
, LINEFEED
, FORMFEED
, SPACE
, >
deben ser reemplazados por sus referencias personales, y &
pueden necesitar ser reemplazado por su carácter de referencia en función de los caracteres que le siguen. Ver attribute-value-unquoted-state
¿Qué hay de HTML4? ¿Hay reglas diferentes allí? –