Navegar por la web o utilizar aplicaciones suele ser una experiencia intuitiva, hasta que nos topamos con iconos que no reconocemos. Nuestra familiaridad con ciertas aplicaciones o redes nos lleva a pensar que estos pequeños símbolos son universales, pero la realidad es que pueden ser confusos para quienes no estén familiarizados con ellos. Por ejemplo, un icono de un pájaro, inmediatamente asociamos con Twitter. Sin embargo, para alguien que no usa Twitter, este icono puede ser simplemente eso: un pájaro.
Los iconos deben estar acompañados de textos que expliquen claramente su función. Este simple añadido garantiza la comprensión y la accesibilidad universales.
¿Cómo agregar texto a los iconos en el código?
Incorporar texto a los iconos no es complicado y se puede lograr fácilmente desde el código de tu sitio. Veamos cómo hacerlo:
Los iconos deben estar dentro del contenido principal de la página, idealmente dentro de los elementos <li> si se trata de una lista.
Agrega una nueva línea después del elemento de imagen dentro del mismo enlace.
Coloca un párrafo con el texto que describa la función del icono.
Por ejemplo, en HTML quedaría algo así:
<ahref="enlace-a-red-social"><imgsrc="icono-twitter.png"alt="Icono de Twitter"><pclass="soso-main-text">Twitter</p></a>
Este texto proporcionará claridad sobre el icono y mejorará la accesibilidad.
¿Cómo mejorar el estilo de los textos añadidos?
Añadir texto es solo una parte del proceso. Es importante también asegurarse de que se ve bien y es coherente con el diseño del sitio:
Centrado del texto: Usa text-align: center; para asegurarte de que el texto esté bien alineado.
Color del texto: Usa un color que tenga suficiente contraste con el fondo para asegurar legibilidad.
Fuente: Asegúrate de que el texto respete la tipografía del sitio.
Espacio alrededor: Usa padding para evitar que el texto o los iconos se vean demasiado juntos.
Decoración de texto: Asegúrate de quitar la decoración del texto cuando sea inadecuada.
Con estos cambios, no solo mejoras la apariencia y accesibilidad del sitio, sino que también contribuyes a una experiencia de usuario más inclusiva.
¡Adelante! Implementa estas mejoras en tu código y experimenta por ti mismo los beneficios que ofrecen. Siempre es bueno recordar que cuanto más entendible hacemos nuestro contenido, más personas se beneficiarán de él.
Consulta agregarle una etique de title="" a cada enlace no seria correcto!? no romperia el diseño original y le agregaria ese texto para identificar cuando se hace :hover sobre el.
Es muy interesante, leí demasiado respecto a ese tema, pero resulta que no existe una distinción entre la etiqueta "title" en los anchors, entonces, una "solución" a WCAG no es.
Más sin embargo, no está de más, es decir, puedes o no poderlo y no significa una adición.
Osea, para este ejemplo no aplica, debes especificar un label o un p en su lugar.
Comparto mi solución y creería que es un poco más legible agregarlos en la parte inferior
🙌 Iconos
Apuntes
Pensamos que los iconos son universales, pero pueden ser confusos si nunca los has visto o dependiendo de la aplicación que estas usando
Para comunicar de una manera más eficiente se podría agregar un texto especificando el icono
RESUMEN: Los iconos pueden a llegar a ser confusos en algunos casos con personas con discapacidades para solucionar esta problemática es importante especificar un texto
También en este caso serviría agregarle el aria-label a los iconos.
O también usar un id en el paragraph y usar aria-labelledby en la imagen
el area label iria en el <a>
En este tema de los iconos, no dependera mucho del contexto? Porque si mi portafolio es de desarrollo pues la persona que entre debe tener conexto a ello, como conocer GitHub, y capaz varias redes sociales. Hablando de una página con público más generico como una e-commerce como Mequeo si debería encargarse más de ese detalle, no?
Es un pequeño análisis sobre el tema y espero opiniones.
Tienes razon, pero tambien tenemo que tener en cuenta que si visualizan tu portafolio no necesariamente es un desasrrollor, de pront sea alguien de recursos Humanos o alguien que busca realizar un proyecto pero no tiene nada de conocimientos en desarrollo
Excelente punto! No lo había pensado.
En este caso coloque un aria-label para describir que red social es cada enlace y puse un párrafo"Redes sociales" para indicar que es la sección.
excelente
En el caso de los iconos, semanticamente, seria mejor usar la etiqueta <i> en vez de la etiqueta <img>?
Si tengo un icon o una img debe usarse aria-label para no romper el disenio
<!--si tengo un icocon, un svg, una img o lo que seq que no es texto, debo poner el aria-label--><ahref='/home'aria-label='Ir al home'>🏠</a>
¡Hola!
Existe la posibilidad de que, al ubicar el cursor sobre los íconos, aparezca el nombre de la aplicación sin la necesidad de aclararlo en pantalla?
Hola Camila! :D
Eso se hace con el atributo title
Acá se podría añadir la imagen y el texto en un contenedor y describir la red con un aria-label :thi
La clase explica que los íconos no siempre son universales ni fáciles de entender para todas las personas, ya que dependen de la experiencia previa de cada usuario. Un ícono que para alguien es obvio puede ser confuso para otra persona, especialmente si no está familiarizada con la aplicación o plataforma que representa.
Por eso, se recomienda agregar texto junto a los íconos para mejorar la accesibilidad y la comprensión. Por ejemplo, en un portafolio con íconos de redes sociales, se puede incluir el nombre de la red (como “Twitter”) dentro del mismo enlace, debajo del ícono, usando un párrafo con una clase específica. De esta forma, el usuario entiende claramente qué representa el ícono y qué ocurrirá al hacer clic.
Luego, el aspecto visual del texto se puede mejorar con CSS para que se vea bien integrado al diseño, ajustando propiedades como el text-decoration y la alineación del texto con el ícono. Al final, se refuerza la idea de que agregar texto a los íconos no solo mejora la estética, sino también la accesibilidad, y se invita a aplicar este cambio en el código del proyecto.
Porqué esta profesora siempre se dirige solamente a las mujeres? como si no hubieran hombres viendo el curso
El texto de los iconos se debe agregar con una etiqueta tipo inline diferente a las etiquetas tipo block...
¿Por qué no se pueden anidar elementos de bloque dentro de elementos en línea?
Imagina una página web como una carretera. Los elementos en línea son como los autos que circulan por ella, uno al lado del otro, siguiendo el flujo natural del texto. Por otro lado, los elementos de bloque son como edificios que ocupan toda la calle, deteniendo el tráfico y empezando una nueva línea.
Si intentaras poner un edificio (elemento de bloque) dentro de un auto (elemento en línea), ¿qué pasaría? ¡Un gran desastre! El edificio sería demasiado grande y rompería la estructura de la carretera.
En términos de HTML, esto se traduce en:
Elementos en línea: Siguen el flujo del texto y no generan saltos de línea. Son ideales para contenido como palabras, imágenes pequeñas o enlaces.
Elementos de bloque: Ocupan toda la línea disponible y generan un salto de línea antes y después de ellos. Son perfectos para estructuras como encabezados, párrafos, listas, etc.
¿Qué sucede si intentas anidar un elemento de bloque dentro de uno en línea?
El navegador intentará acomodar el elemento de bloque dentro del espacio asignado al elemento en línea, lo que puede generar resultados inesperados y un diseño desordenado.
Se pueden producir errores de renderizado y el diseño de la página puede verse afectado de manera significativa.
¿Qué puedes hacer en su lugar?
Utiliza elementos de bloque dentro de otros elementos de bloque: Esta es la estructura más común y recomendada. Por ejemplo, puedes colocar un párrafo (elemento de bloque) dentro de una sección (elemento de bloque).
Utiliza elementos en línea dentro de elementos de bloque: Esto también es válido y te permite combinar diferentes tipos de contenido dentro de una misma estructura. Por ejemplo, puedes colocar un enlace (elemento en línea) dentro de un párrafo (elemento de bloque).
Modifica el comportamiento de los elementos con CSS: Si necesitas un comportamiento específico, puedes utilizar propiedades CSS como display para cambiar el tipo de visualización de un elemento. Por ejemplo, puedes convertir un elemento en línea en un elemento de bloque utilizando display: block.
Ejemplo:
HTML<div> <p>Este es un párrafo. </p> <span>Este es un texto en línea.</span> </div>
Usa el código con precaución.
En resumen, respetar la estructura de los elementos de bloque y en línea es fundamental para crear páginas web bien estructuradas y visualmente atractivas. Al comprender esta distinción, podrás diseñar páginas web más organizadas y fáciles de mantener.
Profesora, Suena más incluyente si se dirige a mujeres y hombres, y no solo a mujeres...
Yo agregué la descripción de los iconos con <figure> y <figcaption>, entiendo que estas etiquetas se pueden usar en este caso, esta es la estructura de cada elemento de la lista
.
<li><a href="https://twitter.com/gmzjuliana" alt="twitter" target="_blank"class="social-network-link"><figure><img src="images/twitter.png " alt="twitter de Juliana"/><figcaption>Twitter</figcaption></figure></a></li>