Reporte de Accesibilidad de ejemplo. Harbor & Pine es una tienda ficticia que creamos con defectos de accesibilidad comunes y luego probamos con el mismo motor que analiza tu sitio web.
Analiza tu sitio web gratisReporte de Accesibilidad de ejemplo
harborandpine.example
- Plataforma:
- Shopify
- Generado:
- 24 sept 2026
- Páginas probadas:
- 9
- Motor:
- axe-core 4.13.0
Resumen
- Probamos 9 páginas de harborandpine.example (4 de tu sitemap) el 24 sept 2026 con axe-core 4.13.0 según WCAG 2.2 A y AA, más una prueba de compra solo con teclado.
- 8 tipos de problema no pasaron las pruebas automatizadas de WCAG (131 casos). 8 están marcados como Corregir primero.
- Recorrido bloqueadoUn comprador que usa solo el teclado queda bloqueado en: Elegir opciones y cantidad.
- Para revisión humana: 4 elementos que las pruebas automatizadas señalaron sin poder decidir.
- Empieza por: El foco del teclado queda atrapado en el banner de cookies; Las opciones del producto no se pueden elegir con el teclado; Los botones deben tener texto discernible.
Las pruebas automatizadas encuentran una parte de los problemas de accesibilidad de un sitio, no todos. Este reporte describe lo que encontraron nuestras pruebas y cómo corregirlo. No es asesoría legal y no certifica el cumplimiento de la ADA, de la Ley Europea de Accesibilidad ni de ninguna ley.
Panorama general
- P1 · Corregir primeroBloquea a los visitantes en páginas clave
- 8
- P2 · Corregir despuésBarreras graves o moderadas
- 0
- P3 · MejorarProblemas menores y buenas prácticas
- 2
Casos por gravedad
- Crítico
- 73
- Grave
- 58
- Moderado
- 25
- Menor
- 0
- Fallas verificadasTipos de problema en los que falló una prueba automatizada
- 10
- Requiere revisiónSeñalados, pero una persona debe decidir
- 4
- Revisiones aprobadasReglas automatizadas sin fallas
- 32
- No probadoPasos del recorrido y revisiones manuales
- 7
Probamos 9 páginas, 4 de ellas tomadas de tu sitemap. Las fechas objetivo son sugerencias según la gravedad; acuerda las fechas finales con tu desarrollador.
Panorama del sitio web
Detectado a partir de evidencia pública en las páginas probadas. Una clasificación puede ser incorrecta; solo decide qué revisiones adicionales se ejecutan.
Tipo de sitio web
- Tienda en líneaConfianza alta
- Funciona con Shopify, una plataforma de tiendas en línea
- Enlace a un carrito
- Enlaces de productos o de tienda
- Landing pageConfianza media
- Solo 6 páginas internas enlazadas
Tecnologías detectadas
- ShopifyConfianza alta
Recursos o scripts de Shopify en la página
Revisiones para este sitio
- Revisiones universales: accesibilidad, SEO, velocidad, seguridad y email
- Módulo de comercio electrónico: páginas de colección, de producto y del carrito, y un recorrido de compra con teclado hasta el botón de pago
- Notas para Shopify: pasos de corrección en el tema y en el panel de administración; los encabezados y las cookies que gestiona la plataforma se muestran como referencia
Recorrido de compra con teclado
Intentamos comprar solo con el teclado (Tab, Shift+Tab, Enter, Space, Escape), como lo hacen las personas que no pueden usar un mouse. Agregamos un artículo a un carrito en una sesión desechable y nos detenemos en el botón de pago: nunca entramos al checkout ni escribimos datos personales o de pago. Objetivo: Ir de la página de inicio al botón de pago usando solo el teclado.
01Llegar a la navegación principal
AprobadoEl foco llegó a “Shop” en la navegación después de 21 pulsaciones de Tab.
Esperado: Al presionar Tab desde la parte superior de la página de inicio se llega a los enlaces de la navegación principal.
- Nota: Un banner de cookies retuvo el foco del teclado hasta que presionamos Enter en “Accept all”.
Cómo reproducirlo
https://harborandpine.example/
- Abre la página de inicio.
- Haz clic en la barra de direcciones del navegador y luego presiona Tab varias veces (Shift+Tab retrocede).
Orden de foco que observamos
“Shop”
02Abrir un producto desde una colección
AprobadoEl foco llegó a “Trail Daypack 22L” después de 9 pulsaciones de Tab, y Enter abrió /products/trail-daypack.
Esperado: Tab llega a un producto de la cuadrícula de la colección, y Enter abre su página.
Cómo reproducirlo
https://harborandpine.example/collections/all
- Abre /collections/all.
- Presiona Tab hasta que se resalte un producto de la cuadrícula y luego presiona Enter.
Orden de foco que observamos
“Harbor & Pine” → “Shop” → “New arrivals” → “Our story” → body > header.site > div.icons > button → “Account” → body > header.site > div.icons > a → “FeaturedPrice, low to highPrice, high to low” → “Trail Daypack 22L”
03Elegir opciones y cantidad
Fallido3 opciones de producto no pueden recibir el foco del teclado: “S”, “M”, “L”. Responden al mouse, pero quien usa el teclado no puede elegirlas.
Esperado: Se puede llegar con Tab a cada opción del producto (talla, color, variante) y al campo de cantidad.
2.1.1 Teclado · Confianza: alta

Elegir opciones y cantidad: el elemento que falla, resaltado Cómo reproducirlo
https://harborandpine.example/products/trail-daypack
- Abre /products/trail-daypack.
- Presiona Tab desde la parte superior de la página y anota qué controles reciben el foco antes de Agregar al carrito.
Orden de foco que observamos
“Harbor & Pine” → “Shop” → “New arrivals” → “Our story” → … 5 más … → body > header.site > div.icons > a → div.page.product > div.gallery > div.thumbs > button → div.page.product > div.gallery > div.thumbs > button → div.page.product > div.gallery > div.thumbs > button → div.page.product > div > div.swatches > button → div.page.product > div > div.swatches > button → div.page.product > div > div.swatches > button → “1” → “Add to cart”
Elemento <div class="size-option" data-fr="opt-1">S</div>04Agregar al carrito con el teclado
Requiere revisiónEnter en Agregar al carrito funcionó (cambió el contador del carrito en el encabezado, apareció un mensaje de “agregado al carrito”), pero no encontramos ningún mensaje de estado ni diálogo con foco, así que es posible que quienes usan lectores de pantalla no escuchen que se agregó el artículo.
Esperado: Enter en Agregar al carrito agrega el artículo y la confirmación se anuncia: un mensaje de estado, un diálogo que toma el foco o la página del carrito.
4.1.3 Mensajes de estado · Confianza: media

Agregar al carrito con el teclado: la página en este paso Cómo reproducirlo
https://harborandpine.example/products/trail-daypack
- Abre /products/trail-daypack.
- Presiona Tab hasta que Agregar al carrito tenga el foco y luego presiona Enter.
- Escucha con un lector de pantalla (VoiceOver: Cmd+F5) si se anuncia una confirmación.
05Modificar el carrito y llegar al checkout
AprobadoSe llegó a los 4 controles del carrito y al botón de pago (“Check out”) con 12 pulsaciones de Tab. No lo presionamos.
Esperado: Se puede llegar con Tab a los campos de cantidad, a los botones para eliminar y al botón de pago.
Cómo reproducirlo
https://harborandpine.example/cart
- Agrega cualquier producto al carrito y abre la página del carrito.
- Presiona Tab y revisa que los campos de cantidad, los botones para eliminar y el botón de pago reciban el foco.
Orden de foco que observamos
“Harbor & Pine” → “Shop” → “New arrivals” → “Our story” → body > header.site > div.icons > button → “Account” → body > header.site > div.icons > a → “1” → tbody > tr > td > button.remove → “2” → tbody > tr > td > button.remove → “Check out”
06Finalizar compra
No probadoNos detenemos en el botón de pago: nunca entramos al checkout, no creamos pedidos ni escribimos datos de pago. En Shopify, las páginas de checkout las gestiona Shopify, no tu tema. Revisa el checkout a mano (consulta Revisiones manuales).
Mapa de reclamos de la carta
Cada reclamo de la carta, comparado con la evidencia del análisis. Es una comparación de hechos, no asesoría legal.
- Reproducido
“Images lack alternative text, so product photos are not described.”
Imágenes sin texto alternativo. 10 casos en 3 de 5 páginas probadas.
image-alt
- Reproducido
“Text has insufficient color contrast against its background, including sale badges and prices.”
Contraste de color insuficiente. 16 casos en 5 de 5 páginas probadas.
color-contrast
- Reproducido
“The website cannot be navigated using a keyboard alone.”
Acceso con teclado y foco. El foco del teclado se queda atrapado en el banner de cookies.
- Reproducido
“Form fields do not have labels, including the newsletter sign-up and the quantity fields in the cart.”
Campos de formulario sin etiqueta. 4 casos en 3 de 5 páginas probadas.
select-name, label
- Revisión manual
“Product videos do not have captions.”
Subtítulos de video y audio. Los análisis automatizados no pueden evaluar los subtítulos. Revisa que cada video de producto o de marca tenga subtítulos precisos y una transcripción.
- Revisión manual
“Our client is legally blind and uses screen reader software.”
Otros problemas. Es una afirmación general. Prueba los flujos clave (búsqueda, página de producto, agregar al carrito, checkout) con un lector de pantalla como VoiceOver o NVDA.
Plan de corrección
| Prioridad | Problema | Estado | WCAG | Casos | Responsable | Fecha objetivo |
|---|---|---|---|---|---|---|
| P1 | El foco del teclado queda atrapado en el banner de cookies | Verificado | 2.1.2 | 1 | proveedor de la app | 2026-10-08 |
| P1 | Las opciones del producto no se pueden elegir con el teclado | Verificado | 2.1.1 | 1 | desarrollador del tema | 2026-10-08 |
| P1 | Los botones deben tener texto discernible | Verificado | 4.1.2 | 41 | desarrollador del tema | 2026-10-08 |
| P1 | Las imágenes deben tener texto alternativo | Verificado | 1.1.1 | 22 | editor de contenido | 2026-10-08 |
| P1 | Los elementos de formulario deben tener etiquetas | Verificado | 4.1.2 | 7 | desarrollador del tema | 2026-10-08 |
| P1 | El elemento select debe tener un nombre accesible | Verificado | 4.1.2 | 1 | desarrollador del tema | 2026-10-08 |
| P1 | Los enlaces deben tener texto discernible | Verificado | 2.4.4, 4.1.2 | 36 | desarrollador del tema | 2026-10-08 |
| P1 | Los elementos deben tener un contraste de colores suficiente | Verificado | 1.4.3 | 22 | dueño de la tienda (configuración del panel de administración) | 2026-10-08 |
| P3 | Todo el contenido de la página debe estar incluido en puntos de referencia | Verificado | Buena práctica | 18 | desarrollador del tema | 2026-11-23 |
| P3 | El nivel de encabezados solo debería incrementarse en 1 | Verificado | Buena práctica | 7 | desarrollador del tema | 2026-11-23 |
Cómo corregir cada problema
El foco del teclado queda atrapado en el banner de cookies
esfuerzo: moderado · responsable: proveedor de la app · 2.1.2 Sin trampas para el foco del teclado
Cuando una persona que usa el teclado presiona Tab, el foco da vueltas entre unos pocos elementos y nunca llega al resto de la página.
Si el foco queda atrapado, quienes usan solo el teclado o un lector de pantalla no pueden comprar en absoluto (WCAG 2.1.2 Sin trampas para el foco del teclado).
Evidencia
- Detectado por
- Prueba con teclado (recorrer la página de inicio con Tab)
- Estado · confianza
- Falla verificada · alta
- Detectado
- 24 sept 2026 (UTC)
- Dónde
- 1 caso en 1 página
Esperado: Al presionar Tab, el foco pasa por cada elemento interactivo y continúa al resto de la página.
Observado: Después de 40 pulsaciones de Tab, el foco siguió dando vueltas entre: Settings, Accept all.
Cómo reproducirlo
- Abre la página de inicio.
- Haz clic en la barra de direcciones y luego presiona Tab varias veces.
- El foco vuelve una y otra vez a los mismos pocos elementos.
Elementos que fallan (6 mostrados)
SettingsAccept allSettingsAccept allSettingsAccept allPáginas afectadas (1)
- https://harborandpine.example/
Cómo corregirlo
Orientación general- Busca en la configuración de la app de tu banner de cookies o de consentimiento una opción de accesibilidad o de trampa de foco, o pídele al proveedor que lo corrija.
- Un modal puede retener el foco solo mientras está abierto, y debe cerrarse con la tecla Escape y devolver el foco a donde estaba.
Corrige con IAMostrar el prompt
Pega esto en ChatGPT, Claude, Cursor o Copilot junto con el archivo de tu tema. Revisa el cambio antes de publicarlo.
Tengo una tienda Shopify (tema Online Store 2.0, plantillas Liquid) en harborandpine.example. Una prueba de accesibilidad encontró este problema y quiero corregirlo en mi tema. Problema: El foco del teclado queda atrapado en el banner de cookies (WCAG 2.1.2). Dónde: 1 caso en 1 página, por ejemplo /. Un elemento que falla, tal como lo renderizó el navegador: ```html Settings ``` Por qué es importante: Si el foco queda atrapado, quienes usan solo el teclado o un lector de pantalla no pueden comprar en absoluto (WCAG 2.1.2 Sin trampas para el foco del teclado). Qué hay que cambiar: - Busca en la configuración de la app de tu banner de cookies o de consentimiento una opción de accesibilidad o de trampa de foco, o pídele al proveedor que lo corrija. - Un modal puede retener el foco solo mientras está abierto, y debe cerrarse con la tecla Escape y devolver el foco a donde estaba. Reglas para tu respuesta: - Muestra el cambio exacto como antes y después, e indica el archivo o la configuración donde va. Si primero necesitas ver mi archivo, pídeme que lo pegue. - Mantén igual el diseño visual y todo el comportamiento existente. - No inventes nombres de productos, precios ni textos; usa marcadores de posición que yo pueda completar. - Termina explicando cómo puedo comprobar la corrección yo mismo. - Incluye cómo confirmarlo con el teclado y con un lector de pantalla.
Comprueba tu corrección
- Carga la página de inicio, presiona Tab varias veces y confirma que el foco llega a la navegación principal y al contenido.
Detectado por una prueba automatizada con teclado; confírmalo a mano.
Las opciones del producto no se pueden elegir con el teclado
esfuerzo: moderado · responsable: desarrollador del tema · 2.1.1 Teclado
Las opciones de talla, color o variante responden al mouse pero no pueden recibir el foco del teclado, así que quienes usan el teclado no pueden elegir una variante.
Los compradores que usan solo el teclado, incluidas muchas personas que usan lectores de pantalla, no pueden pasar de este paso (WCAG 2.1.1).
Evidencia
- Detectado por
- Recorrido con teclado
- Estado · confianza
- Falla verificada · alta
- Detectado
- 24 sept 2026 (UTC)
- Dónde
- 1 caso en 1 página
Esperado: Se puede llegar con Tab a cada opción del producto (talla, color, variante) y al campo de cantidad.
Observado: 3 opciones de producto no pueden recibir el foco del teclado: “S”, “M”, “L”. Responden al mouse, pero quien usa el teclado no puede elegirlas.

Cómo reproducirlo
- Abre /products/trail-daypack.
- Presiona Tab desde la parte superior de la página y anota qué controles reciben el foco antes de Agregar al carrito.
Elementos que fallan (1 mostrados)
<div class="size-option" data-fr="opt-1">S</div>Páginas afectadas (1)
- https://harborandpine.example/products/trail-daypack
Cómo corregirlo
Orientación general- Crea los selectores de opciones con botones de opción nativos (o un <select>) con etiquetas visibles; dale a la etiqueta el estilo de la muestra.
- Si conservas elementos personalizados, cada opción necesita tabindex="0", role="radio" con aria-checked dentro de un role="radiogroup", y manejo de las teclas de flecha y de Space. Los botones de opción nativos te dan todo esto sin esfuerzo.
Código
Ejemplos de implementación para tu desarrollador. No tenemos el código fuente de tu tema, así que las ubicaciones de los archivos son orientativas, no rutas exactas.
<div class="size-option" data-fr="opt-1">S</div><fieldset class="variant-picker">
<legend>Size</legend>
<input type="radio" id="size-s" name="Size" value="S" class="visually-hidden">
<label for="size-s" class="size-option">S</label>
<input type="radio" id="size-m" name="Size" value="M" class="visually-hidden">
<label for="size-m" class="size-option">M</label>
</fieldset>Cada opción es un botón de opción real, al que se llega con Tab y que se cambia con las teclas de flecha; la etiqueta conserva el estilo de tu muestra. Usa los nombres y valores de tus opciones.
Corrige con IAMostrar el prompt
Pega esto en ChatGPT, Claude, Cursor o Copilot junto con el archivo de tu tema. Revisa el cambio antes de publicarlo.
Tengo una tienda Shopify (tema Online Store 2.0, plantillas Liquid) en harborandpine.example. Una prueba de accesibilidad encontró este problema y quiero corregirlo en mi tema. Problema: Las opciones del producto no se pueden elegir con el teclado (WCAG 2.1.1). Dónde: 1 caso en 1 página, por ejemplo /products/trail-daypack. Un elemento que falla, tal como lo renderizó el navegador: ```html <div class="size-option" data-fr="opt-1">S</div> ``` Por qué es importante: Los compradores que usan solo el teclado, incluidas muchas personas que usan lectores de pantalla, no pueden pasar de este paso (WCAG 2.1.1). Qué hay que cambiar: - Crea los selectores de opciones con botones de opción nativos (o un <select>) con etiquetas visibles; dale a la etiqueta el estilo de la muestra. - Si conservas elementos personalizados, cada opción necesita tabindex="0", role="radio" con aria-checked dentro de un role="radiogroup", y manejo de las teclas de flecha y de Space. Los botones de opción nativos te dan todo esto sin esfuerzo. Un cambio sugerido (El formulario de producto de tu tema (selector de variantes)): ```html <fieldset class="variant-picker"> <legend>Size</legend> <input type="radio" id="size-s" name="Size" value="S" class="visually-hidden"> <label for="size-s" class="size-option">S</label> <input type="radio" id="size-m" name="Size" value="M" class="visually-hidden"> <label for="size-m" class="size-option">M</label> </fieldset> ``` Reglas para tu respuesta: - Muestra el cambio exacto como antes y después, e indica el archivo o la configuración donde va. Si primero necesitas ver mi archivo, pídeme que lo pegue. - Mantén igual el diseño visual y todo el comportamiento existente. - No inventes nombres de productos, precios ni textos; usa marcadores de posición que yo pueda completar. - Termina explicando cómo puedo comprobar la corrección yo mismo. - Incluye cómo confirmarlo con el teclado y con un lector de pantalla.
Comprueba tu corrección
- Repite los pasos para reproducirlo usando solo el teclado.
- Pide una reevaluación desde este reporte: el recorrido se vuelve a ejecutar.
Las imágenes deben tener texto alternativo
esfuerzo: moderado · responsable: editor de contenido · 1.1.1 Contenido no textual
A algunas imágenes les falta un texto alternativo, así que quienes usan lectores de pantalla no saben qué muestran.
WCAG 1.1.1 exige un texto alternativo para las imágenes con significado. Sin él, una persona que usa un lector de pantalla no puede saber qué producto muestra una foto.
Evidencia
- Detectado por
- Regla automatizada de axe-core
- Estado · confianza
- Falla verificada · alta
- Detectado
- 24 sept 2026 (UTC)
- Dónde
- 22 casos en 7 páginas
Esperado: Las imágenes deben tener texto alternativo
Observado: El elemento no tiene un atributo alt. El atributo aria-label no existe o está vacío. El atributo aria-labelledby no existe, hace referencia a elementos inexistentes o hace referencia a elementos vacíos. El elemento no tiene atributo title. La semántica predeterminada del elemento no se anuló mediante role="none" o role="presentation".


Cómo reproducirlo
- Abre https://harborandpine.example/ en Chrome o Edge.
- Abre DevTools (F12) › Elementos, presiona Ctrl+F (Cmd+F en Mac) y busca: img[src$="hero-photo.jpg"]
- En el panel Accesibilidad de DevTools, el nombre calculado (Name) del elemento está vacío.
- O ejecuta en la página la extensión gratuita axe DevTools para el navegador: lo reporta como "image-alt".
Elementos que fallan (4 mostrados)
<img src="/img/hero-photo.jpg" loading="lazy"><img src="/img/mug.svg"><img src="/img/beanie.svg"><img src="/img/jacket.svg">Páginas afectadas (7)
- https://harborandpine.example/
- https://harborandpine.example/collections/all
- https://harborandpine.example/products/trail-daypack
- https://harborandpine.example/products/pine-wool-beanie
- https://harborandpine.example/products/enamel-camp-mug
- https://harborandpine.example/products/harbor-lantern
- https://harborandpine.example/products/insulated-bottle
Cómo corregirlo
Código creado a partir del marcado de tu página- En el panel de administración de Shopify, abre Productos > [producto] > Multimedia, haz clic en cada imagen y completa 'Texto alternativo'. Para las imágenes de las secciones, abre Tienda online > Temas > Personalizar y define el texto alternativo de la imagen en la configuración de la sección.
- Describe lo que le importa a un comprador: el nombre del producto, el color y el ángulo que se muestra (por ejemplo, 'Bolso de lona verde oliva, vista frontal').
- Las imágenes decorativas deben tener un atributo alt vacío (alt="") para que los lectores de pantalla las omitan.
Código
Ejemplos de implementación para tu desarrollador. No tenemos el código fuente de tu tema, así que las ubicaciones de los archivos son orientativas, no rutas exactas.
<img src="/img/hero-photo.jpg" loading="lazy"><img src="/img/hero-photo.jpg" loading="lazy" alt="[Describe the image for a shopper]">Describe lo que muestra la imagen (en una foto de producto: producto, color, ángulo). Si la imagen es solo decorativa, usa alt="" para que los lectores de pantalla la omitan.
<img src="/img/mug.svg"><img src="/img/mug.svg" alt="[Describe the image for a shopper]">Describe lo que muestra la imagen (en una foto de producto: producto, color, ángulo). Si la imagen es solo decorativa, usa alt="" para que los lectores de pantalla la omitan.
<img src="/img/beanie.svg"><img src="/img/beanie.svg" alt="[Describe the image for a shopper]">Describe lo que muestra la imagen (en una foto de producto: producto, color, ángulo). Si la imagen es solo decorativa, usa alt="" para que los lectores de pantalla la omitan.
<img src="/img/jacket.svg"><img src="/img/jacket.svg" alt="[Describe the image for a shopper]">Describe lo que muestra la imagen (en una foto de producto: producto, color, ángulo). Si la imagen es solo decorativa, usa alt="" para que los lectores de pantalla la omitan.
Corrige con IAMostrar el prompt
Pega esto en ChatGPT, Claude, Cursor o Copilot junto con el archivo de tu tema. Revisa el cambio antes de publicarlo.
Tengo una tienda Shopify (tema Online Store 2.0, plantillas Liquid) en harborandpine.example. Una prueba de accesibilidad encontró este problema y quiero corregirlo en mi tema. Problema: Las imágenes deben tener texto alternativo (WCAG 1.1.1). Dónde: 22 casos en 7 páginas, por ejemplo /, /collections/all, /products/trail-daypack, /products/pine-wool-beanie. Un elemento que falla, tal como lo renderizó el navegador: ```html <img src="/img/hero-photo.jpg" loading="lazy"> ``` Por qué es importante: WCAG 1.1.1 exige un texto alternativo para las imágenes con significado. Sin él, una persona que usa un lector de pantalla no puede saber qué producto muestra una foto. Qué hay que cambiar: - En el panel de administración de Shopify, abre Productos > [producto] > Multimedia, haz clic en cada imagen y completa 'Texto alternativo'. Para las imágenes de las secciones, abre Tienda online > Temas > Personalizar y define el texto alternativo de la imagen en la configuración de la sección. - Describe lo que le importa a un comprador: el nombre del producto, el color y el ángulo que se muestra (por ejemplo, 'Bolso de lona verde oliva, vista frontal'). - Las imágenes decorativas deben tener un atributo alt vacío (alt="") para que los lectores de pantalla las omitan. Un cambio sugerido (Fotos de producto: panel de administración de Shopify › Productos › Multimedia › Texto alternativo. Otras imágenes: el código de tu tema): ```html <img src="/img/hero-photo.jpg" loading="lazy" alt="[Describe the image for a shopper]"> ``` Reglas para tu respuesta: - Muestra el cambio exacto como antes y después, e indica el archivo o la configuración donde va. Si primero necesitas ver mi archivo, pídeme que lo pegue. - Mantén igual el diseño visual y todo el comportamiento existente. - No inventes nombres de productos, precios ni textos; usa marcadores de posición que yo pueda completar. - Termina explicando cómo puedo comprobar la corrección yo mismo. - Incluye cómo confirmarlo con el teclado y con un lector de pantalla.
Comprueba tu corrección
- Vuelve a analizar las páginas afectadas.
- Usa un lector de pantalla (VoiceOver: Cmd+F5 en Mac) para escuchar cómo se anuncian las imágenes de producto.
Guía detallada: https://dequeuniversity.com/rules/axe/4.13/image-alt?application=playwright
Los elementos de formulario deben tener etiquetas
esfuerzo: bajo · responsable: desarrollador del tema · 4.1.2 Nombre, función, valor
Algunos campos de formulario no tienen etiqueta, así que quienes usan lectores de pantalla no saben qué deben escribir.
WCAG 1.3.1, 3.3.2 y 4.1.2 exigen que los campos de formulario tengan etiquetas. Los campos de suscripción al boletín y de búsqueda suelen ser los que fallan.
Evidencia
- Detectado por
- Regla automatizada de axe-core
- Estado · confianza
- Falla verificada · alta
- Detectado
- 24 sept 2026 (UTC)
- Dónde
- 7 casos en 6 páginas
Esperado: Los elementos de formulario deben tener etiquetas
Observado: El elemento de formulario no tiene un <label> implícito ('envuelto'). El elemento de formulario no tiene un <label> explícito. El atributo aria-label no existe o está vacío. El atributo aria-labelledby no existe, hace referencia a elementos inexistentes o hace referencia a elementos vacíos. El elemento no tiene atributo title. El elemento no tiene atributo placeholder. La semántica predeterminada del elemento no se anuló mediante role="none" o role="presentation".


Cómo reproducirlo
- Abre https://harborandpine.example/products/trail-daypack en Chrome o Edge.
- Abre DevTools (F12) › Elementos, presiona Ctrl+F (Cmd+F en Mac) y busca: input
- En el panel Accesibilidad de DevTools, el nombre calculado (Name) del elemento está vacío.
- O ejecuta en la página la extensión gratuita axe DevTools para el navegador: lo reporta como "label".
Elementos que fallan (2 mostrados)
<input type="number" value="1" min="1"><input type="number" value="2" min="1">Páginas afectadas (6)
- https://harborandpine.example/products/trail-daypack
- https://harborandpine.example/cart
- https://harborandpine.example/products/pine-wool-beanie
- https://harborandpine.example/products/enamel-camp-mug
- https://harborandpine.example/products/harbor-lantern
- https://harborandpine.example/products/insulated-bottle
Cómo corregirlo
Código creado a partir del marcado de tu página- Dale a cada campo un elemento <label for="field-id"> o, como mínimo, un aria-label.
- El texto de marcador de posición (placeholder) por sí solo no cuenta como etiqueta.
Código
Ejemplos de implementación para tu desarrollador. No tenemos el código fuente de tu tema, así que las ubicaciones de los archivos son orientativas, no rutas exactas.
<input type="number" value="1" min="1"><input type="number" value="1" min="1" aria-label="Quantity">El campo no tiene id, así que la corrección más rápida es un aria-label. Un <label> visible es mejor para todos. El texto de la etiqueta "Quantity" se dedujo del campo; ajústalo si hace falta.
<input type="number" value="2" min="1"><input type="number" value="2" min="1" aria-label="Quantity">El campo no tiene id, así que la corrección más rápida es un aria-label. Un <label> visible es mejor para todos. El texto de la etiqueta "Quantity" se dedujo del campo; ajústalo si hace falta.
Corrige con IAMostrar el prompt
Pega esto en ChatGPT, Claude, Cursor o Copilot junto con el archivo de tu tema. Revisa el cambio antes de publicarlo.
Tengo una tienda Shopify (tema Online Store 2.0, plantillas Liquid) en harborandpine.example. Una prueba de accesibilidad encontró este problema y quiero corregirlo en mi tema. Problema: Los elementos de formulario deben tener etiquetas (WCAG 4.1.2). Dónde: 7 casos en 6 páginas, por ejemplo /products/trail-daypack, /cart, /products/pine-wool-beanie, /products/enamel-camp-mug. Un elemento que falla, tal como lo renderizó el navegador: ```html <input type="number" value="1" min="1"> ``` Por qué es importante: WCAG 1.3.1, 3.3.2 y 4.1.2 exigen que los campos de formulario tengan etiquetas. Los campos de suscripción al boletín y de búsqueda suelen ser los que fallan. Qué hay que cambiar: - Dale a cada campo un elemento <label for="field-id"> o, como mínimo, un aria-label. - El texto de marcador de posición (placeholder) por sí solo no cuenta como etiqueta. Un cambio sugerido (El código de tu tema (busca en él el marcado que se muestra)): ```html <input type="number" value="1" min="1" aria-label="Quantity"> ``` Reglas para tu respuesta: - Muestra el cambio exacto como antes y después, e indica el archivo o la configuración donde va. Si primero necesitas ver mi archivo, pídeme que lo pegue. - Mantén igual el diseño visual y todo el comportamiento existente. - No inventes nombres de productos, precios ni textos; usa marcadores de posición que yo pueda completar. - Termina explicando cómo puedo comprobar la corrección yo mismo. - Incluye cómo confirmarlo con el teclado y con un lector de pantalla.
Comprueba tu corrección
- Vuelve a analizar y confirma que la regla label ya no falla.
- Haz clic en cada etiqueta y comprueba que pone el foco en su campo.
Guía detallada: https://dequeuniversity.com/rules/axe/4.13/label?application=playwright
El elemento select debe tener un nombre accesible
esfuerzo: bajo · responsable: desarrollador del tema · 4.1.2 Nombre, función, valor
Un menú desplegable (a menudo un selector de orden o de variante) no tiene etiqueta.
WCAG 4.1.2 exige que los menús de selección tengan un nombre accesible.
Evidencia
- Detectado por
- Regla automatizada de axe-core
- Estado · confianza
- Falla verificada · alta
- Detectado
- 24 sept 2026 (UTC)
- Dónde
- 1 caso en 1 página
Esperado: El elemento select debe tener un nombre accesible
Observado: El elemento de formulario no tiene un <label> implícito ('envuelto'). El elemento de formulario no tiene un <label> explícito. El atributo aria-label no existe o está vacío. El atributo aria-labelledby no existe, hace referencia a elementos inexistentes o hace referencia a elementos vacíos. El elemento no tiene atributo title. La semántica predeterminada del elemento no se anuló mediante role="none" o role="presentation".

Cómo reproducirlo
- Abre https://harborandpine.example/collections/all en Chrome o Edge.
- Abre DevTools (F12) › Elementos, presiona Ctrl+F (Cmd+F en Mac) y busca: select
- En el panel Accesibilidad de DevTools, el nombre calculado (Name) del elemento está vacío.
- O ejecuta en la página la extensión gratuita axe DevTools para el navegador: lo reporta como "select-name".
Elementos que fallan (1 mostrados)
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>Páginas afectadas (1)
- https://harborandpine.example/collections/all
Cómo corregirlo
Código creado a partir del marcado de tu página- Agrega un <label> vinculado al select, o un aria-label como aria-label="Sort by".
Código
Ejemplos de implementación para tu desarrollador. No tenemos el código fuente de tu tema, así que las ubicaciones de los archivos son orientativas, no rutas exactas.
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select><select aria-label="[Field label]"><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>El campo no tiene id, así que la corrección más rápida es un aria-label. Un <label> visible es mejor para todos. Reemplaza el texto entre corchetes por la etiqueta del campo.
Corrige con IAMostrar el prompt
Pega esto en ChatGPT, Claude, Cursor o Copilot junto con el archivo de tu tema. Revisa el cambio antes de publicarlo.
Tengo una tienda Shopify (tema Online Store 2.0, plantillas Liquid) en harborandpine.example. Una prueba de accesibilidad encontró este problema y quiero corregirlo en mi tema. Problema: El elemento select debe tener un nombre accesible (WCAG 4.1.2). Dónde: 1 caso en 1 página, por ejemplo /collections/all. Un elemento que falla, tal como lo renderizó el navegador: ```html <select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select> ``` Por qué es importante: WCAG 4.1.2 exige que los menús de selección tengan un nombre accesible. Qué hay que cambiar: - Agrega un <label> vinculado al select, o un aria-label como aria-label="Sort by". Un cambio sugerido (El código de tu tema (busca en él el marcado que se muestra)): ```html <select aria-label="[Field label]"><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select> ``` Reglas para tu respuesta: - Muestra el cambio exacto como antes y después, e indica el archivo o la configuración donde va. Si primero necesitas ver mi archivo, pídeme que lo pegue. - Mantén igual el diseño visual y todo el comportamiento existente. - No inventes nombres de productos, precios ni textos; usa marcadores de posición que yo pueda completar. - Termina explicando cómo puedo comprobar la corrección yo mismo. - Incluye cómo confirmarlo con el teclado y con un lector de pantalla.
Comprueba tu corrección
- Vuelve a analizar las páginas de colección y de producto.
Guía detallada: https://dequeuniversity.com/rules/axe/4.13/select-name?application=playwright
Los enlaces deben tener texto discernible
esfuerzo: bajo · responsable: desarrollador del tema · 2.4.4 Propósito de los enlaces (en contexto), 4.1.2 Nombre, función, valor
Algunos enlaces no tienen texto que un lector de pantalla pueda anunciar; suelen ser enlaces que solo tienen un ícono, como los de redes sociales o el ícono del carrito.
WCAG 2.4.4 y 4.1.2 exigen que los enlaces tengan un nombre accesible que describa su propósito.
Evidencia
- Detectado por
- Regla automatizada de axe-core
- Estado · confianza
- Falla verificada · alta
- Detectado
- 24 sept 2026 (UTC)
- Dónde
- 36 casos en 9 páginas
Esperado: Los enlaces deben tener texto discernible
Observado: El elemento está en orden de tabulación y no tiene texto accesible. Además: El elemento no tiene texto visible para lectores de pantalla. El atributo aria-label no existe o está vacío. El atributo aria-labelledby no existe, hace referencia a elementos inexistentes o hace referencia a elementos vacíos. El elemento no tiene atributo title.


Cómo reproducirlo
- Abre https://harborandpine.example/ en Chrome o Edge.
- Abre DevTools (F12) › Elementos, presiona Ctrl+F (Cmd+F en Mac) y busca: a[href$="cart"]
- En el panel Accesibilidad de DevTools, el nombre calculado (Name) del elemento está vacío.
- O ejecuta en la página la extensión gratuita axe DevTools para el navegador: lo reporta como "link-name".
Elementos que fallan (4 mostrados)
<a href="/cart"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 4h2l2.4 11h11l2-8H6.5"></path><circle cx="9" cy="20" r="1.5"></circle><circle cx="18" cy="20" r="1.5"></circle></svg></a><a href="https://instagram.example/harborandpine"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="5"></rect><circle cx="12" cy="12" r="4"></circle></svg></a><a href="https://facebook.example/harborandpine"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M14 8h3V4h-3c-2.8 0-4 1.8-4 4v2H7v4h3v8h4v-8h3l1-4h-4V8.5c0-.3.2-.5.5-.5z"></path></svg></a><a href="https://x.example/harborandpine"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 4l16 16M20 4L4 20"></path></svg></a>Páginas afectadas (9)
- https://harborandpine.example/
- https://harborandpine.example/collections/all
- https://harborandpine.example/products/trail-daypack
- https://harborandpine.example/cart
- https://harborandpine.example/pages/about
- https://harborandpine.example/products/pine-wool-beanie
- https://harborandpine.example/products/enamel-camp-mug
- https://harborandpine.example/products/harbor-lantern
- https://harborandpine.example/products/insulated-bottle
Cómo corregirlo
Código creado a partir del marcado de tu página- Busca los enlaces en los ejemplos de abajo. La mayoría son íconos o imágenes dentro de una etiqueta <a>.
- Agrega texto visualmente oculto dentro del enlace, o un aria-label como aria-label="Instagram" o aria-label="Cart".
- Si el enlace contiene una imagen, dale a la imagen un texto alternativo con significado.
Código
Ejemplos de implementación para tu desarrollador. No tenemos el código fuente de tu tema, así que las ubicaciones de los archivos son orientativas, no rutas exactas.
<a href="/cart">…</a><a href="/cart" aria-label="Cart">…</a>Le da al enlace el nombre "Cart", deducido de su enlace o de sus clases. Comprueba que diga lo que hace el enlace.
<a href="https://instagram.example/harborandpine">…</a><a href="https://instagram.example/harborandpine" aria-label="Instagram">…</a>Le da al enlace el nombre "Instagram", deducido de su enlace o de sus clases. Comprueba que diga lo que hace el enlace.
<a href="https://facebook.example/harborandpine">…</a><a href="https://facebook.example/harborandpine" aria-label="Facebook">…</a>Le da al enlace el nombre "Facebook", deducido de su enlace o de sus clases. Comprueba que diga lo que hace el enlace.
<a href="https://x.example/harborandpine">…</a><a href="https://x.example/harborandpine" aria-label="X (Twitter)">…</a>Le da al enlace el nombre "X (Twitter)", deducido de su enlace o de sus clases. Comprueba que diga lo que hace el enlace.
Corrige con IAMostrar el prompt
Pega esto en ChatGPT, Claude, Cursor o Copilot junto con el archivo de tu tema. Revisa el cambio antes de publicarlo.
Tengo una tienda Shopify (tema Online Store 2.0, plantillas Liquid) en harborandpine.example. Una prueba de accesibilidad encontró este problema y quiero corregirlo en mi tema. Problema: Los enlaces deben tener texto discernible (WCAG 2.4.4, 4.1.2). Dónde: 36 casos en 9 páginas, por ejemplo /, /collections/all, /products/trail-daypack, /cart. Un elemento que falla, tal como lo renderizó el navegador: ```html <a href="/cart"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 4h2l2.4 11h11l2-8H6.5"></path><circle cx="9" cy="20" r="1.5"></circle><circle cx="18" cy="20" r="1.5"></circle></svg></a> ``` Por qué es importante: WCAG 2.4.4 y 4.1.2 exigen que los enlaces tengan un nombre accesible que describa su propósito. Qué hay que cambiar: - Busca los enlaces en los ejemplos de abajo. La mayoría son íconos o imágenes dentro de una etiqueta <a>. - Agrega texto visualmente oculto dentro del enlace, o un aria-label como aria-label="Instagram" o aria-label="Cart". - Si el enlace contiene una imagen, dale a la imagen un texto alternativo con significado. Un cambio sugerido (El código de tu tema (busca en él el marcado que se muestra)): ```html <a href="/cart" aria-label="Cart">…</a> ``` Reglas para tu respuesta: - Muestra el cambio exacto como antes y después, e indica el archivo o la configuración donde va. Si primero necesitas ver mi archivo, pídeme que lo pegue. - Mantén igual el diseño visual y todo el comportamiento existente. - No inventes nombres de productos, precios ni textos; usa marcadores de posición que yo pueda completar. - Termina explicando cómo puedo comprobar la corrección yo mismo. - Incluye cómo confirmarlo con el teclado y con un lector de pantalla.
Comprueba tu corrección
- Vuelve a analizar y confirma que link-name desapareció.
- Llega a cada enlace con Tab mientras usas un lector de pantalla y escucha el nombre.
Guía detallada: https://dequeuniversity.com/rules/axe/4.13/link-name?application=playwright
Los elementos deben tener un contraste de colores suficiente
esfuerzo: bajo · responsable: dueño de la tienda (configuración del panel de administración) · 1.4.3 Contraste (mínimo)
Parte del texto no se distingue lo suficiente de su fondo para que lo lean las personas con baja visión.
WCAG 1.4.3 exige una relación de contraste de al menos 4.5:1 para el texto normal y de 3:1 para el texto grande. Los precios, las etiquetas y los banners poco visibles son difíciles de leer para las personas con baja visión, y para cualquiera bajo una luz intensa.
Evidencia
- Detectado por
- Regla automatizada de axe-core
- Estado · confianza
- Falla verificada · alta
- Detectado
- 24 sept 2026 (UTC)
- Dónde
- 22 casos en 9 páginas
Esperado: Los elementos deben tener un contraste de colores suficiente
Observado: El elemento tiene un contraste de color insuficiente de 3.09 (color de primer plano: #ffffff, color de fondo: #e76f51, tamaño de fuente: 9.8pt (13px), grosor de fuente: normal). Ratio de contraste esperado: 4.5:1.


Cómo reproducirlo
- Abre https://harborandpine.example/ en Chrome o Edge.
- Abre DevTools (F12) › Elementos, presiona Ctrl+F (Cmd+F en Mac) y busca: .announce
- Haz clic en la muestra de color junto al color del elemento en el panel Estilos para ver la relación de contraste medida.
- O ejecuta en la página la extensión gratuita axe DevTools para el navegador: lo reporta como "color-contrast".
Elementos que fallan (4 mostrados)
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div><span class="badge">Sale</span><span class="compare">$72</span><span class="compare">$40</span>Páginas afectadas (9)
- https://harborandpine.example/
- https://harborandpine.example/collections/all
- https://harborandpine.example/products/trail-daypack
- https://harborandpine.example/cart
- https://harborandpine.example/pages/about
- https://harborandpine.example/products/pine-wool-beanie
- https://harborandpine.example/products/enamel-camp-mug
- https://harborandpine.example/products/harbor-lantern
- https://harborandpine.example/products/insulated-bottle
Cómo corregirlo
Código creado a partir del marcado de tu página- Abre los elementos que fallan que aparecen abajo y anota los colores de primer plano y de fondo del resumen de la falla.
- En Tienda online > Temas > Personalizar > Configuración del tema > Colores, oscurece el color del texto o aclara el fondo del esquema de colores afectado hasta que la relación sea de al menos 4.5:1.
- Presta especial atención a las etiquetas de oferta, al texto de marcador de posición (placeholder), a los enlaces del pie de página y a los botones sobre imágenes.
Código
Ejemplos de implementación para tu desarrollador. No tenemos el código fuente de tu tema, así que las ubicaciones de los archivos son orientativas, no rutas exactas.
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>.announce {
background-color: #b95941; /* was #e76f51: 3.09:1, now 4.59:1 */
}Se midió 3.09:1 para texto de 13px; WCAG 1.4.3 exige 4.5:1. #b95941 mantiene el mismo tono y cumple. El selector es el que usó nuestra prueba; tu tema puede usar una clase más general para el mismo estilo.
<span class="badge">Sale</span>.badge {
background-color: #9f693f; /* was #f4a261: 2.06:1, now 4.59:1 */
}Se midió 2.06:1 para texto en negrita de 12px; WCAG 1.4.3 exige 4.5:1. #9f693f mantiene el mismo tono y cumple. El selector es el que usó nuestra prueba; tu tema puede usar una clase más general para el mismo estilo.
<span class="compare">$72</span>.compare {
color: #78736c; /* was #b0a99f: 2.29:1, now 4.62:1 */
}Se midió 2.29:1 para texto de 14px; WCAG 1.4.3 exige 4.5:1. #78736c mantiene el mismo tono y cumple. El selector es el que usó nuestra prueba; tu tema puede usar una clase más general para el mismo estilo.
Corrige con IAMostrar el prompt
Pega esto en ChatGPT, Claude, Cursor o Copilot junto con el archivo de tu tema. Revisa el cambio antes de publicarlo.
Tengo una tienda Shopify (tema Online Store 2.0, plantillas Liquid) en harborandpine.example. Una prueba de accesibilidad encontró este problema y quiero corregirlo en mi tema.
Problema: Los elementos deben tener un contraste de colores suficiente (WCAG 1.4.3).
Dónde: 22 casos en 9 páginas, por ejemplo /, /collections/all, /products/trail-daypack, /cart.
Un elemento que falla, tal como lo renderizó el navegador:
```html
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
```
Por qué es importante: WCAG 1.4.3 exige una relación de contraste de al menos 4.5:1 para el texto normal y de 3:1 para el texto grande. Los precios, las etiquetas y los banners poco visibles son difíciles de leer para las personas con baja visión, y para cualquiera bajo una luz intensa.
Qué hay que cambiar:
- Abre los elementos que fallan que aparecen abajo y anota los colores de primer plano y de fondo del resumen de la falla.
- En Tienda online > Temas > Personalizar > Configuración del tema > Colores, oscurece el color del texto o aclara el fondo del esquema de colores afectado hasta que la relación sea de al menos 4.5:1.
- Presta especial atención a las etiquetas de oferta, al texto de marcador de posición (placeholder), a los enlaces del pie de página y a los botones sobre imágenes.
Un cambio sugerido (Configuración del tema › Colores, o el archivo CSS de tu tema):
```css
.announce {
background-color: #b95941; /* was #e76f51: 3.09:1, now 4.59:1 */
}
```
Reglas para tu respuesta:
- Muestra el cambio exacto como antes y después, e indica el archivo o la configuración donde va. Si primero necesitas ver mi archivo, pídeme que lo pegue.
- Mantén igual el diseño visual y todo el comportamiento existente.
- No inventes nombres de productos, precios ni textos; usa marcadores de posición que yo pueda completar.
- Termina explicando cómo puedo comprobar la corrección yo mismo.
- Incluye cómo confirmarlo con el teclado y con un lector de pantalla.Comprueba tu corrección
- Vuelve a ejecutar el análisis y confirma que color-contrast ya no aparece.
- Haz una comprobación puntual con un verificador de contraste usando los colores exactos.
Guía detallada: https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright
Todo el contenido de la página debe estar incluido en puntos de referencia
esfuerzo: moderado · responsable: desarrollador del tema
Parte del contenido no está dentro de una región (landmark) de la página (header, nav, main o footer).
Las regiones (landmarks) permiten que quienes usan lectores de pantalla salten de una parte a otra de la página. Es una buena práctica que respalda WCAG 1.3.1 y 2.4.1.
Evidencia
- Detectado por
- Regla automatizada de axe-core
- Estado · confianza
- Falla verificada · alta
- Detectado
- 24 sept 2026 (UTC)
- Dónde
- 18 casos en 9 páginas
Esperado: Todo el contenido de la página debe estar incluido en puntos de referencia
Observado: La página tiene contenido no incluido en puntos de referencia.


Cómo reproducirlo
- Abre https://harborandpine.example/ en Chrome o Edge.
- Abre DevTools (F12) › Elementos, presiona Ctrl+F (Cmd+F en Mac) y busca: .announce
- O ejecuta en la página la extensión gratuita axe DevTools para el navegador: lo reporta como "region".
Elementos que fallan (2 mostrados)
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div><p>We use cookies to improve your experience and measure traffic.</p>Páginas afectadas (9)
- https://harborandpine.example/
- https://harborandpine.example/collections/all
- https://harborandpine.example/products/trail-daypack
- https://harborandpine.example/cart
- https://harborandpine.example/pages/about
- https://harborandpine.example/products/pine-wool-beanie
- https://harborandpine.example/products/enamel-camp-mug
- https://harborandpine.example/products/harbor-lantern
- https://harborandpine.example/products/insulated-bottle
Cómo corregirlo
Orientación general- Envuelve el contenido suelto (barras de anuncios, ventanas emergentes, widgets de chat) en la región adecuada o colócalo dentro de <main>.
Corrige con IAMostrar el prompt
Pega esto en ChatGPT, Claude, Cursor o Copilot junto con el archivo de tu tema. Revisa el cambio antes de publicarlo.
Tengo una tienda Shopify (tema Online Store 2.0, plantillas Liquid) en harborandpine.example. Una prueba de accesibilidad encontró este problema y quiero corregirlo en mi tema. Problema: Todo el contenido de la página debe estar incluido en puntos de referencia. Dónde: 18 casos en 9 páginas, por ejemplo /, /collections/all, /products/trail-daypack, /cart. Un elemento que falla, tal como lo renderizó el navegador: ```html <div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div> ``` Por qué es importante: Las regiones (landmarks) permiten que quienes usan lectores de pantalla salten de una parte a otra de la página. Es una buena práctica que respalda WCAG 1.3.1 y 2.4.1. Qué hay que cambiar: - Envuelve el contenido suelto (barras de anuncios, ventanas emergentes, widgets de chat) en la región adecuada o colócalo dentro de <main>. Reglas para tu respuesta: - Muestra el cambio exacto como antes y después, e indica el archivo o la configuración donde va. Si primero necesitas ver mi archivo, pídeme que lo pegue. - Mantén igual el diseño visual y todo el comportamiento existente. - No inventes nombres de productos, precios ni textos; usa marcadores de posición que yo pueda completar. - Termina explicando cómo puedo comprobar la corrección yo mismo. - Incluye cómo confirmarlo con el teclado y con un lector de pantalla.
Comprueba tu corrección
- Vuelve a analizar las páginas afectadas.
Guía detallada: https://dequeuniversity.com/rules/axe/4.13/region?application=playwright
El nivel de encabezados solo debería incrementarse en 1
esfuerzo: moderado · responsable: desarrollador del tema
Los niveles de encabezado se saltan (por ejemplo, de H2 a H4), lo que hace que la estructura de la página sea confusa para quienes usan lectores de pantalla.
Quienes usan lectores de pantalla navegan por los encabezados. Es una buena práctica que respalda WCAG 1.3.1.
Evidencia
- Detectado por
- Regla automatizada de axe-core
- Estado · confianza
- Falla verificada · alta
- Detectado
- 24 sept 2026 (UTC)
- Dónde
- 7 casos en 7 páginas
Esperado: El nivel de encabezados solo debería incrementarse en 1
Observado: Orden de encabezados no válido.


Cómo reproducirlo
- Abre https://harborandpine.example/collections/all en Chrome o Edge.
- Abre DevTools (F12) › Elementos, presiona Ctrl+F (Cmd+F en Mac) y busca: article:nth-child(1) > a[href$="trail-daypack"] > h3
- O ejecuta en la página la extensión gratuita axe DevTools para el navegador: lo reporta como "heading-order".
Elementos que fallan (3 mostrados)
<h3>Trail Daypack 22L</h3><h3>Reviews</h3><h3>Started on the trail</h3>Páginas afectadas (7)
- https://harborandpine.example/collections/all
- https://harborandpine.example/products/trail-daypack
- https://harborandpine.example/pages/about
- https://harborandpine.example/products/pine-wool-beanie
- https://harborandpine.example/products/enamel-camp-mug
- https://harborandpine.example/products/harbor-lantern
- https://harborandpine.example/products/insulated-bottle
Cómo corregirlo
Orientación general- Ajusta los niveles de encabezado de las secciones afectadas para que vayan en orden sin saltarse niveles.
- Cambia solo la etiqueta, no el estilo visual (usa clases CSS para el tamaño).
Código
Ejemplos de implementación para tu desarrollador. No tenemos el código fuente de tu tema, así que las ubicaciones de los archivos son orientativas, no rutas exactas.
<h3>Trail Daypack 22L</h3><h2 class="h3">Trail Daypack 22L</h2>Usa el nivel que sigue al encabezado anterior de la página (a menudo un nivel más arriba) y conserva el aspecto con una clase. Revisa el esquema de la página antes de cambiarlo.
<h3>Reviews</h3><h2 class="h3">Reviews</h2>Usa el nivel que sigue al encabezado anterior de la página (a menudo un nivel más arriba) y conserva el aspecto con una clase. Revisa el esquema de la página antes de cambiarlo.
<h3>Started on the trail</h3><h2 class="h3">Started on the trail</h2>Usa el nivel que sigue al encabezado anterior de la página (a menudo un nivel más arriba) y conserva el aspecto con una clase. Revisa el esquema de la página antes de cambiarlo.
Corrige con IAMostrar el prompt
Pega esto en ChatGPT, Claude, Cursor o Copilot junto con el archivo de tu tema. Revisa el cambio antes de publicarlo.
Tengo una tienda Shopify (tema Online Store 2.0, plantillas Liquid) en harborandpine.example. Una prueba de accesibilidad encontró este problema y quiero corregirlo en mi tema. Problema: El nivel de encabezados solo debería incrementarse en 1. Dónde: 7 casos en 7 páginas, por ejemplo /collections/all, /products/trail-daypack, /pages/about, /products/pine-wool-beanie. Un elemento que falla, tal como lo renderizó el navegador: ```html <h3>Trail Daypack 22L</h3> ``` Por qué es importante: Quienes usan lectores de pantalla navegan por los encabezados. Es una buena práctica que respalda WCAG 1.3.1. Qué hay que cambiar: - Ajusta los niveles de encabezado de las secciones afectadas para que vayan en orden sin saltarse niveles. - Cambia solo la etiqueta, no el estilo visual (usa clases CSS para el tamaño). Un cambio sugerido (El código de tu tema (busca en él el marcado que se muestra)): ```html <h2 class="h3">Trail Daypack 22L</h2> ``` Reglas para tu respuesta: - Muestra el cambio exacto como antes y después, e indica el archivo o la configuración donde va. Si primero necesitas ver mi archivo, pídeme que lo pegue. - Mantén igual el diseño visual y todo el comportamiento existente. - No inventes nombres de productos, precios ni textos; usa marcadores de posición que yo pueda completar. - Termina explicando cómo puedo comprobar la corrección yo mismo. - Incluye cómo confirmarlo con el teclado y con un lector de pantalla.
Comprueba tu corrección
- Vuelve a analizar y revisa el esquema de encabezados con una extensión del navegador como HeadingsMap.
Guía detallada: https://dequeuniversity.com/rules/axe/4.13/heading-order?application=playwright
Requiere revisión manual
Las pruebas automatizadas señalaron estos elementos pero no pudieron decidir, por ejemplo un texto sobre una imagen o contenido que quizá no quepa en la pantalla de un celular. No se cuentan como fallas. Pídele a tu desarrollador que revise cada uno.
- Requiere revisiónWCAG 4.1.3
Recorrido con teclado: Agregar al carrito con el teclado
Enter en Agregar al carrito funcionó (cambió el contador del carrito en el encabezado, apareció un mensaje de “agregado al carrito”), pero no encontramos ningún mensaje de estado ni diálogo con foco, así que es posible que quienes usan lectores de pantalla no escuchen que se agregó el artículo.
1 caso en 1 página · Cómo revisarlo
- Requiere revisiónWCAG 1.4.10
Es posible que la página de producto no quepa en una pantalla angosta sin desplazamiento horizontal
A 320 píxeles CSS de ancho (lo mismo que un zoom del 400%), la página es 200px más ancha que la pantalla. Las tablas de datos y los mapas pueden desplazarse; el texto y los controles no deberían.
2 casos en 1 página · Cómo revisarlo
Elementos por revisar (2 mostrados)
div.icons <div class="icons"> <button type="button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></budiv <div> <p style="color:#6a6a60;font-size:14px">Harbor & Pine</p> <h1>Trail Daypack 22L</h1> <p class="price" style="font-size:22px">$128<span class="compare">$150</span></p> <p class="opt-label">Si - Requiere revisiónWCAG 1.4.10
Es posible que la página de inicio no quepa en una pantalla angosta sin desplazamiento horizontal
A 320 píxeles CSS de ancho (lo mismo que un zoom del 400%), la página es 55px más ancha que la pantalla. Las tablas de datos y los mapas pueden desplazarse; el texto y los controles no deberían.
3 casos en 1 página · Cómo revisarlo
Elementos por revisar (3 mostrados)
div.icons <div class="icons"> <button type="button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></buarticle.card <article class="card"><span class="badge">Sale</span><a href="/products/trail-daypack"><img src="/img/beanie.svg"><h3>Pine Wool Beanie</h3></a><p class="price">$32<span class="compare">$40</span></p><button.btn.light <button class="btn light" type="submit">Subscribe</button> - Requiere revisiónWCAG 1.4.3
Los elementos deben tener un contraste de colores suficiente
El color de fondo del elemento no se pudo determinar porque el elemento contiene un nodo de imagen.
1 caso en 1 página · Cómo revisarlo
Elementos por revisar (1 mostrados)
h1 <h1>Gear for the long way home</h1>
Reevalúa tus correcciones
Cuando tu desarrollador haya hecho los cambios, haz una reevaluación. Volvemos a ejecutar las mismas revisiones automatizadas en las mismas páginas, la prueba con teclado y el recorrido con teclado, y mostramos qué problemas ya no podemos reproducir. Incluye 5 reevaluaciones.
Las reevaluaciones se ejecutan en los reportes de pago.
Revisiones manuales
Las herramientas automatizadas no pueden evaluar estos puntos. Revísalos antes de dar el trabajo por terminado.
- Completa el checkout usando solo el teclado: nuestro recorrido automatizado se detiene en el botón de pago y nunca entra al checkout.
- Repítelo con un lector de pantalla (VoiceOver en Mac: Cmd+F5; NVDA en Windows) y confirma que se anuncian los precios, las variantes y los errores.
- Aplica un zoom del 200% en el navegador y confirma que nada se superpone ni desaparece.
- Revisa que los videos de producto y de marca tengan subtítulos precisos.
- Envía formularios con errores (boletín, contacto, checkout) y confirma que los errores se describen con texto.
- Revisa que los carruseles y las ventanas emergentes se puedan pausar o cerrar, también con la tecla Escape.
Borrador de declaración de accesibilidad
Edita las partes entre corchetes y publícala en una página enlazada desde tu pie de página.
Declaración de accesibilidad de harborandpine.example Queremos que todas las personas puedan comprar en harborandpine.example, incluidas las que usan lectores de pantalla, navegación con teclado, ampliación u otras tecnologías de asistencia. Buscamos cumplir las Pautas de Accesibilidad para el Contenido Web (WCAG) 2.2 en el nivel AA. Lo que hacemos - Probamos nuestra tienda con herramientas automatizadas de accesibilidad y corregimos los problemas que encuentran. - Probamos los pasos clave de compra (navegación por el catálogo, páginas de producto, carrito y checkout) con un teclado y un lector de pantalla. - Revisamos la accesibilidad de las apps y los widgets de terceros antes de agregarlos. Limitaciones conocidas (al 24 de septiembre de 2026) - Acceso con teclado y foco (WCAG 2.1.1). Planeamos corregirlo antes del 2026-10-08. - Enlaces y botones sin nombre (WCAG 2.4.4, 4.1.2). Planeamos corregirlo antes del 2026-10-08. - Imágenes sin texto alternativo (WCAG 1.1.1). Planeamos corregirlo antes del 2026-10-08. - Campos de formulario sin etiqueta (WCAG 4.1.2). Planeamos corregirlo antes del 2026-10-08. - Contraste de color insuficiente (WCAG 1.4.3). Planeamos corregirlo antes del 2026-10-08. Comentarios y ayuda Si tienes problemas para usar cualquier parte de nuestra tienda, contáctanos en [tu correo electrónico] o [tu número de teléfono]. Indícanos la página y el problema, y te ayudaremos a completar tu compra y responderemos en un plazo de 5 días hábiles. Esta declaración se preparó el 24 de septiembre de 2026 y se revisará al menos una vez al año.
Registro de evidencia
Cada página se cargó en Chromium y se probó con axe-core 4.13.0. El hash SHA-256 identifica los resultados sin procesar de cada página.
| Página | Probada (UTC) | HTTP | Problemas | SHA-256 |
|---|---|---|---|---|
| Página de iniciohttps://harborandpine.example/ | 2026-09-24 14:05:00 | 200 | 15 | da1e5470a57859a864332912dd1e4f62b4c4f64487ba144865b74879519599a3 |
| Página de colecciónhttps://harborandpine.example/collections/all | 2026-09-24 14:05:09 | 200 | 20 | 28d8dfcf5ca953af353264a930a351bea3cf23f98a303874b32e5da355a4c8b0 |
| Página de productohttps://harborandpine.example/products/trail-daypack | 2026-09-24 14:05:18 | 200 | 20 | 68a173ddfd16eeeef5e36d6c0fa9d426769f0d96e358c5e35b67608dd84139b4 |
| Carritohttps://harborandpine.example/cart | 2026-09-24 14:05:27 | 200 | 12 | 5b7945c2cdf779dcef2bd8975d96eb8f42d8dedbf10e767ec80199dd22ce257c |
| Página de contenidohttps://harborandpine.example/pages/about | 2026-09-24 14:05:36 | 200 | 9 | daf61ae856358a574e63f9357db0bfd9ae6079065acf3aebd5b3c5a7f460e53f |
| Página adicionalhttps://harborandpine.example/products/pine-wool-beanie | 2026-09-24 14:08:00 | 200 | 20 | f708ccd7de34dfb65d59d3716580b6ec15a6420020c8387fa4da4e2ff5bd52d3 |
| Página adicionalhttps://harborandpine.example/products/enamel-camp-mug | 2026-09-24 14:08:07 | 200 | 19 | c619bcd29e89d06099d174b9fc19305a42f2fa9bdddb600a750c867fc7477022 |
| Página adicionalhttps://harborandpine.example/products/harbor-lantern | 2026-09-24 14:08:14 | 200 | 20 | 5720b7433b75050ba413ac74c2bd726b0620aaa68f7918083052383257d5c418 |
| Página adicionalhttps://harborandpine.example/products/insulated-bottle | 2026-09-24 14:08:21 | 200 | 19 | 6f1972c22e477c9a63e2dfde1123ed759718f6a75e1606b23f208848691510fd |
Alcance y método
Qué probamos
- 9 páginas (página de inicio, página de colección, página de producto, carrito, página de contenido, página adicional) cargadas en Chromium a 1366×900.
- Reglas de axe-core 4.13.0 para WCAG 2.0, 2.1 y 2.2 de nivel A y AA, más reglas de buenas prácticas (mostradas como P3).
- Una prueba con teclado: 40 pulsaciones de Tab en la página de inicio, en busca de trampas y de indicadores de foco faltantes.
- Un recorrido de compra solo con teclado de la página de inicio al botón de pago (ver arriba).
- Una revisión de reajuste del contenido (reflow) a 320 píxeles CSS de ancho en estas páginas: página de inicio y página de producto (WCAG 1.4.10).
Qué no probamos
- Las páginas del checkout y de pago, el envío de formularios, y las páginas de cuenta o que requieren iniciar sesión.
- Lo que realmente anuncia un lector de pantalla, más allá de las reglas automatizadas.
- Subtítulos de video y audiodescripciones, documentos PDF y contenido dentro de marcos (iframes) de terceros.
- Lenguaje sencillo, accesibilidad cognitiva y todo lo demás que requiera criterio humano (consulta Revisiones manuales).
Cómo interpretar los resultados
- Falla verificada
- Falló una prueba automatizada o el recorrido con teclado; se muestra la evidencia.
- Requiere revisión
- Una prueba señaló algo que no pudo decidir; una persona debe revisarlo.
- Aprobado
- La regla automatizada no encontró fallas en las páginas probadas.
- No probado
- Fuera de lo que las pruebas automatizadas pueden cubrir aquí; consulta Revisiones manuales.
Obtén este reporte para tu sitio web.
Empieza con el análisis gratuito para ver tus problemas y cómo se comparan con tu carta. El Reporte de Accesibilidad cuesta $249, en un pago único, y está listo en unos 10 minutos.
Analiza tu sitio web gratisEste reporte describe los resultados de pruebas automatizadas y ofrece orientación para corregir los problemas. No es asesoría legal y no certifica el cumplimiento de la ADA, de la Ley Europea de Accesibilidad ni de ninguna otra ley.

