Saltar al contenido
CrossFly es 100% open sourceSíguenos en GitHub
CrossFlyCrossFly
Empezar

Esta página fue traducida automáticamente del portugués y puede contener errores. La versión en portugués es la canónica.

Accesibilidad (a11y)

Con honestidad sobre lo que el framework ofrece hoy: foco en lo que es accionable en CrossFly nativo/OpenGL. Buena parte de la a11y aquí refuerza la responsividad — fuente-relativo es respeto al ajuste de tamaño del usuario.

Objetivos táctiles generosos

Dimensiona las áreas táctiles con Relative, nunca píxeles minúsculos:

botao.getStyle().autoHeight(Relative.ofFont(2.5f));            // alto suficiente para el dedo
icone.getStyle().autoWidth(Relative.ofScreen(0.12f, ScreenSize.MIN))
     .autoHeight(Relative.ofScreen(0.12f, ScreenSize.MIN));   // cuadrado que se adapta

Regla práctica: objetivos de ~48 dp equivalentes — Relative.ofFont(2.5f) suele ser suficiente.

Contraste de texto

Garantiza un contraste adecuado; el framework ayuda:

int fundo  = cs.surface.color();
int texto  = ColorUtils.contrastText(fundo);                  // negro/blanco según el fondo
int melhor = ColorUtils.getContrastColor(fundo, 0xFF000000, 0xFFFFFFFF);  // elige entre 2 opciones

Respeta el tema claro/oscuro (vía Styles.setColorScheme/setDarkMode) — no fijes colores que ignoren el modo (ver Modo claro/oscuro).

Texto que escala

Como las fuentes se miden en unidades relativas, texto y layout escalan con el zoom de fuente de la app — consecuencia directa de usar Relative.ofFont(...) y evitar píxeles fijos. Deja que el Label haga salto de línea; no truncas información esencial.

Feedback multisensorial y voz

Device.vibrate(50);            // confirmación táctil de una acción importante
Device.beep();                 // aviso sonoro
Device.textToVoice(mensagem);  // lectura por voz (apoyo)

Úsalo como apoyo, no como único canal — combina visual + táctil/sonoro.

Buenas prácticas

  • Objetivos táctiles con Relative.ofFont/ofScreen(MIN); nada de botones de pocos píxeles.
  • Contraste vía contrastText/getContrastColor; honra claro/oscuro.
  • No truncas texto esencial; deja que escale/salte de línea.

Errores comunes

  • Botones/íconos minúsculos en píxeles fijos (difíciles de tocar; no escalan).
  • Colores fijos que rompen el contraste en modo oscuro.
  • Depender solo del color para transmitir estado (agrega ícono/texto).

Limitaciones

Las funciones de lector de pantalla dependen de la plataforma/launcher — no hay una capa de a11y semántica universal en el core. Prioriza los ítems accionables de arriba.

Ver también

¿Te resultó útil esta página?