No utilices el atributo placeholder

En ningún caso debe sustituir al label

Publicado por Aunitz Giménez el 29 enero 2020

El atributo placeholder de HTML pretende ser un texto breve que proporcione una pista sobre el valor esperado en un campo de entrada de formulario.

Campo Fecha de nacimiento con el formato dd/mm/aaaa dentro del propio campo

De primeras podría parecer que es buena idea utilizarlo, sin embargo, tiene algunos inconvenientes de usabilidad y de accesibilidad.

En ningún caso debe sustituir al label

Una práctica que no es raro ver en algunos formularios es la de utilizar atributos placeholder como sustitutos de los elementos label de HTML.

Formulario con varios campos vacíos que usan placeholders en lugar de etiquetas visibles

Puede parecer que es una solución estéticamente atractiva, pero tiene dos graves problemas de usabilidad y uno adicional de accesibilidad:

Desaparece en el momento de escribir

Una vez que tenemos claro que no podemos prescindir de los label, podemos plantearnos utilizar los atributos placeholder para proporcionar información adicional o de ayuda al usuario para rellenar el campo.

El gran problema de usabilidad que tiene esta solución es que perdemos el texto de ayuda justo en el momento que más podemos necesitar consultarlo. Es decir, en el momento de rellenar el campo de formulario.

Campo Comentario con un placeholder que explica la longitud esperada del texto

Es mucho mejor solución proporcionar esta ayuda siempre visible para el usuario.

Campo Contraseña con un placeholder que incluye las reglas de la contraseña

Como recomendación adicional, es mejor facilitar este texto de ayuda por encima del campo de formulario en lugar de por debajo. Ya que, si está debajo, en dispositivos que utilicen un teclado virtual (como los móviles), puede quedar tapado.

Selector de fecha en un teléfono móvil con el teclado en pantalla abierto

Puede confundirse con un campo rellenado

En un formulario a medio rellenar, es mucho más fácil distinguir visualmente los campos que me faltan por rellenar si estos se encuentran en blanco que si llevan un placeholder. En este último caso, puedo confundirlos con campos que ya hayan sido rellenados.

Formulario de registro con placeholders dentro de los campos y sin etiquetas visibles

Insuficiente contraste

El color que asignan por defecto los navegadores a los atributos placeholder no cumple con los requisitos de contraste establecidos en accesibilidad. De modo que resultan difíciles de leer para algunos usuarios.

Formulario de escritorio con placeholders que desaparecen al escribir en los campos