Addaw, ir a inicio Donar

Técnica HTML WCAG 2.2

H86Proporcionar alternativas textuales para emojis, emoticonos, arte ASCII y leetspeak

En resumen

Los emojis, emoticonos como «:)», los dibujos hechos con caracteres ASCII y el leetspeak («4u571n r0ck5») se leen de forma confusa o absurda con un lector de pantalla. Esta técnica explica cómo darles una alternativa textual: marcarlos como imagen con role="img" y aria-label, o acompañarlos de un texto explicativo inmediatamente antes o después. Úsela siempre que estos elementos aporten significado y no sean mera decoración.

Aplicabilidad

HTML

Descripción

Los emojis son muy populares y se utilizan con frecuencia en línea para aportar más contexto y expresividad a la comunicación basada en texto. Los emojis vienen con sus propios nombres predefinidos, que no siempre coinciden con lo que quien escribe pretende comunicar. Por ejemplo, el emoji de un triángulo negro que apunta a la derecha (►) se describe por defecto como black right-pointing pointer (puntero negro que apunta a la derecha), lo que resultaría confuso si un diseñador hubiera cambiado su rotación o su color, o si se estuviera usando para dar el nombre accesible a un botón de «reproducir» en un reproductor multimedia.

Los emoticonos son anteriores a los emojis; todavía se utilizan, pero son mucho menos populares que antes. Los emoticonos emplean caracteres ASCII para crear expresiones faciales y otras formas de comunicar una emoción. Como los emoticonos se componen de varios caracteres de texto, pueden resultar confusos para los usuarios de lectores de pantalla. Cuando sea posible, es mejor usar simplemente una palabra como «sonrisa» o un emoji adecuado en lugar de un emoticono. Si se utilizan emoticonos, deben tener una alternativa textual.

El arte ASCII era habitual en internet antes de que se generalizara el uso de gráficos. Los caracteres ASCII se disponían para formar dibujos, imágenes de texto o gráficos. Aunque el contenido ASCII ya no se utiliza con frecuencia en la web, hay que recordar que, cuando se usa, puede resultar muy confuso para las personas que acceden a internet mediante lectores de pantalla. Si se utiliza arte ASCII, también debe tener una explicación textual de lo que representa el dibujo. Se sugiere asimismo que, si el dibujo ASCII no está marcado como imagen mediante ARIA, haya un enlace para saltar el dibujo (aunque esto no es obligatorio).

El leet fue en su día una parte bastante habitual de la cultura y la jerga de internet, pero hoy apenas se utiliza. El leetspeak emplea diversas combinaciones de caracteres, incluidos números y caracteres especiales, para sustituir a los caracteres estándar. El leet suele ser incomprensible para las personas que utilizan lectores de pantalla y, por tanto, requiere una alternativa textual para cumplir el criterio de conformidad 1.1.1 (Contenido no textual).

Ejemplos

Marcar emojis en una frase

Este ejemplo muestra una técnica para marcar emojis con nombres accesibles distintos de los predeterminados. Como no se puede usar un atributo alt en un elemento span y la recomendación ARIA no permite nombres accesibles en elementos genéricos, para dar a los emojis un nombre accesible se definen como imágenes con la propiedad ARIA role="img", lo que permite a su vez crear un nombre accesible mediante la propiedad aria-label.

<p>I smiled at my friend and gestured 
   <span aria-label="you" role="img">��</span>
   <span aria-label="rock" role="img">��</span>!
</p>

Cuatro opciones para proporcionar alternativas a un emoticono que representa «smile»

A continuación se muestran cuatro opciones para proporcionar alternativas a un emoticono que representa «smile» (sonrisa), formado por dos puntos seguidos de un paréntesis de cierre.

:) (smile)
<abbr title="smile">:)</abbr>
<span aria-label="smile" role="img">:)</span>
<img alt="smile" src="smile.gif">

Usar las propiedades aria-label y role="img"

Añadir la propiedad role="img" al elemento que contiene el contenido ASCII lo define como una imagen, y la propiedad aria-label le proporciona la alternativa textual necesaria. Saltar al siguiente ejemplo de ASCII.


<div aria-label="WCAG" role="img">
oooooo   oooooo     oooo   .oooooo.         .o.         .oooooo.    
 `888.    `888.     .8'   d8P'  `Y8b       .888.       d8P'  `Y8b   
   `888.   .8888.   .8'   888              .8"888.     888           
    `888  .8'`888. .8'    888             .8' `888.    888           
     `888.8'  `888.8'     888            .88ooo8888.   888     ooooo 
       `888'    `888'      `88b    ooo   .8'     `888.  `88.    .88'  
        `8'      `8'        `Y8bood8P'  o88o     o8888o  `Y8bood8P'
</div>

Arte ASCII con una explicación del dibujo que lo precede

Este ejemplo incluye un enlace para saltar el arte ASCII. Saltar al ejemplo de leetspeak.

<figure>
  <figcaption>
    <p>Figure 1: ASCII art picture of a butterfly.
      <a href="#skipbutterfly">Skip ASCII butterfly image</a>
    </p>
  </figcaption>
                                                                LLLLLLLLLLL
                                                            __LLLLLLLLLLLLLL
                                                           LLLLLLLLLLLLLLLLL
                                                         _LLLLLLLLLLLLLLLLLL
                                                        LLLLLLLLLLLLLLLLLLLL
                                                      _LLLLLLLLLLLLLLLLLLLLL
                                                      LLLLLLLLLLLLLLLLLLLLLL
                                              L     _LLLLLLLLLLLLLLLLLLLLLLL
                                             LL     LLLLLL~~~LLLLLLLLLLLLLL
                                            _L    _LLLLL      LLLLLLLLLLLLL
                                            L~    LLL~        LLLLLLLLLLLLL
                                           LL   _LLL        _LL   LLLLLLLL
                                          LL    LL~         ~~     ~LLLLLL
                                          L   _LLL_LLLL___         _LLLLLL
                                         LL  LLLLLLLLLLLLLL      LLLLLLLL
                                         L  LLLLLLLLLLLLLLL        LLLLLL
                                        LL LLLLLLLLLLLLLLLL        LLLLL~
                  LLLLLLLL_______       L _LLLLLLLLLLLLLLLL     LLLLLLLL
                         ~~~~~~~LLLLLLLLLLLLLLLLLLLLLLLLL~       LLLLLL
                       ______________LLL  LLLLLLLLLLLLLL ______LLLLLLLLL_
                   LLLLLLLLLLLLLLLLLLLL  LLLLLLLL~~LLLLLLL~~~~~~   ~LLLLLL
             ___LLLLLLLLLL __LLLLLLLLLLLLL LLLLLLLLLLLLL____       _LLLLLL_
          LLLLLLLLLLL~~   LLLLLLLLLLLLLLL   LLLLLLLLLLLLLLLLLL     ~~~LLLLL
      __LLLLLLLLLLL     _LLLLLLLLLLLLLLLLL_  LLLLLLLLLLLLLLLLLL_       LLLLL
     LLLLLLLLLLL~       LLLLLLLLLLLLLLLLLLL   ~L ~~LLLLLLLLLLLLL      LLLLLL
   _LLLLLLLLLLLL       LLLLLLLLLLLLLLLLLLLLL_  LL      LLLLLLLLL   LLLLLLLLL
  LLLLLLLLLLLLL        LLLLLLLLLLLLL~LLLLLL~L   LL       ~~~~~       ~LLLLLL
 LLLLLLLLLLLLLLL__L    LLLLLLLLLLLL_LLLLLLL LL_  LL_            _     LLLLLL
LLLLLLLLLLLLLLLLL~     ~LLLLLLLL~~LLLLLLLL   ~L  ~LLLL          ~L   LLLLLL~
LLLLLLLLLLLLLLLL               _LLLLLLLLLL    LL  LLLLLLL___     LLLLLLLLLL
LLLLLLLLLLLLLLLL              LL~LLLLLLLL~     LL  LLLLLLLLLLLL   LLLLLLL~
LLLLLLLLLLLLLLLL_  __L       _L  LLLLLLLL      LLL_ LLLLLLLLLLLLLLLLLLLLL
 LLLLLLLLLLLLLLLLLLLL        L~  LLLLLLLL      LLLLLLL~LLLLLLLLLLLLLLLL~
  LLLLLLLLLLLLLLLLLLLL___L_ LL   LLLLLLL       LLLL     LLLLLLLLLLLLLL
   ~~LLLLLLLLLLLLLLLLLLLLLLLL     LLLLL~      LLLLL        ~~~~~~~~~
           LLLLLLLLLLLLLLLLLL_ _   LLL       _LLLLL
               ~~~~~~LLLLLLLLLL~             LLLLLL
                         LLLLL              _LLLLLL
                         LLLLL    L     L   LLLLLLL
                          LLLLL__LL    _L__LLLLLLLL
                          LLLLLLLLLL  LLLLLLLLLLLL
                           LLLLLLLLLLLLLLLLLLLLLL
                            ~LLLLLLLLLLLLLLLLL~~
                               LLLLLLLLLLLLL
                                 ~~~~~~~~~
</figure>
<p id="skipbutterfly">New content after the ASCII image.</p>

Marcar leetspeak

Lo siguiente es «Austin Rocks» escrito en leetspeak.

<abbr title="Austin Rocks">Au5t1N r0xx0rz</abbr>

Pruebas

Procedimiento

  1. Comprobar si el contenido contiene emojis, emoticonos, arte ASCII o leetspeak.
  2. Comprobar que cada emoji tiene una alternativa textual que cumple un propósito equivalente.
  3. Comprobar que cada obra de arte ASCII, emoticono o leetspeak:
    1. está marcado como una imagen con una alternativa textual que cumple un propósito equivalente; o
    2. tiene una alternativa textual inmediatamente antes o después.

Resultados esperados

  • Las comprobaciones n.º 2 y n.º 3 son verdaderas.

Recursos

Cómo lo comprobamos en ADDAW

En las auditorías de accesibilidad de ADDAW revisamos cada criterio de conformidad siguiendo este catálogo de técnicas: comprobamos si la web aplica una técnica suficiente y documentamos cada fallo común con capturas y el código afectado, para que el equipo de desarrollo sepa exactamente qué corregir. Los informes siguen la metodología del Observatorio de Accesibilidad y la norma UNE-EN 301 549.

Solicitar una auditoría

Fuente y licencia

Traducción al español, no oficial, realizada por ADDAW a partir de la técnica H86 del documento «Techniques for WCAG 2.2» del W3C (versión del repositorio público del W3C a 22/10/2026). Copyright © W3C® (MIT, ERCIM, Keio, Beihang). Se publica conforme a la licencia de documentos del W3C. El texto normativo de referencia es el original en inglés; si detecta un error en la traducción, escríbanos.

Financiado por la unión europea Gobierno de españa red.es Plan de recuperación transformación y resilencia kit digital