Diferencia entre revisiones de «Principio 2/2.4 Navegable/2.4.7-A»

De WCAG Wiki
Sin resumen de edición
Sin resumen de edición
 
(No se muestran 2 ediciones intermedias del mismo usuario)
Línea 7: Línea 7:
|wcag_principio=2_Operable
|wcag_principio=2_Operable
|wcag_principio_url=Principio_2
|wcag_principio_url=Principio_2
|wcag_pauta=2.4_Navegacion_clara
|wcag_pauta=2.4_Navegable
|wcag_pauta_url=Principio_2/2.4_Navegacion_clara
|wcag_pauta_url=Principio_2/2.4_Navegable
|wcag_grupo=Teclado
|wcag_grupo=Teclado
|wcag_subgrupo=Foco_visible
|wcag_subgrupo=Foco_visible
Línea 51: Línea 51:
|wcag_referencias=
|wcag_referencias=
<ul>
<ul>
<li>Understanding Success Criterion 2.4.7: Focus Visible — W3C</li>
<li><span lang="en">[https://www.w3.org/WAI/WCAG21/Techniques/general/G149 G149: Using user interface components that are highlighted by the user agent when they receive focus]</span></li>
<li>WCAG Quick Reference – 2.4.7 Focus Visible</li>
<li><span lang="en">[https://www.w3.org/WAI/WCAG21/Techniques/css/C15 C15: Using CSS to change the presentation of a user interface component when it receives focus]</span></li>
<li>Guía Técnica WCAG — Principio Operable</li>
<li><span lang="en">[https://www.w3.org/WAI/WCAG21/Techniques/general/G165 G165: Using the default focus indicator for the platform so that high visibility default focus indicators will carry over]</span></li>
<li><span lang="en">[https://www.w3.org/WAI/WCAG22/Techniques/general/G195 G195: Using an author-supplied, highly visible focus indicator]</span></li>
<li><span lang="en">[https://www.w3.org/WAI/WCAG21/Techniques/failures/F78 F78: Failure due to styling element outlines and borders in a way that removes or renders non-visible the visual focus indicator]</span></li>
</ul>
</ul>


|wcag_recursos=
|wcag_recursos=
<strong> Consejos </strong>
<ul>
<ul>
<li>Pseudoclases CSS <code>:focus</code> y <code>:focus-visible</code></li>
<li>Pseudoclases CSS <code>:focus</code> y <code>:focus-visible</code></li>
Línea 66: Línea 70:
|wcag_pasos_evaluacion=
|wcag_pasos_evaluacion=
<ol class="paso-list">
<ol class="paso-list">
<li><span class="paso-badge">Paso 1.</span> Navegar por teclado en la página (Tab, Shift+Tab, Enter, Espacio).</li>
<li><span class="paso-badge">Paso 1.</span>
<li><span class="paso-badge">Paso 2.</span> Confirmar que todos los elementos interactivos muestran un foco visible al activarse.</li>
Navegar por la página utilizando el teclado.
<li><span class="paso-badge">Paso 3.</span> Verificar que el foco es claramente perceptible (contorno, color, grosor, forma).</li>
</li>
<li><span class="paso-badge">Paso 4.</span> Revisar que no se ha eliminado el foco mediante estilos CSS.</li>
 
<li><span class="paso-badge">Paso 5.</span> Probar interacción en componentes dinámicos (menús, modales, pestañas).</li>
<li><span class="paso-badge">Paso 2.</span>
Verificar en todo momento que se identifica visualmente cuál es el elemento que tiene el foco, cumpliendo alguna de las siguientes condiciones:
<ul>
<li>a. Se usan componentes de interacción estándar que los navegadores resaltan automáticamente cuando reciben el foco.</li>
<li>b. Se emplea el indicador del foco por defecto o, si se modifica, solo se hace para mejorar su visibilidad, no para eliminarlo.</li>
</ul>
</li>
</ol>
</ol>


|wcag_resultado_evaluacion=
|wcag_resultado_evaluacion=
Línea 78: Línea 89:
|wcag_ejemplo_evaluacion=
|wcag_ejemplo_evaluacion=
<div class="accessibility-card">
<div class="accessibility-card">
<strong>✅ Ejemplo: foco visible en botón</strong>
Foco visible en botón</strong>
<pre class="wcag-codigo-html">
<pre class="wcag-codigo-html">
<button class="btn">Enviar</button>
<button class="btn">Enviar</button>
Línea 93: Línea 104:
|wcag_otras_herramientas_evaluacion=
|wcag_otras_herramientas_evaluacion=
<ul>
<ul>
<li>Navegación con teclado</li>
<li> '''Bookmarklet para evaluar el criterio WCAG 2.4.7.(Foco visible): bookmarklet de emiliano montani para analizar el foco según el criterio WCAG 2.4.7.
<li>Modo alto contraste / forced colors</li>
[https://emilianomontani.github.io/bookmarklet_2.4.7/ Bookmarklet para evaluar el foco visible]
<li>AXE / WAVE / Accessibility Insights</li>
</li>
<li>Prueba con lectores de pantalla</li>
<li>'''Navegación con teclado''': recorrer la página usando <kbd>Tab</kbd>, <kbd>Shift + Tab</kbd>, <kbd>Enter</kbd> y <kbd>Espacio</kbd> para comprobar que el foco es siempre claramente visible al desplazarse por enlaces, botones, formularios y demás controles.</li>
<li>'''Inspección visual''': verificar que existe un indicador de foco perceptible (p. ej., contorno, subrayado, cambio de color/forma) que sea suficiente para distinguir el elemento enfocado.</li>
<li>'''Inspección del CSS''': revisar que no se haya eliminado el estilo por defecto del foco (p. ej., <code>outline: none;</code>) sin proporcionar una alternativa accesible.</li>
<li>'''Prueba con lectores de pantalla''': (NVDA, JAWS, VoiceOver) comprobar que la navegación por foco es coherente y que el indicador visual acompaña la posición real del foco.</li>
</ul>
</ul>
}}
}}

Revisión actual - 17:50 6 ene 2026

2.4.7-A. Foco visible

Discapacidades afectadas

Este criterio puede afectar a distintas personas con discapacidad. A continuación se indican las más relevantes.

Enunciado del criterio (Observatorio de Accesibilidad Web)

  • Se debe poder identificar visualmente cuál es el elemento de interacción que tiene el foco del teclado en cada momento.

Comprensión del criterio

Descripción resumida

Todos los elementos interactivos deben mostrar un indicador visual claro cuando reciben el foco mediante teclado, permitiendo a las personas usuarias orientarse y avanzar de forma segura en la navegación.

Objetivo

Asegurar que las personas que navegan mediante teclado pueden localizar en todo momento el elemento activo o seleccionado y actuar sobre él sin perder la orientación.

Importancia de cumplir el criterio

Si no hay foco visible, la navegación por teclado puede volverse imposible, provocando barreras graves para usuarios con discapacidad motriz y dificultades visuales.

Referencias WCAG

Recursos de apoyo

Consejos
  • Pseudoclases CSS :focus y :focus-visible
  • Buenas prácticas diseño accesible para foco

Evaluación del criterio

Tipo de evaluación

Evaluación Manual

Procedimiento de evaluación

  1. Paso 1. Navegar por la página utilizando el teclado.
  2. Paso 2. Verificar en todo momento que se identifica visualmente cuál es el elemento que tiene el foco, cumpliendo alguna de las siguientes condiciones:
    • a. Se usan componentes de interacción estándar que los navegadores resaltan automáticamente cuando reciben el foco.
    • b. Se emplea el indicador del foco por defecto o, si se modifica, solo se hace para mejorar su visibilidad, no para eliminarlo.

Resultado esperado

El usuario que navega mediante teclado puede identificar fácilmente qué elemento tiene el foco en todo momento.

Ejemplo ilustrativo

Foco visible en botón

<button class="btn">Enviar</button>

<style>
.btn:focus-visible {
  outline: 3px solid #005fcc;
  outline-offset: 3px;
}
</style>


Otras herramientas de evaluación

  • Bookmarklet para evaluar el criterio WCAG 2.4.7.(Foco visible): bookmarklet de emiliano montani para analizar el foco según el criterio WCAG 2.4.7. Bookmarklet para evaluar el foco visible
  • Navegación con teclado: recorrer la página usando Tab, Shift + Tab, Enter y Espacio para comprobar que el foco es siempre claramente visible al desplazarse por enlaces, botones, formularios y demás controles.
  • Inspección visual: verificar que existe un indicador de foco perceptible (p. ej., contorno, subrayado, cambio de color/forma) que sea suficiente para distinguir el elemento enfocado.
  • Inspección del CSS: revisar que no se haya eliminado el estilo por defecto del foco (p. ej., outline: none;) sin proporcionar una alternativa accesible.
  • Prueba con lectores de pantalla: (NVDA, JAWS, VoiceOver) comprobar que la navegación por foco es coherente y que el indicador visual acompaña la posición real del foco.










Ejemplos accesibles y no accesibles creados por alumnos

<!DOCTYPE html> Formulario de Reserva - NO Accesible 3.3.2-C

⚠️ PROBLEMA 3.3.2-C: Este formulario NO tiene etiquetas ni instrucciones claras

Reserva de Hotel

⚠️ Problemas de este formulario:
  • No hay etiquetas <label> para ningún campo
  • Algunos placeholders son ambiguos ("Código" - ¿qué código?)
  • No se indica qué campos son obligatorios
  • No hay instrucciones sobre el formato esperado
  • El select dice "Selecciona" pero ¿seleccionar qué?
  • Un campo no tiene ni placeholder ni etiqueta (campo de email)
  • No hay indicación de formato de fecha específico
  • No se explica para qué sirve cada campo

<!DOCTYPE html> Formulario de Reserva - ACCESIBLE 3.3.2-C

✅ ACCESIBLE 3.3.2-C: Este formulario tiene etiquetas e instrucciones claras

Reserva de Hotel

Complete el siguiente formulario para reservar su estadía

Nota: Los campos marcados con * son obligatorios

Ingrese su nombre tal como aparece en su documento de identidad

Enviaremos la confirmación de reserva a este correo

Incluya el código de país (Ej: +34 para España)

¿Cuántas personas se alojarán?

Formato: DD/MM/AAAA (Ej: 15/02/2025)

Formato: DD/MM/AAAA (Ej: 20/02/2025)

Seleccione el tipo de habitación que prefiere

Si tiene un código promocional, ingréselo aquí

Indique cualquier necesidad especial o preferencia (cama extra, piso bajo, accesibilidad, etc.)

✅ Implementación correcta:
  • Cada campo tiene una etiqueta <label> clara asociada
  • Los campos obligatorios están claramente marcados con *
  • Hay instrucciones específicas sobre formato y contenido esperado
  • Los selectores tienen opciones descriptivas, no ambiguas
  • Se explica el propósito de cada campo cuando no es obvio
  • Se proporcionan ejemplos en los placeholders
  • Hay una nota inicial explicando la convención de campos obligatorios
  • Se usan atributos ARIA apropiados (aria-required, aria-describedby)

Comentarios

A continuación se muestran comentarios sobre el criterio 2.4.7-A. Foco visible

Loading comments...