Si eres desarrollador web, es bueno que conozcas que atributos tiene cada una de las etiquetas HTML5. ¿Quieres saber que atributos existen para cada una? En las próximas líneas te cuento todo sobre los atributos HTML5. ¡Comenzamos!
¿Qué es un atributo HTML?
Antes de entrar en materia, y que veas todos los atributos HTML que ahora mismo existen, quiero explicarte que son exactamente. Un atributo HTML es un valor o propiedad que añades a una etiqueta HTML. Este otorgará una propiedad o comportamiento específico a la propia etiqueta, por lo que es muy importante que los conozcas todos. A menos que te guardes esta página en favoritos para usarla cuando lo necesites ;).
Para añadir el atributo, bastará con que lo introduzcas en la propia etiqueta de inicio del elemento HTML en cuestión. Un ejemplo sería el siguiente, donde vamos a añadir el atributo «id» a una etiqueta <div>:
<div id="nombre"></div>
Cómo te habrás fijado el atributo se añade dentro de la etiqueta HTML inicial. También verás que aunque el atributo es «id», este contiene un valor que le hemos asignado, en este caso «nombre».
Si tienes alguna duda sobre que etiquetas HTML existen, hace un tiempo preparé un listado de etiquetas HTML5 completísimo, que sin duda podrá ayudarte en tus proyectos.
Tipos de atributos HTML
Existen diferentes tipos de atributos para las etiquetas. Algunos son de ámbito global, mientras que otros son más específicos y solo son válidos para algunas etiquetas HTML. En general podemos ordenarlos de la siguiente manera:
- Atributos requeridos: son atributos necesarios para la etiqueta HTML. Sin ellos, la etiqueta por si sola no tendrá el comportamiento esperado.
- Atributos opcionales: en este caso, estos atributos son utilizados para modificar la funcionalidad por defecto de la etiqueta HTML.
- Atributos globales: son atributos de ámbito general que pueden ser utilizados en casi cualquier etiqueta HTML.
Existe otro tipo de atributo llamado: atributo de eventos. Este tipo de atributos son utilizados para hacer que las etiquetas HTML, o mejor dicho su «funcionamiento», sean ejecutados siempre que se cumplan unas circunstancias concretas determinadas con el propio atributo.
En esta ocasión voy a dejar para otra entrada estos atributos, ya que considero que merece una entrada especifica para ellos.
Listado de atributos HTML5
Atributo | Etiqueta HTML5 | Descripción |
---|---|---|
accept | <form>, <input> | Tipos de archivos aceptados por el servidor. Puedes definirlos con valores separados por comas, por ejemplo: .doc, .ods, .txt, etc. O también puedes indicarle un conjunto de tipos de archivos, como por ejemplo: «video/*» o «audio/*» |
accept-charset | <form> | Define una lista de caracteres soportados en el formulario. Por ejemplo: accept-charset=»ISO-8859-1″ |
accesskey | Atributo Global | Podrás configurar un botón de tu teclado para que se ejecute acción en la página web. Por ejemplo, un enlace hacia la página de contacto o la home. |
action | <form> | El atributo especifica la URL dónde se enviarán los datos recogidos en el formulario, a menudo un archivo .php dentro del mismo servidor. |
align | <applet>, <caption>, <col>, <colgroup>, <hr>, <iframe>, <img>, <table>, <tbody>, <td>, <tfoot> , <th>, <thead>, <tr> | Especifica el alineamiento horizontal del elemento. Este atributo sigue funcionando pero no es aconsejable usarlo ya que está en desuso. Lo recomendable es usar reglas CSS en su lugar. |
alt | <applet>, <area>, <img>, <input> | Texto alternativo que se mostrará en el navegador en caso de que la imagen no se pueda mostrar. Muy importante de cara a accesibilidad. |
async | <script> | Indica que el script debe ejecutarse de forma asíncrona. |
autocomplete | <form>, <input> | Indica si los controles en este formulario pueden tener por defecto sus valores completados automáticamente por el navegador. |
autofocus | <button>, <input>, <keygen>, <select>, <textarea> | El elemento debe tener el foco automáticamente una vez se cargue la página web. |
autoplay | <audio>, <video> | Hace que el audio o video comience a reproducirse una vez se cargue la página web. |
bgcolor | <body>, <col>, <colgroup>, <marquee>, <table>, <tbody>, <tfoot>, <td>, <th>, <tr> | Te permite añadir un color de fondo al elemento HTML. El color debe ser añadido en el modo de color hexadecimal, por ejemplo #FF00AA. Este atributo sigue funcionando pero no es aconsejable usarlo ya que está en desuso. Lo recomendable es usar reglas CSS en su lugar. |
border | <img>, <object>, <table> | Permite definir un borde al elemento HTML. Este atributo sigue funcionando pero no es aconsejable usarlo ya que está en desuso. Lo recomendable es usar reglas CSS en su lugar. |
buffered | <audio>, <video> | Con este atributo podrás definir un rango de tiempo del elemento multimedia que será usado como buffer. |
charset | <meta>, <script> | Atributo necesario par definir la codificación de caracteres de la página o del script. |
checked | <command>, <input> | Usado para definir que un elemento HTML debe estar marcado por defecto al cargar la página web. |
cite | <blockquote>, <del>, <ins>, <q> | Contiene una URL que apunta a la fuente de la cita o cambio. Muy importante de cara a una correcta optimización SEO de la página. |
class | Atributo Global | Otorga una clase creada en CSS a un elemento HTML. Se usa principalmente para aplicar estilos a elementos con propiedades en común. |
code | <applet> | Especifica la URL del archivo de tipo applet que será cargado y ejecutado. |
color | <basefont>, <font>, <hr> | Atributo usado para indicar el color HTML del texto de un elemento. Este atributo sigue funcionando pero no es aconsejable usarlo ya que está en desuso. Lo recomendable es usar reglas CSS en su lugar. |
cols | <textarea> | Dentro de una etiqueta <textarea>, se usa para definir el número de columnas que tendrá el campo de texto. |
colspan | <td>, <th> | Dentro de una tabla, define el número de columnas que una celda debe ocupar. |
content | <meta> | Un atributo que permite definir el contenido de la etiqueta HTML <meta> que acompaña. |
contenteditable | Atributo Global | Define si el contenido del elemento HTML podrá ser editable o no. |
contextmenu | Atributo Global | Define el ID del elemento <menu> que servira como menú de contexto para otro elemento. |
controls | <audio>, <video> | Indica si el navegador debe mostrar los controles multimedia del reproductor integrado al usuario. |
coords | <area> | Un conjunto de valores que especifican las coordenadas dentro de la etiqueta area. |
data | <object> | Especifica la URL, absoluta o relativa del objeto o recurso. |
data-* | Atributo Global | Permite asociar atributos presonalizados a un elemento HTML. |
datetime | <del>, <ins>, <time> | Permite definir la fecha y hora asociadas con el elemento. |
default | <track> | Con este atributo podrás definir que por defecto, una pista por ejemplo de subtítulos esté habilitada. Siempre y cuando las preferencias del usuario no indiquen algo diferente. |
defer | <script> | Indica que el código debe ser ejecutado despues de que la página este cargada. |
dir | Atributo Global | Con este atributo puedes definir la dirección del texto en un elemento HTML. Los valores permitidos son ltr (Izquierda-a-Derecha) o rtl (Derecha-a-Izquierda). |
dirname | <input>, <textarea> | Similar a la anterior. Indica la dirección del texto asociada con el elemento al momento de enviar el formulario. |
disabled | <button>, <command>, <fieldset>, <input>, <keygen>, <optgroup>, <option>, <select>, <textarea> | Permite que un elemento HTML esté deshabilitado y el usuario no pueda interactuar con el. |
download | <a>, <area> | Si este atributo se añade al elemento HTML, el recurso indicado podrá descargarse al dispositivo del usuario. |
draggable | Atributo Global | Define si el elemento puede ser arrastrado. |
enctype | <form> | Define el tipo de contenido del formulario cuando el método del mismo es POST. |
for | <label>, <output> | Atributo usado para asociar o describir elementos que pertenecen a éste. |
form | <button>, <fieldset>, <input>, <keygen>, <label>, <meter>, <object>, <output>, <progress>, <select>, <textarea> | Atributo para indicar el formulario al que pertenece el elemento. |
headers | <td>, <th> | A través de «ids» indicados en los encabezados de una tabla <th> podrás asociarlos a diferentes elementos de la tabla <td>. Muy útil de cara a la accesibilidad y por lo tanto para el SEO. |
height | <canvas>, <embed>, <iframe>, <img>, <input>, <object>, <video> | Permite especificar la altura de los elementos HTML indicados. Este atributo sigue funcionando pero no es aconsejable usarlo ya que está en desuso. Lo recomendable es usar reglas CSS en su lugar. |
hidden | Atributo Global | Este atributo permite indicar que el elemento HTML no debe ser visible. Es habitual usarlo por ejemplo, para ocultar elementos que no deben ser visibles inicialmente pero que después de una acción si deben verse. |
high | <meter> | El atributo especifica el intervalo donde el atributo «value» tomara el valor como alto. |
href | <a>, <area>, <base>, <link> | La URL de un recurso asociado. |
hreflang | <a>, <area>, <link> | Especifica el lenguaje del recurso asociado. |
http-equiv | <meta> | Indica una directiva que puede alterar el comportamiento de la página y como es leída por los exploradores. |
id | Atributo Global | Usado para asignar un identificador único a un elemento HTML. Usado generalmente para acceder al mismo desde CSS o Javascript. No pueden existir dos «ids» iguales en una misma página web. |
ismap | <img> | Indica que la imagen es parte de un mapa de imagen del servidor. |
itemprop | Atributo Global | Atributo que permite dar más información a Google acerca de imágenes o datos dentro de cualquier tipo de etiquetas. Por ejemplo se puede indicar propiedades como: actores , clasificación, género, etc . |
label | <track> | Especifica el título de la pista con un formato legible por el usuario. Usado conjuntamente con el atributo «for» |
lang | Atributo Global | Define el lenguaje utilizado en el elemento. |
language | <script> | Define el lenguaje (de programación) utilizado en el script. |
list | <input> | Identifica una serie de valores predefinidos para ser sugeridos al usuario en un menú desplegable. |
loop | <audio>, <bgsound>, <marquee>, <video> | Atributo que habilita al medio a volver a reproducirse desde el principio cuando llega al final. |
low | <meter> | Similar al atributo high, solo que en este caso, permite definir cuando un valor estará en el rango bajo. |
max | <input>, <meter>, <progress> | Define el máximo valor aceptado. |
maxlength | <input>, <textarea> | Define el mayor número de caracteres aceptados. |
media | <a>, <area>, <link>, <source>, <style> | Indica el tipo de medio para el cual el recurso vinculado fue creado. |
method | <form> | Define el método HTTP a emplear para enviar el formulario. Puede ser GET (predeterminado) o POST. |
min | <input>, <meter> | Define el valor mínimo aceptado. |
multiple | <input>, <select> | Atributo que define si se puede introducir múltiples valores. |
muted | <video> | Al reproducir un contenido audiovisual, este atributo indica si el audio será silenciado inicialmente al cargar la página. |
name | <button>, <form>, <fieldset>, <iframe>, <input>, <keygen>, <object>, <output>, <select>, <textarea>, <map>, <meta>, <param> | Nombre del elemento. Utilizado a menudo por el servidor para identificar los campos en el envío de formularios. |
novalidate | <form> | Con este atributo indicamos al formulario que no valide el contenido del mismo. |
open | <details> | Indica si los detalles de la página seran mostrados cuando cargue la misma. |
optimum | <meter> | Con este atributo se define el valor numérico óptimo. |
pattern | <input> | Este atributo define una expresión regular con la cual el valor del elemento debe ser validado antes de aceptar el contenido del mismo. |
ping | <a>, <area> | Indica si se enviara un ping o notificacion a la URL del recurso cuando el usuario utlize el vinculo. |
placeholder | <input>, <textarea> | Proporciona una sugerencia al usuario de lo que puede ser introducido en el campo de un formulario por ejemplo. Muy util de cara a la accesibilidad. |
poster | <video> | Atributo que permite añadir una imagen que se mostrará mientras se carga un video en una web. En caso de que la URL del video este «rota», el poster seguirá cargándose consiguiendo con esto no ver un hueco vacio en la web. |
preload | <audio>, <video> | Indica si el recurso o partes del mismo deben ser precargadas. |
readonly | <input>, <textarea> | Con este atributo se define si el elemento puede o no ser editado por el usuario. |
rel | <a>, <area>, <link> | Especifica la relación entre el objeto destino y el objeto enlace. Importante de cara una correcta optimización SEO. |
required | <input>, <select>, <textarea> | Con este atributo hacemos que la etiqueta Html sea, o no, de obligada cumplimentación. |
reversed | <ol> | Con este atributo podemos modificar el comportamiento estándar de una lista ordenada haciendo que se vea listada en orden descendente en lugar de ascendente. |
rows | <textarea> | Define el número de filas en un área de texto. |
rowspan | <td>, <th> | Define el número de filas que una celda de una tabla debe abarcar. |
sandbox | <iframe> | Lista de restricciones a ser desactivadas en el iframe. |
scope | <th> | En una tabla permite definir las celdas que la cabecera deberá ocupar en este elemento. |
seamless | <iframe> | Indica si el iframe debe ser cargado como parte del mismo documento. |
selected | <option> | Define un valor que aparecerá por defecto seleccionado al cargar la página. |
size | <input>, <select> | Define el ancho del elemento (en píxeles). En este caso es mejor por tanto usar reglas CSS. En cambio. si el atributo del elemento es del tipo «text» o «password», entonces es el número de caracteres que se podrán introducir. |
span | <col>, <colgroup> | Indica el número de columnas que se agrupan en una tabla. |
spellcheck | Atributo Global | Con este atributo se permite que un texto pueda ser autocorregido ortográficamente, o no. |
src | <audio>, <embed>, <iframe>, <img>, <input>, <script>, <source>, <track>, <video> | La URL del contenido integrable en la etiqueta HTML que lo acompaña. |
srcdoc | <iframe> | Especifica el contenido de la página incluida. |
srclang | <track> | Especifica el lenguaje del contenido de la pista. |
srcset | <img> | Este atributo define diferentes versiones de la imagen para mostrar una o otra según el tipo de pantalla. |
start | <ol> | Define el número inicial de la lista ordenada (si es diferente a 1). |
style | Atributo Global | Define los estilos CSS que anulan los estilos establecidos previamente. En este caso son llamados estilos en línea ya que se introducen directamente en la etiqueta HTML en cuestión. |
target | <a>, <area>, <base>, <form> | Con este atributo se determina el marco destino en un vínculo. Valores especiales: «_blank» indica una nueva ventana, «_parent» indica el marco padre del marco que contiene el código fuente, «_self» indica el marco donde está el código fuente y «_top» indica la ventana completa del navegador. |
title | Atributo Global | Texto a ser mostrado cuando el cursor esté sobre el elemento. Muy útil de cara a la usabilidad y para una correcto posicionamiento SEO. |
type | <button>, <input>, <command>, <embed>, <object>, <script>, <source>, <style>, <menu> | Define el tipo de elemento HTML. |
usemap | <img>, <input>, <object> | Indica la URL parcial de un image map asociado con el elemento. Note: Este atributo no puede ser usado si el elemento <img> desciende de un <button> o <a> |
value | <button>, <option>, <input>, <li>, <meter>, <progress>, <param> | Define el valor predeterminado a ser mostrado al cargar la página. |
width | <canvas>, <embed>, <iframe>, <img>, <input>, <object>, <video> | Para los elementos enumerados aquí, esto establece el ancho del elemento. Aunque como en caso anteriores, lo correcto sería usar reglas CSS. |
wrap | <textarea> | Indica la forma en la cual el texto debe ser envuelto. |
Conclusión
Como ocurre con todos los lenguajes de programación, conocer en profundidad como funcionan y que recursos tienes como desarrollador, es de vital importancia. Por ello, espero que este listado de atributos HTML te sea de utilidad y puedas aprovecharlo en tus proyectos.
Si te ha gustado este artículo, o tienes alguna duda que quieres que te resuelva, puedes dejarme un comentario y te responderé encantado. ¡Hasta la próxima!
Hola, me gustaría mucho un listado de valores para los atributos (los que sean valores generales, que acepten solo links o valores clave para cierto tipo de etiqueta).
Seria genial para completar la trilogía (etiquetas-atributos-valores).
Hola Francisco. Muchas gracias por tu comentario.
Lo tendremos en cuenta y en futuras publicaciones trataremos este tema. ¡Dalo por hecho!
Un saludo.
para cuando los valores 😀
Hola, Emiliano.
Muchas gracias por tu mensaje. Espero que muy pronto puedas tener noticias al respecto 🙂
¡Un saludo!
Muchas gracias Víctor Sánchez, estás como referencia en mi antología.
¡Muchas gracias a ti, Gaby!
Hola, estoy recien metiendome en esto de la programacion y un profesor (Diego Javier Serrano) me paso tu pagina de listado de etiquetas y ahora estoy aca jajajajaja, te queria felicitar por tu blog y lo claro que es, si tenes algun otro blog o pagina pasamela para verla tambien.
Desde ya muchas gracias, y el barquito de la derecha me marea un poco jajajajajajaj
Buenos días, Nicolás.
Muchas gracias por tu comentario, y agradecer también a tu profesor Diego por recomendarnos., Es un placer poder ayudaros con nuestras publicaciones.
En cuanto al barco, veremos si podemos hacer que «eche el ancla» y se quede quieto 😉
Un saludo.
Hola, tienen un listado de todos los codigos de css?
Buenos días, Franco.
De momento no lo tenemos. Pero igual lo realizamos… lo apuntaremos como posible tema 🙂
Un saludo
Hola, pequeña.consulta de un aprendiz, el AA tributo «muted», no debería indicar que también puede ser usado en la etiqueta ? Acá dice que solo puede ser usado en
Buenos días, Patricio.
No entiendo muy bien la pregunta. En el caso del atributo «muted», este debe ser indicado dentro de la etiqueta de apertura de
Un saludo.
hola me gusta y me es muy interesante en my proceso , la informacion que compartes … gracias
Buenos días, Gustavo.
Gracias por tu comentario y por la lectura.
¡Un saludo!
Muy buenas tardes Victor estoy un negocio en línea y necesito crear mi propia página web me podrían ayudar muchas gracias
Buenos días, Francisco. ¿Qué ayuda necesitaría exactamente?
Muchas gracias por la informacion la verdad lo estuve buscando hace tiempo, me ayudo bastante esta informacion
Me eh preguntado porque si existen los atributos globales también existen los de accesibilidad como aria-label esos no serían atributos de accesibilidad?