Soporta Dynamic Type
Asegúrese de que los elementos de texto se ajusten al tamaño de fuente preferido del usuario
Esta es una regla experimental y, por lo tanto, sus resultados se consideran en fase beta. Obtenga más información sobre reglas experimentales y cómo puede ayudar a mejorarlas.
Ejecutar esta regla resultará en un aumento del tiempo de análisis.
Esta regla es opcional para recopilar comentarios. Pruébela y háganos saber su opinión.
Después de inicializar el objeto AxeDevTools para comenzar las pruebas, active la regla usando la configuración:
axe.configuration.optInToSupportsDynamicType = truedonde axe se refiere al objeto AxeDevTools inicializado al iniciar sesión.
Qué Verificamos
Los elementos de texto deben tener las propiedades necesarias para soportar Dynamic Type y redimensionarse según la preferencia de tamaño de fuente del dispositivo del usuario.
Esta regla impone una Mejor Práctica de Deque. Puede desactivar esta regla desde el Panel de Control Móvil o mediante ignorando la regla en pruebas escritas para iOS.
Aprenda cómo desactivar reglas desde el Panel de Control Móvil.
Ejemplo Fallido ❌
Los elementos de texto utilizan fuentes fijas que no responden a la configuración de Dynamic Type del usuario
Después de aumentar la configuración de Dynamic Type al tamaño más grande, el texto remains unchanged — no se amplía para reflejar la preferencia del usuario
Ejemplo Exitoso ✅
Los elementos de texto utilizan fuentes escalables que responden a la configuración de Dynamic Type del usuario
Después de aumentar la configuración de Dynamic Type al tamaño más grande, el texto scales up accordingly para coincidir con la preferencia del dispositivo del usuario
Resumen
- Esta regla tiene un impacto crítico para los usuarios con baja visión que dependen de texto más grande
- Los elementos de texto deben soportar Dynamic Type para que se redimensionen cuando el usuario cambie el tamaño de fuente de su dispositivo
Impacto en los Usuarios
Las personas con baja visión son las más afectadas por el texto que no puede redimensionarse. Dynamic Type es una función de iOS que permite a los usuarios establecer un tamaño de fuente preferido a nivel de dispositivo, y se espera que las aplicaciones respeten esa preferencia. Cuando los elementos de texto no soportan Dynamic Type, los usuarios que necesitan textos más grandes deben esforzarse por leer contenido que no se escala independientemente de sus configuraciones.
Confirmar Problema de Soporte de Dynamic Type
- Navegue a la pantalla que contiene texto y observe el tamaño de fuente actual y su disposición
- Aumente el tamaño de fuente cambiando la configuración de Dynamic Type:
- Si está usando un simulador:
- Abra Inspector de Accesibilidad
- En la esquina superior izquierda del inspector, cambie el dispositivo de su Mac al simulador de iOS
- Seleccione el botón Configuración en la esquina superior derecha del inspector
- En Tamaño de Fuente, mueva el control deslizante a una configuración más grande
- Si está usando un dispositivo con iOS 13.0+:
- Abra Configuración
- Seleccione Accesibilidad
- Seleccione Pantalla y Tamaño de Texto
- Seleccione Texto más Grande
- Mueva el control deslizante en la parte inferior de la página a una configuración más grande
- Si está usando un simulador:
- Regrese a su aplicación y observe lo siguiente en la misma pantalla:
- Inaccesible: El texto no cambió de tamaño después de actualizar la configuración de Dynamic Type
- Accesible: El texto cambió de tamaño
Corregir problemas
Para resolver un problema de compatibilidad con Dynamic Type, configure los elementos de texto para usar fuentes escalables que respondan a la configuración de Dynamic Type del usuario.
UIKit
Establezca adjustsFontForContentSizeCategory = true en cualquier elemento de texto para que se actualice cuando el usuario cambie su configuración de Dynamic Type. Use UIFont.preferredFont(forTextStyle:) para fuentes del sistema, o UIFontMetrics para escalar una fuente personalizada en relación con un estilo de texto:
// System font — scales automatically to the user's Dynamic Type setting
label.font = UIFont.preferredFont(forTextStyle: .body)
label.adjustsFontForContentSizeCategory = true
// Custom font — scaled relative to a text style using UIFontMetrics
let customFont = UIFont(name: "Georgia", size: 17)!
label.font = UIFontMetrics(forTextStyle: .body).scaledFont(for: customFont)
label.adjustsFontForContentSizeCategory = trueSwiftUI
En iOS 14 o superior, puedes soportar Dynamic Type de dos maneras:
- Al usar una fuente personalizada, establezca la propiedad
.fonta.custom(_:size:relativeTo:)para asegurar que las fuentes se escalen relativamente al estilo de fuente del elemento de texto. - Cuando se utiliza una fuente predeterminada por tamaño, el texto se escalará automáticamente. Sin embargo, si no se establece un estilo de fuente, los elementos de texto no se escalarán de acuerdo con su estilo. Por ejemplo, el texto que funciona como un título se escalará de manera diferente al texto que funciona como texto de cuerpo. Para una mejor experiencia, especifique el estilo de fuente para que coincida con el comportamiento esperado del elemento. Al usar un modificador como
.font(.system(.largeTitle, design: .rounded)), puedes esperar que el texto sea el más grande en la página y funcione como un título adecuado.
React Native
Establezca allowFontScaling={true} en cada elemento Text para permitir que se adapte a las preferencias de configuración del dispositivo del usuario:
<Text style={{ color: 'black', fontSize: 18 }} allowFontScaling={true}> This text allows font scaling. </Text>¿Puedo ignorar esta regla?
Supports Dynamic Type tiene un impacto crítico para usuarios con baja visión. Debido a que esta es una regla de mejor práctica, se puede desactivar desde el Mobile Dashboard o suprimir en pruebas individuales. Sin embargo, recomendamos enfáticamente soportar Dynamic Type en toda tu aplicación en lugar de ignorar ampliamente la regla. Aprende más sobre ignorando reglas.
Recursos
Páginas del curso de Deque University
Nota: El acceso completo a los recursos de Deque University requiere una suscripción.
Otros recursos
- Pautas de Accesibilidad para el Contenido Web (WCAG) 2.1, Recomendación del W3C
- Documentación para desarrolladores de Apple
