El mazo del juez sobre un escritorio, con personas al fondo, durante un acto judicial.

Descripción de la imagen: El mazo de un juez sobre un escritorio, con personas al fondo durante un acto judicial.

«¿Por qué se presenta una demanda? Una guía práctica sobre los patrones de interfaz de usuario que subyacen a 6.666 reclamaciones por accesibilidad»

Catálogo de patrones · 19 piezas expuestas

«¿Por qué se presenta una demanda? Una guía práctica sobre los patrones de interfaz de usuario que subyacen a 6.666 reclamaciones por accesibilidad»

Las denuncias federales en materia de accesibilidad presentadas en virtud de la Ley de Estadounidenses con Discapacidades rara vez alegan incumplimientos novedosos. Alegan las mismas diecinueve cuestiones, una y otra vez, con un texto prácticamente idéntico. Este es un catálogo, punto por punto, de los elementos de la página, los errores de código y las decisiones de diseño que aparecen con mayor frecuencia, cada uno de ellos basado en citas textuales extraídas de los documentos de denuncia correspondientes.

En la entrega anterior de esta serie se analizó la situación de los litigios desde una perspectiva general: 8.788 casos federales en EE. UU., quiénes los interponen, el grado de concentración del colectivo de abogados demandantes y la rapidez con la que se resuelven los casos. Esa visión resulta útil para los equipos jurídicos y financieros. Sin embargo, es menos útil para el desarrollador, el diseñador o el gestor de producto que tiene que lanzar la corrección efectiva el lunes por la mañana.

Esta guía adopta el enfoque contrario. Parte de la página y se expande hacia fuera. Cada entrada que figura a continuación es un patrón de interfaz de usuario específico —a veces un solo elemento, a veces un flujo— con el que se topó un usuario de lector de pantalla, de teclado o con baja visión, que no pudo manejar y que pasó a formar parte de una demanda ante un tribunal federal. Para cada uno de ellos, mostramos lo que los demandantes escribieron realmente en la demanda, con qué frecuencia aparece ese patrón en el conjunto de datos, por qué da lugar a un litigio y cómo es la solución.

Índice de pruebas · Cat. 2026.04

19 patrones · ordenados por frecuencia en los registros de reclamaciones extraídos

n = 113 120 números
ID Patrón Página / superficie Problemas registrados
E·01Campo de formulario denominado «cuadro de edición»Formularios para todo el sitio17,693 ↑
E·02Navegación global / menú de hamburguesaEncabezado, en todas las páginas7,934
E·03Indicador de enfoque ausente o invisibleEn todo el sitio7,294
E·04Logotipos e imágenes decorativas sin texto alternativoEncabezado, banners6,337
E·05Ventana modal o emergente sin aviso previo ni focoEn todo el sitio3,476
E·06Vídeo sin subtítulos ni transcripciónHero, páginas de contenido3,355
E·07La ficha del producto / la plantilla PLP no funcionaPáginas de anuncios2,900
E·08Botones de tamaño, cantidad y muestra (página de detalles del producto)Detalles del producto2,725
E·09Enlaces vacíos y «haz clic aquí» / «leer más»En todo el sitio2,723
E·10Estructura de la página: falta el H1, los puntos de referencia no funcionanEn todo el sitio2,485
E·11Errores en el proceso de pago y campos obligatoriosFinalizar compra1,656
E·12Controles que solo muestran iconos (carrito, chat, redes sociales)Encabezado, pie de página1,531
E·13Barra de búsqueda y sugerencias de autocompletadoEncabezado1,252
E·14Superposición de accesibilidad / el propio widgetEn todo el sitio1,210
E·15Formularios de inicio de sesión, registro y contraseñaPáginas de autenticación1,158
E·16Página del carrito: cantidad, eliminar, actualizarCarrito1,022
E·17Barreras exclusivas para dispositivos móvilesWeb móvil / aplicación móvil787
E·18«Añadir al carrito» — sin confirmación sonoraPDP, carrito718
E·19Etiquetas de los campos de pago (CVV, número de tarjeta)Finalizar compra524

Los recuentos reflejan las entradas de cuestiones clasificadas extraídas de los documentos de las demandas del conjunto de datos de los tribunales federales; un caso suele generar decenas de entradas. Los patrones se ordenan por el número total de cuestiones registradas, no por la frecuencia a nivel de cada caso.

De dónde proceden los datos

El catálogo se basa en el mismo conjunto de datos de los tribunales federales descrito en la entrega anterior: 8.788 casos relacionados con la accesibilidad de sitios web en virtud del Título III de la ADA, extraídos de PACER (el sistema de acceso público a los registros electrónicos judiciales del poder judicial federal), con 6.666 descripciones de problemas concretos extraídas de los documentos de demanda y clasificadas en 27 categorías funcionales —navegación global, anuncios de lectores de pantalla, navegación por teclado, formularios, ventanas modales, pagos, etc.—.

Todas las citas textuales de las entradas que figuran a continuación se han reproducido a partir de los extractos del expediente tal y como aparecen en la demanda original, con ligeras correcciones editoriales destinadas únicamente a subsanar errores evidentes del reconocimiento óptico de caracteres (por ejemplo, «A nnounced» → «Announced») que se introdujeron al escanear los expedientes judiciales. El recuento de cuestiones refleja el número de entradas categorizadas, no el número de casos únicos; un solo caso suele generar docenas de entradas de cuestiones que abarcan múltiples categorías. Cuando resulta útil, señalamos el predominio relativo de un subpatrón dentro de su categoría.

Los demandantes no están denunciando errores raros y difíciles de encontrar. Están denunciando el mismo proceso de pago, el mismo logotipo, la misma ventana modal y el mismo campo de formulario, en una página web tras otra.

Parte I · El recorrido del usuario
Patrones que dan lugar a demandas, en el orden en que el usuario los encuentra

Ocho elementos dispuestos desde la llegada hasta la finalización de la compra. Los elementos de la página donde se originan la mayoría de los casos no se encuentran en los márgenes del sitio web, sino a lo largo del recorrido de conversión —encabezado, búsqueda, producto, carrito, finalización de la compra—; precisamente donde se generan los ingresos.

E·02

La navegación global y el menú de hamburguesa sin etiqueta

Cita textual de las quejas
El botón del menú principal no tiene ninguna etiqueta
El enlace «Ir al menú» no funciona correctamente
Falta el enlace de salto en la página
La página carece de un enlace de salto o de una zona de referencia que permita a los usuarios de teclado avanzar rápidamente, lo que les obliga a desplazarse con la tecla Tab por los elementos del encabezado
Frecuencia
7.934entradas clasificadas en «Navegación global / Encabezado»
301 entradasrelacionadas específicamente con fallos en el menú, las hamburguesas o los enlaces de salto
Por qué se le demanda

El encabezado es la primera superficie interactiva de cada página, y el botón de menú desplegable suele ser lo primero a lo que accede un usuario que navega con el teclado. Cuando ese botón se muestra como un <div> si incluye una imagen de fondo CSS, carece de un nombre accesible o despliega un menú que retiene el foco o no indica si está abierto o cerrado, todo el sitio web se vuelve estructuralmente inoperativo desde el teclado antes de que el usuario haya accedido a ningún contenido real.

El enlace de salto es el fallo asociado. Uno que funciona "Skip to main content" El enlace de salto es una solución de cinco líneas, pero también es el indicador más eficaz para saber si un equipo de desarrollo tiene la accesibilidad incluida en su lista de comprobación. Las quejas suelen mencionar ambos aspectos en el mismo párrafo, ya que la ausencia o el mal funcionamiento de un enlace de salto es una señal de alarma: si el equipo no ha implementado un enlace de salto, es casi seguro que tampoco haya implementado los estados «aria-expanded».

La solución

Representa el activador del menú como un elemento real <button> con una etiqueta de texto visible o solo para lectores de pantalla y un elemento gestionado aria-expanded atributo. Indique un "Skip to main content" enlace que se vuelve visible al pasar el cursor por encima y que aparece dentro del <main> punto de referencia. Asegúrate de que el foco se desplace al menú al abrirse, vuelva al elemento activador al cerrarse y de que Esc cierra el menú.

Encabezado de superficie, en todas las páginas WCAG 2.2 AA2.4.1 Omitir bloques · 4.1.2 Nombre, función, valor · 2.1.1 Teclado
E·13

Barra de búsqueda y sugerencias de autocompletado

Cita textual de las quejas
El usuario no puede utilizar la barra de búsqueda
No era posible seleccionar con el teclado las sugerencias de búsqueda que aparecían debajo de la barra de búsqueda
El usuario no se percató de las sugerencias de búsqueda tras introducir un término de búsqueda en la barra de búsqueda
No se informó al demandante de que los resultados de la búsqueda aparecieran en la pantalla
Frecuencia
1.252entradas sobre búsqueda y filtrado
164 entradasrelacionadas específicamente con el autocompletado, las sugerencias o la interfaz de usuario predictiva
Por qué se le demanda

En la mayoría de los sitios web de gran tamaño, la función de búsqueda se ha rediseñado como un componente personalizado: un campo de texto con supresión de repeticiones que envía una solicitud con cada pulsación de tecla y muestra una lista flotante de sugerencias dentro de un elemento con posición absoluta <div>. El campo de entrada de texto en sí suele funcionar bien. La lista de sugerencias, en cambio, casi nunca. Se muestra fuera del contexto DOM del campo de entrada, no tiene role="listbox", no aria-activedescendant, y no se muestra ningún aviso de «región activa» cuando aparecen los resultados. Un usuario de un lector de pantalla escribe, no oye nada, pulsa Intro y obtiene una página de resultados que no sabía que estaba ahí esperándole.

El mismo patrón arquitectónico se repite en los paneles de filtrado de la búsqueda por facetas y en la propia lista de resultados: elementos en los que se puede colocar el foco del teclado, que están presentes visualmente pero que nunca se anuncian. Las quejas sobre la búsqueda rara vez se refieren al cuadro de búsqueda; se refieren a todo lo que aparece después de que el usuario escribe.

La solución

Utiliza el patrón de cuadro combinado WAI-ARIA establecido: role="combobox" en la entrada con aria-expanded, aria-controls, y aria-activedescendant conectado a un role="listbox" de sugerencias. Añade un área interactiva que muestre el recuento de resultados. Asegúrate de que se pueda acceder a la lista de sugerencias con la tecla de flecha hacia abajo, y no solo con el ratón.

Búsqueda enSurfaceHeader· Página de resultados de búsqueda WCAG 2.2 AA4.1.2 Nombre, función, valor · 4.1.3 Mensajes de estado · 2.1.1 Teclado
E·07

Ficha de producto y la cuadrícula PLP

Cita textual de las quejas
El usuario no puede utilizar este filtro
El usuario no puede utilizar el menú de filtros
atributos y filtros inaccesibles
Esto impide que los usuarios de lectores de pantalla utilicen la herramienta «Filtro»
Frecuencia
2.900entradas en la página de listado de productos
30 casoscon un análisis detallado de los problemas de PLP
Por qué se le demanda

La cuadrícula PLP concentra varios antipatrones en una sola pantalla. Cada mosaico suele ser una ficha en la que se puede hacer clic y que contiene tres o cuatro elementos secundarios interactivos —enlace a una imagen, enlace al título, muestras de color, botón de «Añadir rápidamente»— envueltos en otro enlace a la página del producto. El resultado son elementos interactivos anidados (un error de HTML), texto de enlace redundante («Enlace a imagen Hero Dash Three» que se repite cuatro veces) y muestras de color creadas a partir de <div> elementos con controladores de clic, pero sin función ni nombre.

La barra lateral de filtros añade una segunda categoría de error. Las facetas de filtro suelen ser listas de casillas de selección, pero están creadas con elementos «div» y «span» personalizados, a los que se les ha aplicado un estilo para que parezcan casillas de selección, mientras que el <input> oculto fuera de la pantalla. Cuando ese campo oculto pierde su asociación —ya sea por una regla CSS, un controlador de eventos de JavaScript que ignora las pulsaciones de la tecla de espacio o la ausencia de for atributo en la etiqueta visible: el filtro solo se puede manejar con el ratón.

La solución

Utiliza un enlace por cada ficha con texto descriptivo, en lugar de tres enlaces por producto. Muestra las muestras tal y como son en realidad. <button> elementos dentro de un role="radiogroup". Crear facetas de filtro en el <input type="checkbox"> elementos con <label> Etiquetas: aplica un estilo visible a los campos de entrada en lugar de ocultarlos. Indica los cambios en el filtro mediante una zona activa discreta.

Páginas de listadode productos, resultados de búsqueda WCAG 2.2 AA1.3.1 Información y relaciones · 2.4.4 Propósito de los enlaces · 4.1.2 Nombre, función y valor
E·08

Detalles del producto: botones de tamaño, cantidad y muestra

Cita textual de las quejas
Los botones «Talla» y «Cantidad» de las páginas de productos no están etiquetados
El botón «Cantidad» no aparece etiquetado ni es accesible en las páginas de productos
El botón «Tabla de tallas» no aparece etiquetado en las páginas de productos
En la página del producto, la web no muestra la información de la guía de tallas
Frecuencia
2.725entradas de incidenciasen la página de detalles del producto
169 entradasrelacionadas específicamente con el tamaño, la cantidad, las muestras o los selectores de color
Por qué se le demanda

La página de detalles del producto es donde un usuario de un lector de pantalla debe realizar varias selecciones específicas en el orden correcto: elegir un color, elegir una talla, indicar la cantidad y, a continuación, añadir el artículo al carrito. Cada una de esas selecciones se implementa en el comercio electrónico moderno como un widget personalizado —normalmente una fila horizontal de <button>en forma de <div>En cuanto a los tamaños, los mosaicos de colores creados a partir de elementos `div` con estilos CSS y un control numérico formado por dos botones con iconos que flanquean un campo de entrada. Los botones de aumento y disminución suelen incluirse sin un nombre accesible; las quejas los describen como anunciado como «botón, botón» sin que se indique a qué se dedican.

Las guías y tablas de tallas constituyen un problema aparte: casi siempre se encuentran tras un enlace «Tabla de tallas» que abre una ventana modal, y el enlace en sí suele carecer de etiqueta, la ventana modal suele carecer de título visible y la tabla que contiene suele carecer de encabezados de filas o columnas.

La solución

Utiliza controles de formulario reales. Las muestras de color y los selectores de tamaño deben ser un role="radiogroup" de role="radio" botones (o controles de radio con un estilo que los haga invisibles), cada uno con un nombre accesible como «Talla: mediana». El control deslizante de cantidad debe ser un campo de número etiquetado con botones de incremento y decremento emparejados, cuyos nombres accesibles incluyan la acción y la cantidad actual. Encuadre todo el bloque de selección en un «fieldset» con una leyenda.

Páginas de detalles deproductos de Surface WCAG 2.2 AA1.3.1 Información y relaciones · 4.1.2 Nombre, función, valor · 3.3.2 Etiquetas o instrucciones
E·18

«Añadir al carrito»: el botón que no confirma

Cita textual de las quejas
No se ha anunciado la confirmación de la incorporación al carrito
El botón «Añadir al carrito» NO se anuncia y NO es accesible
El mensaje «Añadir al carrito» no se anuncia a los usuarios de lectores de pantalla
El usuario no puede añadir el artículo al carrito
Frecuencia
718entradas de erroren la acción «Añadir al carrito»
78 entradasque utilizan específicamente la expresión «sin anunciar» / «sin confirmación»
Por qué se le demanda

El botón «Añadir al carrito» es el momento más probado en cualquier embudo de comercio electrónico y uno de los que presenta fallos con mayor frecuencia para los usuarios de tecnologías de apoyo. El patrón es mecánico: un visitante pulsa el botón, aparece una pequeña ventana emergente de confirmación o un cajón con el minicarrito durante dos o tres segundos, y el icono del carrito actualiza el contador en el encabezado. Los usuarios videntes ven las tres señales. Los usuarios de lectores de pantalla, por lo general, no reciben ninguna. La ventana emergente se muestra fuera de cualquier área activa, el cajón aparece sin gestión del foco y el cambio en el recuento del carrito se transmite como una simple mutación del DOM que ningún lector de pantalla anunciará.

El resultado es un botón que, desde el punto de vista del usuario, no hace nada. Lo pulsan, no oyen nada, dan por hecho que no ha funcionado y vuelven a pulsarlo. Algunas quejas mencionan que se pulsó el botón cinco o seis veces antes de darse cuenta de que el carrito había acumulado, sin que se notara, cinco o seis artículos.

La solución

Envuelve la sección «cart-status» en aria-live="polite" y actualiza su texto cada vez que se añada un artículo correctamente. Si el diseño utiliza un panel de confirmación, desplaza el foco al panel cuando se abra y devuélvelo al botón original cuando se cierre. Actualiza la insignia del recuento del carrito con un mensaje destinado exclusivamente a lectores de pantalla, como «Se ha añadido 1 artículo. Total del carrito: 3 artículos».

Detallesdel producto· Cesta de la compra · Páginas de listado WCAG 2.2 AA4.1.3 Mensajes de estado · 4.1.2 Nombre, función, valor · 2.4.3 Orden de enfoque
E·12

Controles que solo incluyen iconos: el carrito, el globo de chat y la barra de redes sociales

Cita textual de las quejas
El icono del carrito de la compra no está etiquetado correctamente
Los iconos de «Cuenta» y «Carrito» no están etiquetados en la plataforma digital del demandado
El icono del chat no es accesible mediante el teclado
Los enlaces a las redes sociales del pie de página no están etiquetados
Frecuencia
1.531entradas sobre iconos y elementos visuales
40 entradasdedicadas específicamente al etiquetado del icono del carrito
Por qué se le demanda

Los controles que solo contienen iconos fallan de una forma previsible: el contenido visible es un glifo SVG o de fuente de iconos, el contenido accesible está vacío y la lectura del lector de pantalla se reduce al rol estructural del elemento sin nombre. El icono del carrito acaba anunciándose como «enlace» o «colapsado»; el globo de chat como «botón»; la fila de iconos sociales del pie de página como «enlace, enlace, enlace, enlace, enlace». El usuario no tiene forma de saber para qué sirve ninguno de ellos.

Los iconos de carrito fallan con más frecuencia que otros iconos por una razón de diseño: en muchas implementaciones, el número de artículos del carrito se incluye dentro del nombre accesible del icono (por ejemplo, el icono muestra un «0» dentro del SVG), y el lector de pantalla solo detecta el dígito. Las quejas señalan que el icono del carrito se anuncia como «3, enlace» o «0, enlace», sin indicar que el «3» se refiere a la cantidad de artículos en el carrito de la compra.

La solución

Todos los controles que solo contienen iconos deben tener un nombre accesible. Añade un aria-label en el botón o incluir una etiqueta de texto oculta visualmente en su interior: "Shopping cart, 3 items". Evita incluir dígitos numéricos en el nombre accesible del icono sin contexto. En el caso de los iconos decorativos que aparecen junto a texto visible, utiliza aria-hidden="true" en el icono y deja que el texto sirva de etiqueta.

Encabezado de superficie· pie de página · widgets flotantes WCAG 2.2 AA1.1.1 Contenido no textual · 4.1.2 Nombre, función, valor · 2.4.4 Propósito del enlace
E·11

Pago: el formulario que no se puede rellenar

Cita textual de las quejas
En la página de pago no aparece el mensaje de error
El usuario no puede introducir los datos de facturación al finalizar la compra
Los menús desplegables de la sección «Información de facturación» no se pueden manejar con la tecla Espacio
Los mensajes de error durante el proceso de pago son imprecisos y no indican a los usuarios qué es lo que deben corregir
Frecuencia
1.656incidencias relacionadas con el proceso de pago
124 entradassobre mensajes de error, campos obligatorios o obstáculos en los formularios de facturación
Por qué se le demanda

La página de pago concentra más riesgos de incumplimiento normativo por píxel cuadrado que cualquier otra página de un sitio de comercio electrónico, y los fallos son muy frecuentes. Los menús desplegables de direcciones se muestran como elementos personalizados <div> componentes que ignoran la tecla de espacio. Los indicadores de campos obligatorios se muestran únicamente como un asterisco rojo, sin aria-required y sin asociación programática. Los mensajes de error se muestran en línea, en texto rojo, debajo del campo, sin aria-describedby se vincula el campo al error y no se muestra ningún mensaje en la zona activa cuando falla la validación. El usuario rellena el formulario, pulsa «Continuar», es redirigido sin previo aviso y no tiene forma de saber qué campos han fallado ni por qué.

En cientos de casos se repite el mismo tipo de queja: no se anuncian los mensajes de error, los mensajes de error son imprecisos, no se puede introducir la información de facturación. No se trata de errores aislados, sino del comportamiento predeterminado de la mayoría de los componentes de pago de las tiendas online que se comercializan sin haber sido adaptados explícitamente para la accesibilidad.

La solución

Utiliza datos reales <label> elementos asociados a las entradas mediante for/id. Marca los campos obligatorios con aria-required="true" e indica el requisito con texto visible, no solo con el color. Si falla la validación, muestra el mensaje de error dentro del campo de entrada aria-describedby destino, indica el campo con error aria-invalid="true", y desplaza el foco del teclado al primer campo con un valor no válido. Incluye un área de resumen de errores en la parte superior del formulario con enlaces a cada uno de los campos con errores.

SurfaceCheckout· formularios de dirección · formularios de contacto WCAG 2.2 AA3.3.1 Identificación de errores · 3.3.3 Sugerencias de corrección · 1.3.1 Información y relaciones · 4.1.3 Mensajes de estado
E·19

Pago: el campo del CVV que no tiene etiqueta

Cita textual de las quejas
Los campos de edición «Tarjeta de débito o crédito» de la página de pago NO están etiquetados
Cuando el usuario intenta pagar con tarjeta de crédito, no hay una etiqueta adecuada que identifique el campo de introducción del CVV
El usuario no puede introducir los datos de la tarjeta de crédito al finalizar la compra
El usuario no puede añadir una tarjeta de crédito al finalizar la compra
Frecuencia
524entradas sobre pagos
75 entradasespecíficas sobre el etiquetado de tarjetas de crédito, el código CVV o el número de tarjeta
Por qué se le demanda

El bloque de pago es atípico porque suele mostrarse mediante un iframe integrado de un tercero —Stripe Elements, Braintree Hosted Fields o un complemento de Adyen—. Dentro del iframe, el formulario del proveedor de pagos suele estar bien etiquetado. Pero en el momento en que un sitio web crea su propio formulario de captura de datos de tarjeta, o envuelve los campos incrustados en un diseño personalizado que sustituye las etiquetas por marcadores de posición visuales, los cuatro campos —número, fecha de caducidad, CVV y código postal— se convierten en una fila de campos en blanco para un lector de pantalla.

El campo del CVV es el que con mayor frecuencia se etiqueta de forma incorrecta, ya que los diseñadores suelen sustituir su etiqueta por un icono de interrogación que abre una ventana emergente en la que se explica qué es el CVV. La ventana emergente no es la etiqueta; el campo sigue necesitando un nombre programático. Cuando no lo tiene, el lector de pantalla anuncia todo el bloque de pago como «editar, editar, editar, editar» y la transacción se detiene.

La solución

Si utilizas una integración de campos alojados de terceros, sigue las directrices de accesibilidad del proveedor; la mayoría ofrece una forma documentada de etiquetar los campos desde fuera del iframe. Si estás creando un formulario de captura de tarjetas personalizado, cada campo de entrada debe tener un <label> elemento con una etiqueta de texto visible, además de autocomplete="cc-number" / cc-exp" / cc-csc" atributos para que los gestores de contraseñas y las tecnologías de apoyo puedan identificar los campos según su finalidad.

SurfaceCheckout· paso de pago WCAG 2.2 AA3.3.2 Etiquetas o instrucciones · 1.3.5 Identificar la finalidad de los campos de entrada · 4.1.2 Nombre, función, valor
E·16

Página del carrito: el control deslizante de cantidad y el botón «Eliminar» que falta

Cita textual de las quejas
Por lo tanto, los usuarios de lectores de pantalla no pueden eliminar artículos del carrito
El demandante no pudo eliminar ningún producto del carrito de la compra
El demandante no pudo modificar la cantidad de artículos del carrito de la compra
En el carrito de la compra, la opción de cantidad no está correctamente etiquetada
Frecuencia
1.022entradas de incidenciasen la página del carrito de la compra
174 entradasrelacionadas específicamente con operaciones de cantidad, eliminación o actualización
Por qué se le demanda

La página del carrito repite el fallo del control deslizante de cantidad de la página de detalle del producto, pero con mayores consecuencias: un usuario de lector de pantalla que no pueda manejar el control deslizante no podrá completar el pedido. El control «Eliminar» es en sí mismo un antipatrón: suele ser un pequeño icono en forma de «×» situado junto a cada artículo, a menudo sin texto visible, sin aria-label, y no se emite ningún aviso cuando se elimina la fila. El usuario pulsa lo que cree que es el botón de eliminar, la fila desaparece y el lector de pantalla no dice nada. No hay forma de confirmar que la acción se haya realizado correctamente.

Varias quejas señalan un problema similar: el total acumulado del carrito se actualiza dinámicamente cuando cambian las cantidades o se eliminan artículos, pero el nuevo total se muestra como texto DOM normal fuera de cualquier área interactiva, por lo que el usuario no tiene ni idea de cuánto se le va a cobrar.

La solución

Cada partida debe incluir un botón de eliminación con su correspondiente etiqueta (por ejemplo, "Remove Blue T-Shirt, size M, from cart"). Los controles de selección de cantidad deben indicar su valor actual como parte del nombre accesible o mediante actualizaciones de la zona interactiva asociada. El subtotal del carrito debe aparecer dentro de un aria-live="polite" región, por lo que se anuncian los cambios. Confirma las eliminaciones mediante una opción para deshacer.

Páginade carrito/ cesta WCAG 2.2 AA4.1.3 Mensajes de estado · 4.1.2 Nombre, función, valor · 2.4.4 Finalidad del enlace
Parte II · Patrones generales del sitio
Errores que se repiten en todas las páginas, independientemente del recorrido

Siete elementos que no están vinculados a ninguna etapa concreta del embudo de conversión. Se trata de cuestiones de infraestructura —convenciones a nivel de página, componentes globales, contenido básico— y cualquier fallo en este ámbito se reproduce en todas las páginas en las que aparece el componente.

E·01

El campo del formulario denominado «cuadro de edición»

Cita textual de las quejas
El demandante se encontró con campos de formulario sin etiquetar, identificados únicamente como «cuadro de edición», y no pudo aplicar las promociones ni completar el pago
En la página de inicio de sesión, el campo de entrada no tiene etiqueta y no se anuncia
Faltan las etiquetas de los campos del formulario • Problema: No hay etiquetas en los campos «Nombre» y «Dirección de correo electrónico»
Los botones de aumentar y disminuir tampoco tienen etiqueta y no se anuncian a los usuarios de lectores de pantalla
Frecuencia
17 693entradas clasificadas como «Anuncios del lector de pantalla»
2.522entradas de problemasdirectamente en la categoría «Formularios»
Por qué se le demanda

Esta es la categoría más numerosa del conjunto de datos, ya que es el problema más barato de detectar y el más costoso de ignorar. Un lector de pantalla recorre el DOM, encuentra un <input>, y lee su nombre accesible —que calcula a partir de, en este orden: aria-labelledby, aria-label, una filial <label for>, el title atributo o el marcador de posición. Si no existe ninguno de ellos, el lector de pantalla solo anuncia la función: «cuadro de edición» o «edición, en blanco». Esa frase, casi textualmente, aparece repetidamente en cientos de registros de reclamaciones.

La razón por la que es tan habitual es de carácter estructural. Los sistemas de diseño modernos suelen mostrar texto de marcador de posición dentro del campo de entrada como sustituto de la etiqueta visible, y los desarrolladores dan por sentado que el marcador de posición cumple la función de etiquetado. Pero no es así. El marcador de posición desaparece cuando el usuario escribe, no deja ningún nombre programático y hace que el campo resulte inutilizable para cualquiera que llegue a él más adelante en el flujo o vuelva a él tras un error.

La solución

Cada control interactivo cuenta con una etiqueta visible, asociada mediante programación. <label for="email">Email</label><input id="email" type="email"> es el patrón canónico. Los marcadores de posición son indicaciones complementarias, no sustitutos. En los controles en los que realmente no sea conveniente que la etiqueta sea visible (campos de búsqueda, botones con iconos), utiliza aria-label con un texto descriptivo — nunca con el marcador de posición duplicado.

Superficie: todos los formularios del sitio WCAG 2.2 AA3.3.2 Etiquetas o instrucciones · 1.3.1 Información y relaciones · 4.1.2 Nombre, función, valor
E·05

El modal que no se indica ni se destaca

Cita textual de las quejas
Esta ventana emergente no se anuncia ni se activa automáticamente
Sin embargo, el foco no se desplaza a la ventana emergente
El cuadro de diálogo no ha recibido el foco automáticamente
La ventana emergente no recibe el foco y no se anuncia
Frecuencia
3.476entradas sobre ventanas emergentes, ventanas modales y superposiciones
1.165 entradasque mencionan «concentración», «huida» o «despido»
Por qué se le demanda

La frase «no se anuncia ni se le da el foco» aparece textualmente en más de 400 entradas de quejas y es una de las frases más repetidas de todo el conjunto de datos. Describe un fallo concreto: aparece un modal o un cuadro de diálogo en la página (a menudo de forma automática —suscripción al boletín, verificación de edad, confirmación de ubicación—), el contenido visible cambia, pero el lector de pantalla no recibe ninguna señal de que haya ocurrido algún cambio. El foco permanece en la página subyacente. El usuario sigue desplazándose con la tecla Tab por lo que había debajo del modal, sin darse cuenta en absoluto de que ha aparecido un cuadro de diálogo que bloquea la pantalla.

Este es el típico ejemplo de un modal que falla en todos los aspectos a la vez: no role="dialog", no aria-modal="true", no se produce un cambio programático de enfoque al abrir la ventana, no se produce una «trampa de enfoque» mientras está abierta, no se produce el comportamiento de cierre con la tecla Esc y no se muestra el título. Dado que todos estos fallos van de la mano, solucionar cualquiera de ellos de forma aislada no supone ningún avance en la resolución del problema.

La solución

Utiliza un patrón de diálogo establecido (la especificación «WAI-ARIA Authoring Practices» es la referencia). Al abrirlo: desplaza el foco al primer elemento seleccionable dentro del diálogo, establece aria-modal="true" y role="dialog", asigna un nombre al cuadro de diálogo con aria-labelledby señalando su título. Mientras esté abierto: mantén el foco dentro del cuadro de diálogo. Al cerrarlo: devuelve el foco al elemento que lo activó. Respeta la tecla Esc. Si el cuadro modal interrumpe un flujo (por ejemplo, la reproducción automática al cargar la página), ofrece al usuario un único mecanismo para cerrarlo de forma permanente.

Ventanas emergentesde boletines informativos· Avisos sobre cookies · Filtros de edad · Ventanas deslizantes de confirmación del carrito WCAG 2.2 AA4.1.2 Nombre, función, valor · 2.4.3 Orden de enfoque · 2.1.2 Sin trampas de teclado · 4.1.3 Mensajes de estado
E·03

El indicador de enfoque ausente

Cita textual de las quejas
Indicadores de foco del teclado que no se perciben
Además, no muestran indicadores de enfoque visibles
el indicador de foco del teclado no se distinguía
Otras infracciones incluyen las trampas de teclado
Frecuencia
7.294incidencias relacionadas con la navegación por teclado y el foco
197 entradasque tratan específicamente sobre los indicadores de enfoque o el enfoque visible
Por qué se le demanda

Los indicadores de enfoque suelen desactivarse deliberadamente por parte de un desarrollador o diseñador que consideraba que el contorno predeterminado del navegador era un elemento de distracción visual y escribió *:focus { outline: none; } en una hoja de estilo global. Ahora, la página tiene un aspecto más limpio para un usuario vidente que utiliza el ratón. Sin embargo, para un usuario vidente que utiliza el teclado —incluidos la mayoría de los usuarios con baja visión, los usuarios con discapacidad motora y los usuarios que navegan sin ratón—, la página se vuelve inutilizable. El usuario puede pulsar la tecla Tab, pero no puede ver dónde se encuentra.

Este es uno de los pocos fallos que se pueden detectar sin necesidad de tecnología de apoyo. Un revisor de control de calidad que recorra la página de inicio una vez con el teclado, sin utilizar ninguna otra herramienta, lo detectará en menos de un minuto. El hecho de que los equipos de accesibilidad lo encuentren sistemáticamente en sitios web objeto de litigio, mientras que las revisiones internas lo pasan por alto, es una de las señales más fiables del conjunto de datos de que el sitio no ha superado en absoluto las pruebas de accesibilidad con teclado.

La solución

Nunca desactives todo de forma generalizada :focus contornos sin sustituto. Establece un estilo de foco visible —normalmente un contorno de 2-3 píxeles con suficiente contraste tanto con respecto al elemento como a su fondo— utilizando :focus-visible por lo que el indicador aparece al navegar con el teclado, pero no al hacer clic con el ratón. Compruébalo en todos los componentes interactivos, incluidos los widgets personalizados, los enlaces dentro de las tarjetas y los elementos con tabindex.

Superficie: todos los elementos interactivos del sitio WCAG 2.2 AA2.4.7 Foco visible · 2.1.1 Teclado · 1.4.11 Contraste de elementos no textuales
E·04

Logotipos e imágenes decorativas sin texto alternativo

Cita textual de las quejas
Falta el texto alternativo de la imagen del logotipo
Falta el texto alternativo de la imagen del logotipo
Falta la descripción textual de la imagen del logotipo
Una imagen con el atributo «alt» vacío no debe tener los atributos «title», «aria-label» ni «aria-labelledby»
Frecuencia
6.337entradas sobre imágenes y texto alternativo
394 entradasque mencionan específicamente el logotipo del sitio
Por qué se le demanda

El logotipo es la imagen más visitada de un sitio web y una de las que más a menudo no se carga correctamente. Normalmente se encuentra en un enlace que redirige a la página de inicio, pero la imagen se carga sin alt, no aria-label en el enlace, sin texto a su alrededor. El lector de pantalla solo lee «enlace», sin ninguna indicación de adónde lleva. Multiplica eso por cada página del sitio.

La categoría más amplia —imágenes sin texto alternativo— abarca los banners, las fotos de productos, las ilustraciones destacadas, los iconos de redes sociales y el amplio catálogo de imágenes de marketing que suele ofrecer un sitio web de comercio electrónico típico. Las reclamaciones en esta categoría suelen citar nombres de archivo de imágenes concretos, lo que indica que el perito del demandante realizó una comprobación automática que enumeró todas las imágenes cuya alt El atributo faltaba o estaba vacío, cuando debería haber sido descriptivo.

La solución

Los logotipos deben incluir un texto alternativo que describa el nombre de la empresa y, si el logotipo enlaza a alguna página, el destino — alt="Acme Co. — homepage". Las imágenes decorativas tienen el atributo «alt» vacío (alt=""), lo que las oculta deliberadamente a las tecnologías de apoyo. Las imágenes informativas deben incluir un texto alternativo descriptivo. Evita generar automáticamente el texto alternativo a partir de los nombres de archivo o mediante subtítulos generados por IA sin revisión humana; los registros de reclamaciones citan repetidamente casos en los que las herramientas de superposición describían el logotipo de una empresa como «un letrero azul y amarillo».

Logotipode SurfaceHeader· banners · imágenes de productos · páginas de marketing WCAG 2.2 AA1.1.1 Contenido no textual · 2.4.4 Finalidad de los enlaces
E·09

Enlaces vacíos y «haz clic aquí» / «leer más»

Cita textual de las quejas
El sitio web contiene enlaces vacíos sin texto
Por ejemplo, enlaces como «Leer más» no aportan suficiente contexto
Por ejemplo, un enlace con el texto «Haga clic aquí» no ofrecía suficiente contexto
Descripciones de enlaces imprecisas • Problema: los enlaces del tipo «haz clic aquí» carecen de contexto sobre su finalidad
Frecuencia
2.723entradas sobre enlaces y botones
85 entradascon los patrones «empty-link» o «generic-link-text»
Por qué se le demanda

Los lectores de pantalla muestran una vista de «lista de enlaces», muy utilizada por los usuarios experimentados para examinar una página en cuestión de segundos. Esa vista muestra únicamente el texto del enlace, separado del párrafo que lo rodea. Una página en la que cada resumen de entrada del blog termina en «Leer más» se muestra en esa vista como quince entradas idénticas. Una página con cinco enlaces vacíos — <a href="..."></a>, algo habitual cuando los iconos se encuentran dentro de etiquetas de enlace sin texto alternativo, muestra cinco espacios en blanco.

La solución es bien conocida, al igual que el error, y por eso este patrón sigue apareciendo en las quejas: su persistencia pone de manifiesto un proceso de desarrollo que carece de un linter automatizado para el texto de los enlaces y de una revisión manual con un lector de pantalla.

La solución

Cada enlace debe tener un nombre accesible que describa su destino o la acción que realiza. Sustituye las expresiones genéricas por otras descriptivas — «Leer más» se convierte en «Más información sobre los resultados del tercer trimestre». En el caso de los enlaces que solo contienen un icono, añade texto oculto visualmente o un aria-label. Ejecuta una comprobación automática (Axe, Lighthouse, etc.) para detectar elementos vacíos <a> elementos durante la CI.

A nivel de todo el sitio· avances de entradas del blog · pie de página · bloques de contenido relacionado WCAG 2.2 AAA2.4.4 Propósito del enlace · 2.4.9 Propósito del enlace (solo enlace)
E·06

Vídeo sin subtítulos ni transcripción

Cita textual de las quejas
El sitio web contiene muchos vídeos que carecen de subtítulos
Falta de subtítulos en los vídeos del sitio web
En la página web hay muchos más vídeos que carecen de subtítulos.
Frecuencia
3.355entradas sobre contenido de vídeo y audio
86 entradasque hacen referencia específica a los subtítulos, la reproducción automática o la audiodescripción
Por qué se le demanda

Los vídeos aparecen en las quejas siguiendo dos patrones. El primero es el más evidente: un vídeo de marketing, una demostración de producto o un vídeo explicativo se publica sin subtítulos, transcripción ni ningún texto alternativo, por lo que un visitante sordo o con discapacidad auditiva no puede acceder al contenido. El segundo es más sutil: un vídeo destacado que se reproduce automáticamente al cargar la página, lo que interfiere con la salida del lector de pantalla e incumple los controles de pausa/parada exigidos en el nivel AA de las WCAG 2.2 (según el criterio de éxito 2.2.2 «Pausa, parada y ocultación» para contenido en movimiento y el criterio de éxito 1.4.2 para cualquier audio).

Algunas reclamaciones incluidas en este conjunto de datos afirman que «la falta de subtítulos en los vídeos del sitio web constituye una infracción de la ADA», lo cual se presenta como una conclusión jurídica. La validez de tal afirmación varía según la jurisdicción y las circunstancias; lo que resulta más indiscutible es que estos vídeos incumplen sistemáticamente las WCAG 2.2 AA, la norma que la mayoría de los tribunales y los acuerdos extrajudiciales consideran el criterio de cumplimiento de referencia.

La solución

Incluya subtítulos sincronizados en todos los vídeos pregrabados que contengan audio. Proporcione también una transcripción textual; las transcripciones resultan útiles para los usuarios que utilicen dispositivos con el audio silenciado, en entornos con poco ancho de banda y para la indexación. Evite la reproducción automática; si es necesaria por motivos de diseño, incluya un control de pausa/parada al que se pueda acceder directamente mediante el teclado. En el caso de contenidos que solo contengan vídeo (sin audio), proporcione una audiodescripción o un texto alternativo.

Vídeosde SurfaceHero· demostraciones de productos · páginas de marketing · vídeos incrustados de YouTube WCAG 2.2 AA1.2.2 Subtítulos (pregrabados) · 1.2.5 Descripción de audio (pregrabada) · 2.2.2 Pausar, detener, ocultar
E·15

Formularios de inicio de sesión, registro y contraseña

Cita textual de las quejas
El usuario no puede utilizar el formulario de inicio de sesión
El usuario no puede iniciar sesión en su cuenta
El usuario no puede iniciar sesión en su cuenta
El usuario no puede iniciar sesión al finalizar la compra
Frecuencia
1.158entradas sobre cuentas de usuario y autenticación
Por qué se le demanda

El inicio de sesión es la puerta de acceso a toda la experiencia de autenticación. Cuando el formulario falla, todas las páginas posteriores quedan inaccesibles, y las quejas suelen considerar esa cadena de fallos como un único obstáculo. El patrón es el mismo fallo de etiquetado de formularios que en E·01, a menudo combinado con tres subfallos específicos: un conmutador «Mostrar contraseña» implementado como un botón que solo contiene un icono, sin nombre y sin anuncio del cambio de estado; un CAPTCHA que impide por completo el uso de lectores de pantalla; y errores en línea («credenciales no válidas») que se muestran en pantalla pero no se anuncian.

La casilla «Recordarme» es un error secundario recurrente adicional: se muestra como un elemento con estilo <div>, con el <input> Al estar oculta fuera de la pantalla, la casilla de verificación se puede seleccionar con el ratón, pero no con el teclado ni con un lector de pantalla. El usuario no tiene forma de activar una sesión persistente.

La solución

Utiliza datos reales <input>, <label>, y <button> elementos. Haz que el conmutador para mostrar/ocultar la contraseña sea un botón real con un nombre accesible que se actualice según el estado ("Show password" / "Hide password") y anunciar el cambio con aria-pressed. Ofrecer una alternativa accesible a los CAPTCHA basados en imágenes (CAPTCHA de audio o, preferiblemente, sustituir el CAPTCHA por una autenticación basada en el riesgo o por las variantes accesibles de hCaptcha).

Páginasde SurfaceLogin· Inicio de sesión en la caja · Paneles de control de la cuenta WCAG 2.2 AA3.3.2 Etiquetas o instrucciones · 4.1.2 Nombre, función, valor · 1.1.1 Contenido no textual (CAPTCHA)
Parte III · Infraestructura y patrones a nivel de código
Errores derivados de decisiones relacionadas con el marcado, la estructura y las herramientas

Cuatro ejemplos que ilustran fallos de arquitectura, más que de cualquier interfaz de usuario concreta. Se trata de decisiones tomadas por encima del nivel de la página —la organización de los encabezados, la compatibilidad con dispositivos móviles, las dependencias de terceros— cuyas consecuencias se extienden a todos los ámbitos.

E·10

Estructura de la página: falta el H1, los puntos de referencia no funcionan, no se indica el idioma

Cita textual de las quejas
Falta el código de encabezado – H1
Estructura de encabezados incorrecta y falta de declaraciones de idioma en el documento
Main landmark not announced by screen reader • Issue: The <main> landmark is not defined within the page
La página carece de un enlace de salto o de una zona de referencia que permita a los usuarios de teclado desplazarse rápidamente
Frecuencia
2.485entradas sobre estructura de páginas y semántica
Más de950 entradasque mencionan específicamente problemas relacionados con los encabezados, los puntos de referencia o los H1
Por qué se le demanda

Los lectores de pantalla permiten recorrer la página a través de tres modos de navegación: por encabezados, por puntos de referencia y por enlaces. Una página que se publica sin un <h1>, sin <main>, <nav>, y <footer> lugares emblemáticos, y sin un lang="en" atributo en el <html> elemento, ha eliminado los tres modos de navegación a la vez. Los usuarios no pueden desplazarse por la página, no pueden saltar directamente al contenido y el lector de pantalla no puede cargar el motor de pronunciación adecuado.

Se trata de un fallo inusualmente grave: la ausencia de un único punto de referencia provoca una cascada de problemas posteriores, ya que todas las estrategias de navegación de los lectores de pantalla que dependen de él dejan de funcionar. Las quejas de esta categoría suelen enumerar cuatro o cinco problemas estructurales concretos, que se presentan como prueba de que el sitio carece de una base semántica.

La solución

Cada página tiene uno y solo uno <h1>, con subtítulos (<h2>, <h3>) anidados de forma lógica. Encuadra las regiones en elementos de referencia de HTML5: <header>, <nav>, <main>, <aside>, <footer>. Configurar lang en la raíz <html> elemento. Valídalo con un verificador de esquemas o ejecuta document.querySelectorAll('h1').length === 1 como prueba de funcionamiento en la integración continua.

Superficie: Todas las páginas WCAG 2.2 AA1.3.1 Información y relaciones · 2.4.6 Encabezados y etiquetas · 3.1.1 Idioma de la página
E·17

Barreras exclusivas para dispositivos móviles

Cita textual de las quejas
Los errores no se notifican a las SRU móviles
El menú no se muestra a los usuarios de lectores de pantalla (SRU) en dispositivos móviles.
Por ejemplo, no se lee en voz alta el título del campo «Número de móvil»
Las unidades móviles de servicio (SRU) no pueden seleccionar el botón «Apple Pay» como método de pago
Frecuencia
787entradas sobre dispositivos móviles y diseño adaptativo
203 entradasque comparan explícitamente el comportamiento en dispositivos móviles y en ordenadores de sobremesa
Por qué se le demanda

La mayor parte del control de calidad de la accesibilidad se lleva a cabo en navegadores de escritorio con NVDA o JAWS. Las tecnologías de apoyo para dispositivos móviles —VoiceOver en iOS, TalkBack en Android— muestran una representación diferente del mismo DOM, a menudo con errores distintos. Las quejas utilizan repetidamente la abreviatura «usuario de lector de pantalla móvil» (mobile SRU ) para señalar fallos que son exclusivos de la vista móvil: un menú de hamburguesa que funciona con NVDA en el ordenador de sobremesa pero no responde con VoiceOver, un botón de Apple Pay al que se puede acceder en un portátil pero no en la versión para iPhone de la página, mensajes de error que se anuncian en el ordenador de sobremesa pero no en el móvil.

Los datos indican que los demandados, cuya accesibilidad en ordenadores de sobremesa es, por lo demás, sólida, siguen siendo objeto de demandas por cuestiones específicas de los dispositivos móviles. La paridad móvil es un requisito de auditoría en sí misma.

La solución

Realiza pruebas con VoiceOver en Safari para iOS y con TalkBack en Chrome para Android como mínimo, siguiendo los mismos flujos que se incluyen en el control de calidad para ordenadores de sobremesa. Presta especial atención a las interacciones basadas en gestos, a los botones de pago nativos y a la lectura de los campos de formulario cuando se seleccionan. Si existe una aplicación nativa, sométela a la misma auditoría; las quejas suelen abarcar tanto la web como la aplicación en el mismo caso.

Webpara dispositivos móviles· Aplicaciones nativas para iOS y Android WCAG 2.2 AAAll— aplicado a la visualización móvil · 2.5.1 Gestos del puntero · 2.5.2 Cancelación del puntero
E·14

La superposición de accesibilidad o el propio widget

Cita textual de las quejas
Los complementos de accesibilidad superpuestos, como UserWay, no pueden solucionar ni solucionan las barreras de accesibilidad subyacentes a nivel de código
El demandante sostiene que conoce bien el widget de superposición de accessiBe y que «simplemente no funciona para alguien que es completamente ciego».
Problemas causados por el complemento de ajustes de accesibilidad de AccessiBe: el complemento de AccessiBe, en lugar de resolver los problemas de accesibilidad, introduce importantes barreras en este ámbito
Los widgets de superposición de accesibilidad automatizados no garantizan la igualdad de acceso y, de hecho, pueden crear barreras adicionales para los usuarios con discapacidad
Frecuencia
1.210incidencias relacionadas con componentes de terceros
26 entradasen las que se menciona explícitamente a un proveedor o se describen errores provocados por la superposición
Por qué se le demanda

La superposición de accesibilidad es el único ejemplo de este catálogo en el que el fallo no reside en absoluto en el sitio web subyacente, sino en la supuesta capa correctiva que se añadió para solucionarlo. Las quejas de esta categoría describen dos problemas distintos. El primero es que las superposiciones no eliminan realmente las barreras subyacentes, por lo que el usuario se encuentra con los mismos modales defectuosos, formularios mal etiquetados y errores sin previo aviso, independientemente de si el widget está presente o no. El segundo es más concreto: las superposiciones a veces introducen nuevos fallos al insertar etiquetas incorrectas, aplicar erróneamente roles ARIA o interferir con la propia configuración de tecnología de apoyo del usuario.

Un detalle que cabe destacar: en las reclamaciones de 2024 y 2025 se menciona cada vez más al proveedor de la superposición por su nombre. En dos pasajes concretos de las reclamaciones se identifica a UserWay y AccessiBe en términos inequívocos, y las recientes medidas de la FTC han creado un riesgo explícito de que la incorporación de una superposición constituya en sí misma una prueba de que no se han llevado a cabo medidas correctoras reales, en lugar de una defensa frente a un litigio.

La solución

Considera las capas superpuestas como una señal de alerta, no como una solución. Si actualmente tienes alguna implementada, elabora un plan de acción para una corrección real que aborde el código subyacente en lugar de ocultarlo. La vía más probada consiste en una combinación de: un escáner automatizado integrado en la integración continua (CI), una revisión manual conforme a las WCAG 2.2 AA, pruebas manuales con al menos un lector de pantalla y navegación solo con el teclado, y un control de calidad de la accesibilidad continuo en el proceso de diseño y desarrollo.

Widget de superposiciónpara todo el sitio WCAG 2.2 AA: Las superposicionesno cumplen con el nivel de conformidad AA; todos los criterios de éxito relevantes siguen estando dentro del ámbito de aplicación.

Lo que tienen en común estos diecinueve patrones

El catálogo no es una muestra aleatoria. Si se leen los casos uno tras otro, se observan repetidamente unos pocos patrones estructurales: patrones que explican por qué predominan estos fallos concretos, más que en qué superficie aparecen.

  1. Componentes JavaScript personalizados que sustituyen a los elementos HTML nativos

    Todos los fallos más citados tienen que ver con un <div> hacer el trabajo de un <button>, un <label>, un <select>, o un <dialog>. Cuando se utiliza el elemento nativo, el problema es poco frecuente. Cuando se sustituye —normalmente por motivos de diseño visual—, el problema se produce con frecuencia.

  2. Faltan las relaciones programáticas entre el contenido visible y su significado

    El marcador de posición se considera una etiqueta. El asterisco se considera aria-required. El borde rojo se considera un mensaje de error. Los usuarios videntes perciben las relaciones de forma visual; los usuarios de tecnologías de apoyo solo pueden ver las relaciones que existen en el DOM.

  3. Cambios de estado que no se anuncian

    Confirmaciones al añadir al carrito, recuentos de resultados de búsqueda, errores de validación, apertura de ventanas modales, actualizaciones del total del carrito... Cada cambio de estado dinámico en el catálogo cuenta con al menos una queja textual que lo describe como «silencioso». Los mensajes de estado y las regiones activas son, sin duda, la parte más infrautilizada del conjunto de herramientas WAI-ARIA.

  4. Las versiones para móvil y para ordenador difieren

    El mismo componente creado una vez con HTML semántico funciona tanto en VoiceOver como en NVDA. El mismo componente creado con JavaScript personalizado suele superar las pruebas de calidad para lectores de pantalla de escritorio, pero falla en dispositivos móviles, ya que la representación de los lectores de pantalla móviles pone de manifiesto diferentes errores en el mismo código.

  5. Las quejas siguen un modelo estándar, pero los errores subyacentes no son inventados

    Las frases tipo de las demandas aparecen textualmente en cientos de casos, pero las conclusiones concretas de cada demanda, a nivel de los distintos elementos, pueden verificarse y son correctas. El hecho de que el bufete de abogados de un demandante utilice un modelo predefinido no significa que los problemas subyacentes sean inventados; significa que se está aplicando el mismo guion contra los mismos fallos recurrentes.

¿Qué se debe auditar primero si no se cuenta con un programa de accesibilidad?

El catálogo anterior es exhaustivo, pero no está ordenado por prioridad para la clasificación. Si un equipo parte de cero y desea saber qué elementos debe auditar antes del próximo lanzamiento, el conjunto de datos sugiere un orden claro, basado tanto en la frecuencia como en la presencia o ausencia de estos patrones en los registros reales de reclamaciones. La lista que figura a continuación no sustituye a una auditoría completa según las WCAG 2.2 AA, pero abarca los incumplimientos que se repiten en la mayor parte de los casos.

Nivel 1: mayor frecuencia, menor coste de reparación

  • Navega por tu página de inicio con el teclado. ¿Puedes ver dónde está el foco en cada paso? (E·03)
  • Abre el código fuente de la página y comprueba cada <input> en cada formulario hay un <label>. (E·01)
  • Abre cada ventana modal con un lector de pantalla. ¿Se anuncia? ¿Se desplaza el foco hacia ella? (E·05)
  • Ejecuta un escáner automático (por ejemplo, DevTools o Lighthouse) en tus cinco plantillas principales. (E·04, E·09, E·10)

Nivel 2: mayor riesgo financiero en caso de rotura

  • Realiza un proceso de pago de principio a fin con un lector de pantalla, incluyendo un error de validación intencionado. ¿Se anuncian los errores? ¿Se anuncian los campos obligatorios? (E·11)
  • Añade un producto al carrito con un lector de pantalla. ¿Oyes que se ha actualizado el carrito? (E·18)
  • Utiliza el cuadro de búsqueda y la función de autocompletado solo con el teclado. ¿Puedes acceder a una sugerencia y seleccionarla? (E·13)
  • Comprueba que todos los campos de los formularios de pago tengan un título real, no un marcador de posición. (E·19)

Nivel 3: fácil de pasar por alto en las pruebas en ordenadores de sobremesa

  • Repite los niveles 1 y 2 en Safari para iOS con VoiceOver y en Chrome para Android con TalkBack. (E·17)
  • Si tienes implementada una capa de accesibilidad, planifica su eliminación junto con una hoja de ruta para la corrección efectiva. (E·14)
  • Comprueba que todos los vídeos incluyan subtítulos y una transcripción. (E·06)
En resumen

La lista de lo que se puede demandar es breve, estable y visible desde la página de inicio.

Los 19 patrones mencionados anteriormente representan la inmensa mayoría de los problemas detectados en las 113 120 quejas clasificadas de 8 788 casos federales. No son nada nuevo. No son difíciles de encontrar. Se trata de la misma página de pago, la misma ventana emergente, el mismo logotipo y los mismos campos de formulario que aparecerían en cualquier revisión de treinta minutos del sitio web realizada con el teclado y un lector de pantalla.

La clave está precisamente en esa asimetría. Los abogados de los demandantes están bien organizados, cuentan con amplios recursos y analizan esta misma lista en busca de patrones con una eficiencia industrial: la mitad de los casos se resuelven mediante acuerdo en menos de 100 días. Los demandados, en conjunto, repiten una y otra vez los mismos patrones, a menudo añadiendo un elemento superficial que se presenta como una supuesta defensa.

La tarea de subsanar esa asimetría no es una cuestión jurídica. Se trata de aplicar los principios de la ingeniería y el diseño a una lista conocida y finita. Este artículo constituye dicha lista.

Metodología y datos: Los 19 anexos se han elaborado a partir de 113 120 descripciones de problemas individuales, clasificadas en 27 categorías funcionales, extraídas de los documentos de las denuncias de 8788 casos federales relacionados con la accesibilidad de sitios web en virtud del Título III de la ADA (registros PACER, 2007-abril de 2026). El recuento de problemas citados por prueba refleja las entradas categorizadas dentro de la hoja correspondiente, no los casos únicos; un solo caso suele generar docenas de entradas. Las citas textuales se reproducen tal y como aparecen en los registros de denuncia subyacentes, con ligeras correcciones de los artefactos del OCR únicamente.

Referencias a las WCAG:Los criterios de éxito se citan en las WCAG 2.2 AA, la versión que los tribunales federales de EE. UU. y los acuerdos de conciliación del Departamento de Justicia (DOJ) consideran de forma más sistemática como el punto de referencia operativo en materia de cumplimiento. Las WCAG 2.2 introducen criterios de éxito adicionales, pero aún no constituyen la norma de referencia por defecto en los litigios analizados aquí.

Aviso legal: Estaguía tiene carácter informativo y no constituye asesoramiento jurídico. El hecho de que un patrón concreto de interfaz de usuario dé lugar a responsabilidad civil depende de la jurisdicción, del tipo de establecimiento de acceso público del demandado, del perjuicio concreto sufrido por el demandante y de cómo se haya planteado la cuestión en el proceso. Varios pasajes citados de la demanda contienen afirmaciones de carácter jurídico (por ejemplo, que la falta de subtítulos «constituye una infracción de la ADA») que deben interpretarse como alegaciones de los demandantes y no como jurisprudencia consolidada.

(el sistema de acceso público a los expedientes judiciales electrónicos del poder judicial federal)