La Etiqueta SEARCH

Es un elemento semántico introducido en HTML5 que se utiliza para definir una sección de una página web dedicada a funcionalidades de búsqueda. Su propósito es agrupar elementos relacionados con búsquedas.
La etiqueta <search> es un elemento semántico introducido en HTML5 que se utiliza para definir una sección de una página web dedicada a funcionalidades de búsqueda. Su propósito es agrupar elementos relacionados con búsquedas (como formularios, campos de entrada o botones) y mejorar la accesibilidad y el SEO al proporcionar contexto claro a navegadores y herramientas de asistencia. Aquí te explicamos cómo implementarla correctamente.
¿Qué es la etiqueta <search>?
-
Propósito: Identificar un bloque de contenido relacionado con búsquedas (por ejemplo, un formulario de búsqueda en un sitio web).
-
Semántica: Ayuda a los motores de búsqueda y lectores de pantalla a entender que el contenido dentro de esta etiqueta está vinculado a acciones de búsqueda.
-
Relacionado: A menudo se combina con elementos como
<form>,<input>,<button>, o<label>.
Sintaxis básica
<search> <!-- Elementos de búsqueda aquí --> </search>
Ejemplo mínimo:
<search>
<form action="/buscar" method="get">
<input type="search" name="q" placeholder="Buscar...">
<button type="submit">Buscar</button>
</form>
</search>
Atributos relevantes
La etiqueta <search> no tiene atributos exclusivos, pero puede usar atributos globales como:
-
role: Define el rol ARIA (por ejemplo,role="search"). -
aria-label: Proporciona una etiqueta descriptiva para accesibilidad.
Ejemplo con ARIA:
<search role="search" aria-label="Buscar en el sitio"> <form>...</form> </search>
Casos de uso comunes
a) Búsqueda en un sitio web
<search>
<form action="/resultados" method="get">
<label for="busqueda">Buscar productos:</label>
<input type="search" id="busqueda" name="q">
<button type="submit">????</button>
</form>
</search>
b) Búsqueda con filtros avanzados
<search>
<form>
<input type="search" placeholder="Buscar artículos...">
<select>
<option value="recientes">Más recientes</option>
<option value="populares">Más populares</option>
</select>
<button type="submit">Filtrar</button>
</form>
</search>
Personalización con CSS
Puedes estilizar el contenedor <search> y sus elementos internos:
search {
background: #f8f9fa;
padding: 20px;
border-radius: 8px;
margin: 20px 0;
}
search form {
display: flex;
gap: 10px;
}
search input[type="search"] {
flex-grow: 1;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
}
search button {
padding: 10px 20px;
background: #007bff;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
}
Accesibilidad y buenas prácticas
-
Etiquetas claras: Usa
<label>oaria-labelpara describir el campo de búsqueda. -
Roles ARIA: Agrega
role="search"para reforzar la semántica. -
SEO: Aunque no afecta directamente al posicionamiento, mejora la estructura semántica del documento.
-
Móvil primero: Asegúrate de que el diseño sea responsive para dispositivos pequeños.
Diferencias clave entre <search> y <div>
<search> |
<div> |
|---|---|
| Indica semánticamente una sección de búsqueda. | Es un contenedor genérico sin significado semántico. |
| Mejora la accesibilidad y el SEO. | Requiere atributos ARIA para contexto. |
Ejemplo con <div> (no recomendado):
<div class="busqueda"> <!-- Menos semántico --> <form>...</form> </div>
Ejemplo completo
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Búsqueda semántica</title>
<style>
search {
background: #fff;
padding: 20px;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
search input[type="search"] {
width: 70%;
padding: 12px;
border: 2px solid #007bff;
border-radius: 25px;
}
search button {
padding: 12px 25px;
background: #007bff;
color: white;
border: none;
border-radius: 25px;
transition: 0.3s;
}
search button:hover {
background: #0056b3;
}
</style>
</head>
<body>
<header>
<search role="search" aria-label="Buscar en el blog">
<form action="/buscar" method="get">
<input type="search" name="q" placeholder="Buscar artículos...">
<button type="submit">Buscar</button>
</form>
</search>
</header>
</body>
</html>
Errores comunes a evitar
-
Usar
<search>para contenido no relacionado: Solo debe envolver funcionalidades de búsqueda. -
Olvidar la accesibilidad: No omitas etiquetas o roles ARIA.
-
Anidar múltiples formularios: Un único
<form>por<search>es suficiente.
Conclusión
La etiqueta <search> es una adición valiosa a HTML5 para estructurar y semantizar áreas de búsqueda en una página web. Al usarla, mejoras la accesibilidad, el SEO y la mantenibilidad del código. ¡Incorpórala en tus proyectos para crear interfaces más claras y profesionales!
Recuerda:
-
Agrupa todos los elementos de búsqueda dentro de
<search>. -
Combínala con
<form>y atributos ARIA. -
Estiliza con CSS para adaptarla al diseño de tu sitio.