Habitualment ens trobem que hi ha una falsa creença.
Blog
Blog
Fa alguns anys parlàvem en un article sobre l'accessibilitat dels continguts generats per CSS mitjançant els pseudo-elements before i after. Aquesta tècnica encara després de tants anys segueix utilitzant-se amb relativa freqüència a causa de l'existència d'iconografies de l'estil de Font Awesome o similars, per la qual cosa és interessant conèixer quines podrien ser les alternatives per accessibilitzar aquest contingut.
Utilitzarem aquest servei com a exemple ja que és un dels més comuns, a més que proporciona a la seva documentació informació sobre l' accessibilitat en Font Awesome, la qual cosa parla molt bé a favor seu, però això podria aplicar-se a qualsevol sistema similar, fins i tot a una iconografia corporativa que s'implementi mitjançant aquesta mateixa tècnica.
Hi ha diversos mètodes per afegir iconografia de Font Awesome a una pàgina web. Un pot ser utilitzant directament els pseudo-elements CSS, no obstant això, el més pràctic és utilitzar les classes ja proporcionades directament mitjançant etiquetes <span> o <i> d'HTML, que ja manegen els pseudoelements per darrere.
La sintaxi per afegir una icona normalment és la següent:
<i class="fa-solid fa-user"></i>
Tot i això, considerem que és més adequat utilitzar l'etiqueta <span>, ja que l'etiqueta <i> té un significat semàntic de lletra cursiva que en aquest cas no és aplicable:
<span class="fa-solid fa-user"></span>
Una tecnologia icona de qualsevol de les dues formes anteriors no serà detectada per les tecnologies d'assistència com un lector de pantalla, i inclusivament depenent de quin lector de pantalla s'utilitzi, la icona serà detectada com un caràcter desconegut.
El primer a determinar per saber quina solució d'accessibilitat se us donarà a la icona és si compleix una funció merament decorativa, o està indicant alguna acció a realitzar o proporcionant alguna informació.
Bàsicament i de forma funcional, podríem determinar que una icona és decorativa quan:
Si es compleixen aquestes condicions, l'element s'ha de marcar com a decoratiu, i per això es pot utilitzar la recomanació d'accessibilitat de Font Awesome, que és mitjançant l'atribut ària-hidden.
<span class="fa-solid fa-user" aria-hidden=”true”></span>
Les versions més actuals d'aquesta llibreria ja ho fan per defecte, però és millor assegurar-se'n aplicant-ho de forma expressa.
Encara que en algunes pàgines es recomana l'ús de role=”presentation” o role=”none”, aquesta tècnica no impedeix que la icona segueixi sent detectada com un caràcter desconegut per alguns lectors de pantalla, per la qual cosa no la recomanem.
En cas que la imatge no compleixi les característiques anteriors, vol dir que, o transmet alguna informació addicional al seu context, o bé realitza alguna acció en ser polsada per ella mateixa.
Alguns exemples d'aquest cas serien:
Per a aquests casos es poden utilitzar algunes de les tècniques següents
Aquesta tècnica consisteix a fer ús del rol ària d'imatge, a més de l'atribut title, per proporcionar una etiqueta accessible, acompanyada d'un tooltip visible. Un exemple podria ser el següent:
<span class="fa-solid fa-user" role=”img” title=”User”></span>
En aquest cas no s'ha d'utilitzar l'atribut alt, ja que aquest només és propi de les imatges natives, i no és detectat com a estàndard per tots els navegadors i lectors de pantalla quan es fa servir en un element no nadiu.
Segons la tècnica ària-24 de les WCAG 2.1, també es poden utilitzar els atributs aria-label i aria-labelledby.
<span class="fa-solid fa-user" aria-label=”User”></span>
En aquest cas només cal tenir en compte que l'atribut aria-label no proporciona una etiqueta visible, que encara no és indispensable, proporciona una millor experiència d'usuari, mentre que l'atribut aria-labelledby sí que ho fa, en aquest cas només cal tenir cura que la informació no resulti redundant.
Aquesta altra tècnica consisteix a amagar a l'accessibilitat la icona utilitzant l'atribut aria-hidden, però acompanyar-lo d'un element amagat a la vista per CSS que transmeti la mateixa informació de manera accessible.
L'element que transmeti la informació pot ser ocultat a la vista, però no a l'accessibilitat, per tant no s'ha d'utilitzar mai la regla display: 'none'; de CSS, sinó que cal utilitzar regles com les incloses a la classe visually-hidden de Bootstrap 5.
<span class="fa-solid fa-user" aria-hidden="true"></span>
<span class="visually-hidden">User</span>
Si no utilitzeu Bootstrap, podeu afegir la classe al CSS:
.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
}
No és una pràctica recomanable assignar esdeveniments directament als elements <span> o <i> que mostren una icona, ja que per si mateixos no són capaços de prendre focus amb el teclat, per la qual cosa tampoc proporcionen un focus visible, a més de no comptar amb un rol interactiu com els botons o els enllaços nadius.
La recomanació serà sempre utilitzar aquestes icones dins d'un element que ja proporcioni les apis d'accessibilitat necessàries per a teclat i focus, com ara els enllaços o botons nadius d'HTML.
No obstant això, en cas d'utilitzar-los sense algun d'aquests elements, també cal afegir-hi la capacitat de ser enfocats mitjançant el teclat usant l'atribut tabindex, un rol que permeti identificar que s'hi pot interactuar mitjançant l'atribut role, a més de dissenyar un focus visible amb alguna de les tècniques recomanades pel criteri 2.4.7 de la WCAG.
L'ús del contingut mitjançant pseudo-elements after i before no és recomanable ja que alguns usuaris poden necessitar sobreescriure les regles CSS per algunes personalitzades que satisfacin millor les seves necessitats, a més que els usuaris de lectors de pantalla no percebran adequadament aquests continguts.
Això no obstant, es poden utilitzar aquestes recomanacions per proporcionar algunes alternatives d'accessibilitat a aquests elements.
Finalment, fer èmfasi que en els suggeriments presentats en aquest article s'han utilitzat classes, ja que si s'estableixen els pseudo-elements directament usant un altre tipus de selectors CSS com el mateix ID, es torna més complex després localitzar els elements HTML als que cal afegir-hi les característiques d'accessibilitat.
Si aquest contingut ha estat útil, no oblidis compartir-lo a les xarxes socials.
maria.cortes
Habitualment ens trobem que hi ha una falsa creença.
Ara que ve l’estiu està present arreu la difusió de tot tipus de turisme i per sort també, cada cop més, del turisme accessible per a
Les últimes setmanes alguns dels membres de l’equip de TothomWeb han treballat intensament per crear el web de ‘Zapatillas y Sneakers’ @ZapasySneakers, una revista online per als entusiastes d’…