Skip to main content
Validación HTML

El atributo “type” no está permitido en el elemento “textarea” en este punto.

Acerca de este problema HTML

El atributo type es específico del elemento <input>, donde determina el tipo de control de entrada que se renderiza — como text, checkbox, email, o number. El elemento <textarea> cumple un propósito único y distinto: proporcionar un área de edición de texto sin formato multilínea. Debido a que no tiene múltiples modos de operación, la especificación HTML no define un atributo type para él.

Este error ocurre comúnmente cuando los desarrolladores confunden <textarea> con <input>, o cuando refactorizan un <input type="text"> de una sola línea en un <textarea> multilínea sin eliminar el atributo type que ahora es inválido. También puede aparecer al usar sistemas de plantillas o frameworks que aplican atributos de forma genérica a diferentes elementos de formulario.

Aunque los navegadores típicamente ignorarán el atributo type no reconocido en un <textarea>, mantenerlo en tu marcado causa errores de validación del W3C y puede llevar a confusión para otros desarrolladores que lean el código. Los atributos inválidos también pueden interferir con los selectores de atributos CSS (por ejemplo, textarea[type="text"] es un selector que apunta a marcado inválido), herramientas de accesibilidad, o sistemas de pruebas automatizadas que dependen de HTML bien formado.

Para corregir este problema, elimina el atributo type del elemento <textarea>. Si necesitas diferenciar entre múltiples textareas, utiliza los atributos id, name, o class en su lugar. Si realmente necesitas una entrada de texto de una sola línea, utiliza <input type="text"> en lugar de <textarea>.

Ejemplos

Incorrecto: atributo type en <textarea>

<label for="comment">Tu comentario:</label>
<textarea type="text" id="comment" name="comment" rows="4" cols="50"></textarea>

El atributo type="text" no es válido en <textarea> y desencadenará un error de validación.

Correcto: <textarea> sin type

<label for="comment">Tu comentario:</label>
<textarea id="comment" name="comment" rows="4" cols="50"></textarea>

Simplemente eliminar el atributo type resuelve el problema. El elemento <textarea> inherentemente proporciona una entrada de texto multilínea, por lo que no se necesita ningún type.

Correcto: usar <input> cuando se pretende un campo de una sola línea

Si pretendías un campo de texto de una sola línea, utiliza <input> en su lugar:

<label for="username">Nombre de usuario:</label>
<input type="text" id="username" name="username">

El atributo type es válido y esperado en elementos <input>, donde controla el tipo de control de entrada que se renderiza.

Encuentra problemas como este automáticamente

Rocket Validator escanea miles de páginas en segundos, detectando problemas de HTML en todo tu sitio web.

Ayúdanos a mejorar nuestras guías

¿Te ha sido útil esta guía?

¿Listo para validar tus sitios?
Inicia tu prueba gratuita hoy.