En Flex 4.5, ¿puede un grupo de datos tener accesibilidad habilitada para todos sus elementos individuales?
Frecuentes
Visto 231 veces
0
Estoy creando una aplicación Flex que debe ser accesible y cumplir con las pautas de la sección 508. Algunas partes prediseñadas hacen un uso intensivo de DataGroup, DataGrid e ItemRenderers. No puedo hacer que nada de lo que se creó con ItemRenderers reciba el foco del teclado, por lo que parece imposible que se revelen sus propiedades de accesibilidad.
¿Hay algún truco para hacer que el foco esté disponible para un ItemRenderer? ¿O alguna alternativa que podría usar?
1 Respuestas
0
SOLUCIÓN:
Me tropecé con esto, y no estoy del todo seguro de por qué funciona, pero la solución es simple. Solo agrega implements="mx.managers.IFocusManagerComponent"
en la etiqueta raíz de la costumbre ItemRenderer
, y luego cada elemento de la lista podrá recibir el foco y exponer su accessibilityProperties
.
Lo extraño es que el compilador de Flex no se queja si el renderizador personalizado no implementa lo requerido. IFocusManagerComponent
métodos. No sé por qué, pero especularía que estos métodos se implementan en algún lugar de la cadena de código y no se usan a menos que un componente implemente explícitamente IFocusManagerComponent
.
El único problema que tengo ahora es que solo los elementos visibles muestran su accessibilityProperties
, lo cual tiene sentido porque ItemRenderers
solo se crean para los elementos visibles en la pantalla, pero debería encontrar alguna forma de desplazar la lista automáticamente si el último visible ItemRenderer
pierde el foco.
contestado el 07 de mayo de 12 a las 18:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas apache-flex accessibility itemrenderer section508 or haz tu propia pregunta.
No soy un desarrollador de Flex, pero durante mi búsqueda el método
getCurrentRendererState()
y la encuadernación seguía apareciendo. Tal vez investigue eso y vea si puede lanzar un método de enfoque allí. - Ryan B