¿Cómo coordinar estilos de foco y hover en un sitio web?
En el mundo del desarrollo web, es esencial garantizar una experiencia de usuario coherente, accesible y, sobre todo, inclusiva. Esto significa que las personas que utilizan tecnologías asistivas deben tener las mismas facilidades que las demás. Un elemento clave para lograr esto es la coordinación de los estilos de foco y hover en los navegadores, brindando una interacción homogénea, ya sea que el usuario esté utilizando un teclado o un ratón.
¿Por qué es importante igualar los estilos de foco y hover?
La personalización de los estilos de foco es vital para usuarios que navegan a través del teclado. Su experiencia puede variar significativamente al cambiar tabulaciones, ya que estos necesitan un indicador visual claro de su ubicación en la página. Por otro lado, el hover se activa cuando un cursor se mueve sobre un elemento, una función comúnmente utilizada por quienes usan ratones. Coordinando estos estilos, se proporciona una experiencia visual consistente y profesional.
¿Cómo modificar los estilos de navegación utilizando CSS?
Para lograr unificar el estilo en la navegación al interactuar con el teclado y el ratón, es necesario ajustar el CSS de nuestra web. Veamos algunos pasos esenciales:
Examinando los estilos actuales: Primero, identificamos cómo se comportan los elementos navegacionales cuando reciben foco o hover, con el objetivo de unificarlos.
/* Estilo base de navegación */nav a{color: inherit;text-decoration: none;}nav a:hover, nav a:focus{color: #verdePlatzi;border:2px solid #verdePlatzi;}
Adición de estilo de foco con focus-within: Este pseudo-selector en CSS aplica estilos a un elemento padre si cualquiera de sus descendientes recibe foco. Es ideal para formularios o menús desplegables.
nav a:focus-within{outline: none;border:2px solid #verdePlatzi;}
¿Cómo crear estilos personalizados para inputs y botones?
El aspecto visual de los inputs de formularios y botones es crucial para mejorar la experiencia del usuario. Aquí te presento una guía sencilla para estilizarlos:
Retirar estilos predeterminados y agregar distintivos:
¿Cómo asegurar mejores prácticas de accesibilidad?
Para una accesibilidad óptima, es fundamental siempre:
No eliminar el outline sin reemplazo: Eliminar esta propiedad puede hacer imposible que los usuarios de teclado identifiquen su posición.
Colores de alto contraste: Utiliza colores que contrasten bien con el fondo para que sean visibles.
Pruebas extensivas: Asegúrate de probar las funciones de accesibilidad en múltiples dispositivos.
Con estos pasos, puedes transformar la accesibilidad de un sitio web, proporcionando a todos los usuarios, independientemente de su método de entrada, una experiencia de navegación uniforme y placentera. Así, no solo transformas tu sitio, sino que también mejoras la inclusividad de la web.
Totalmente, la verdad yo nunca me imaginaba aprender todo lo que estoy aprendiendo. Es demasiado bueno 🙌
Y yo siempre le quitaba los outlines a todo 😁
Yo igual, lo que pasa es que no pensábamos en las personas que no pueden ver igual que la mayoría. Pero bueno, ahora si y lo vamos a cambiar
La pseudo-clase CSS :focus-within representa un elemento que ha recibido el foco o que contiene un elemento que ha recibido el foco.
Si y no, difiero un poco con este uso, una de las reglas de WCAG es respetar la compatibilidad con navegadores, entonces focus-within es una propiedad "nueva", recomendaría manualmente por más trabajo que lleve realizar una versión compatible en puro CSS o bien con CSS más JS, es correcto aceptar hasta 5 años de soporte atrás.
Listo gracias por el feedback @trejocode
cual es la diferencia entre :focus y :focus-within?
Las propiedades establecidas con focus-within se aplican cuando se le hace focus al elemento y también cuando se le hace focus a sus descendientes.
perdona, tal vez aun me falta mucho por aprender, podrias decirme algun ejemplo? sigo confundido
Cuando empecé a ver este curso lo hice más por cumplir este tema en mi ruta de aprendizaje, pero ahora he descubierto mucho más acerca de accesibilidad, es un mundoi muy interesante y con muchas buenas practicas para que personas con dificultades puedan usar nuestros productos
No entiendo, este curso es de Diseño Web, para la ruta de Diseño UX / UI ya tuvimos un curso sobre esto a nivel diseño no de código.
La intención es hacer que los estilos sean similares al enfocarnos o interactuar con un elemento de la página sin importar si el usuario está usando el mouse o el teclado.
excelente..
Teniendo en cuenta las discapacidades visuales que vimos en las que algunos no ven bien el color verde, rojo, azul etc. ¿Cuál sería un color apropiado para el focus?
Me parece gracioso que siempre hable en femenino.
Muy buena clase. Cosas básica que debemos tener en cuenta al codear.
Estoy impresionado con una chica!, he aprendido con ella lo que jamás había logrado en años
Este no es un curso tan básico como dice.
La clase explica la importancia de coordinar los estilos de foco y hover para ofrecer una experiencia web coherente y accesible a todos los usuarios, tanto quienes navegan con teclado como con mouse. Igualar estos estilos permite que los elementos interactivos se vean y se sientan consistentes, mejorando la usabilidad y la inclusión.
Se muestra cómo modificar el CSS para unificar los estilos de navegación, utilizando pseudo-selectores como :hover, :focus y :focus-within, especialmente en menús, formularios, botones e interfaces como carruseles. También se enseña a personalizar el foco en inputs y botones sin eliminar el outline sin reemplazo, evitando perder accesibilidad.
Finalmente, se refuerzan buenas prácticas como usar colores con alto contraste, mantener indicadores visuales claros y probar los estilos en distintos escenarios. Todo esto contribuye a crear sitios web más accesibles, profesionales y fáciles de usar para todos los métodos de navegación.
tamalito
Recursos complementarios:
CSS :focus-within pseudo-class
No me quedó claro el uso de focus:within :(
Es como un focus normal y extendido a la vez, sirve para aplicar estilos a un contenedor cuando hacen focus en sus elementos internos.