4.3. Información Braille

Como en el caso de la voz, Orca brinda dos módulos fundamentales para el braille: braille.py y braillegenerator.py. El módulo braille.py proporciona la interfaz principal para la línea braille. El módulo braillegenerator.py proporciona una clase BrailleGenerator que puede utilizarse para generar realmente el texto a mostrar en braille para distintos objetos. El uso de ambos módulos es el siguiente: un script hace su propia instancia de un BrailleGenerator y lo utiliza para las regiones braille. Luego, el script pasa las regiones braille al módulo braille.py para que sean visibles.

4.3.1. braille.py

POR HACER: [[[WDW - Queda mucho por escribir aquí, particularmente, en relación con la forma en que las regiones brinden apoyo automático a las teclas de seguimiento del cursor. ]]]

4.3.2. braillegenerator.py

El objetivo primario de un BrailleGenerator es crear texto que sea visible para un objeto accesible. Existen dos puntos de entrada pública a un BrailleGenerator:

Usualmente, un script"construirá" una sola línea lógica de texto para la línea braille. El comienzo de esta línea será el resultado de la llamada al getBrailleContext y el resto de la línea será el resultado de una o más llamadas a la getBrailleRegions. Como la línea lógica usualmente será más larga que el número de celdas en la línea braille, el módulo braille.py se desplazará en la pantalla para mostrar la Region braille con el foco. Además, el braille.py también responderá a los eventos de entrada BrlTTY para permitirle al usuario que utilice los botones de entrada de la línea braille para desplazarse y revisar toda la línea.

NOTA: Orca actualmente brinda cierto nivel de apoyo para la cantidad de información mediante los campos VERBOSITY_LEVEL del módulo settings.py. Existen actualmente dos niveles decantidad de información: VERBOSITY_LEVEL_BRIEF y VERBOSITY_LEVEL_VERBOSE. Una subclase BrailleGenerator debe examinar la propiedad brailleVerbosityLevel del módulo settings.py y brindar el nivel apropiado de texto:

if settings.brailleVerbosityLevel == settings.VERBOSITY_LEVEL_VERBOSE:
    regions.append(braille.Region(
                   " " + rolenames.getBrailleForRoleName(obj)))