Varios complementos se han actualizado recientemente. En primer lugar, el complemento para VLC Media Player llega a la versión 2.7-dev en desarrollo, solucionando un error al detectar el idioma del sistema en la clase que gestiona los cuadros de edición del motor de interfaces QT.
Por otro lado, el complemento para el gestor de libros Calibre se actualiza a la versión de desarrollo 1.0-dev6 con un par de novedades, que copiamos aquí tal y como su autor las ha redactado:

  • Mejora la accesibilidad de los cuadros combinados, por ejemplo el de búsqueda.
  • En versiones de NVDA 2018.2 y siguientes se puede seleccionar en preferencias> opciones > calibre  el modo de lectura de los encabezados de tabla:
    • None (ninguno)
    • Standar: leerá todos los encabezados, de columna y de fila.
    • Classic: leerá sólo los encabezados de columna tal como hacía en versiones anteriores a la 2018.2.

Te recordamos que estos complementos no han sido declarados estables. A pesar de que cada vez funcionan mejor, su uso no se recomienda en entornos de producción.
El complemento estable que sí se ha actualizado es, valga la redundancia, el actualizador de complementos. La versión 18.08.1 añadió la posibilidad de buscar actualizaciones automáticamente cada 24 horas. La versión 18.08.1r2 soluciona un error crítico. Aquellos que tengan la 18.08.1 deberán actualizar manualmente. El resto recibirán esta nueva versión a través del propio complemento.
Como siempre, te recomendamos mantener tus complementos bien actualizados. Gracias a ellos se mejoran la experiencia y las características de NVDA.
Si te gusta el contenido que te ofrecemos, por favor, haz una donación para ayudar a sostener nuestra web y el trabajo que hacemos para que NVDA llegue día a día más lejos.

El complemento Windows 10 App Essentials, que mejora la accesibilidad de muchas aplicaciones en Windows 10, se actualiza a la versión 18.08. Los principales cambios de esta versión son:

  • Se ha añadido soporte para la nueva interfaz IUIAutomation6, garantizando que el complemento se adapte a NVDA 2018.3, donde probablemente este soporte irá ya integrado de serie.
  • En Windows 10 Redstone 5, se mejora el rendimiento de NVDA en algunas situaciones empleando funciones introducidas en IUIAutomation6, particularmente al cambiar entre aplicaciones cuando una tarea de larga duración se está ejecutando en segundo plano.
  • Se han actualizado diversas zonas del código para reflejar los cambios introducidos en 2018.
  • Al rastrear eventos, se registra el objeto que envió el evento.
  • Al rastrear eventos de notificación de UIA, se escuchará un tono con propósitos de depuración si la notificación viene desde otro lugar distinto de la aplicación actual.
  • Se procesan los submenús expandidos en lugares distintos al host de experiencia shell de Windows, ya que Microsoft Edge introduce un menú de este tipo en Redstone 5 (pulsando alt+x).
  • Se elimina el manejador personalizado para ciertos controles de reloj, alarmas y configuración, ya que su accesibilidad mejora en versiones recientes de Windows 10 y ya no es necesario.
  • Se añade soporte para las nuevas versiones de la aplicación Personas (mediante un módulo de aplicación).
  • Teclado moderno: al abrir los elementos del portapapeles en Redstone 5, NVDA ya no anunciará «Portapapeles», el título de la lista en cuestión.
  • Personas: NVDA ya vuelve a verbalizar sugerencias de búsqueda al buscar contactos en versiones recientes de la aplicación.

Después de ver todas estas novedades, actualizar es más que recomendable, ¿no crees? Puedes hacerlo desde el actualizador automático incluido en el complemento, o desde la página de información sobre Windows 10 App Essentials de nuestra web.
Por otro lado, Javi Domínguez ha liberado la versión 2.6-dev del complemento para el reproductor VLC Media Player. Esta es una versión de desarrollo, por lo que podría contener fallos. Sin embargo, en ella se soluciona un fallo que había cuando VLC se ejecutaba en pantalla completa, y se mejora el soporte para los cuadros de edición hechos con el motor de interfaces qt. De momento esta última mejora sólo es perceptible en VLC, pero quién sabe si en el futuro podría llegar a más lugares.
Descargar complemento para VLC 2.6-dev
¡Feliz domingo!

En este episodio, que ya tiene algún tiempo, se hace una introducción y se resuelven dudas comunes a la hora de dar el paso de Jaws a NVDA. No ha cambiado gran cosa desde que se publicó, salvo el nuevo diálogo de opciones. En él participan José María Ortiz, Daniel Montalvo, Juan Buño y José Manuel Delicado.
Visita la entrada con el episodio en la web de José María Ortiz
¡Que lo disfrutes!

¡Hola!
Ha pasado ya algún tiempo desde que abrimos la convocatoria para participar en el primer encuentro anual de la comunidad de NVDA en español, y desde entonces no habéis dejado de mostrar vuestro interés por este evento. En primer lugar, lo hemos fijado de manera provisional para los días 19, 20 y 21 de octubre, muy cerca del primer aniversario de esta web. En segundo lugar, hemos tomado la decisión de contaros, poco a poco, un poquito más sobre cada ponente de los que ya están confirmados. Haremos esto una vez a la semana, aproximadamente. Pero antes de empezar, me gustaría deciros que el servidor de Teamtalk vuelve a estar operativo, tras solucionar un insignificante error en la configuración que hacía imposible establecer conexión con él. Dicho esto, ¡allá vamos!
El ponente del que vamos a hablaros hoy es Jordi Montserrat. Desde tierras catalanas, viene con un proyecto con el que pretende hacer llegar la accesibilidad a las personas con discapacidad visual, pero aportando un enfoque distinto. Más concretamente, uno de sus objetivos es ayudar a aquellas personas sin discapacidad que nos acompañan, ya sea de forma puntual o permanente, a comprender bien conceptos tales como qué es un lector de pantalla y cómo funciona. NVDA, como no podía ser menos, tiene dedicada una sección bastante extensa en su web, que aunque mayoritariamente se encuentra en catalán, contiene partes en castellano. Si te apetece visitarla antes de la ponencia, entra a http://to.fundacio.coaatt.org/grup-de-treball-tecnologia-oberta/index/indice-de-paginas-en-castellano/.
Os recordamos que la convocatoria de participación sigue abierta hasta el 15 de septiemmbre.
Ir al formulario de registro

Otros avances

Además del encuentro, en estos últimos meses hemos estado ocupados con otras muchas tareas. La más importante, sin duda alguna, es la traducción del libro de formación básica de NVDA, que pondremos a vuestra disposición tan pronto como NV Access le dé el visto bueno. Para aquellos que conozcan el sitio web de NV Access, se trata de la primera de las «training guides». Los libros de Word, Excel y Outlook (cuando se publique) tampoco se van a quedar sin traducir, ya que nuestro objetivo es traeros todo el material posible en español. Estos libros estarán a la venta tanto en la web de NVAccess como en nuestra tienda.

¿Por qué últimamente no hay tantas actualizaciones de complementos?

Esta es una pregunta que nos habéis hecho mucho, y lo cierto es que no os faltan motivos. La respuesta es que, bien sea por vacaciones u otras razones, la comunidad internacional últimamente se está moviendo un poquito menos. Sin embargo, con la llegada de NVDA 2018.3 y WXPython 4, esperamos otra avalancha de actualizaciones. ¡Estad atentos!

Pronto llegarán más podcasts

Uno de los objetivos cuando creamos esta web era recopilar todos los podcasts en español que hablasen de NVDA, pero con la cantidad de complementos y actualizaciones que había lo fuimos dejando… hasta ahora. Pronto comenzaremos a publicar entradas recopilándolos. Algunos son ya algo antiguos, otros más recientes, pero a pesar de ello todos siguen siendo perfectamente válidos para conocer un poco más a fondo nuestro lector de pantalla. Si conocéis algún podcast que hable de NVDA y a lo mejor no ha tenido la difusión suficiente, no dudéis en contactar con nosotros.
¡Hasta la próxima!

A la hora de programar un complemento que tiene algún tipo de interfaz gráfica, o hacer modificaciones a la propia interfaz de NVDA, todos los desarrolladores ciegos nos hacemos la misma pregunta tarde o temprano: ¿cómo se ve en pantalla esto que estoy programando? Podemos probar distintas combinaciones de constantes, posiciones y tamaños para los controles, pero al no poder verlos, probablemente el resultado no sea el que esperamos. En la entrada de hoy vamos a hablar del módulo guiHelper, disponible desde la versión 2016.4 de NVDA. La misión de este módulo es abstraernos un poco de los detalles más visuales del diseño de nuestra interfaz, de tal forma que sólo debamos preocuparnos de añadir controles y funcionalidad. El módulo no hace magia, pero nuestras interfaces quedarán probablemente un poquito mejor que antes. Si quieres conocer este módulo un poco más, sigue leyendo. ¡Allá vamos!
Nota: en este artículo se asume que el lector tiene conocimientos sobre la programación de complementos con interfaz gráfica.

Importar el módulo

El módulo guiHelper se encuentra en el paquete gui. Si nuestro complemento tiene interfaz gráfica, en algún momento seguramente habremos importado los módulos gui y wx, por lo que sólo haría falta escribir esto:
from gui import guiHelper
Una vez hecho esto, ya podremos acceder a sus constantes, funciones y clases.

Constantes de guiHelper

Estas constantes vienen incluidas directamente en el módulo.

  • BORDER_FOR_DIALOGS: es el borde que se encuentra alrededor de cada control dentro de un diálogo.
  • SPACE_BETWEEN_VERTICAL_DIALOG_ITEMS: cuando los elementos de un diálogo se disponen de manera vertical, esta constante se puede emplear para indicar cuánto espacio hay entre cada elemento.
  • SPACE_BETWEEN_BUTTONS_HORIZONTAL: especifica el espacio que hay entre botones dispuestos de manera horizontal.
  • SPACE_BETWEEN_BUTTONS_VERTICAL: igual que en el caso anterior, pero se aplica cuando los botones están dispuestos verticalmente unos sobre otros.
  • SPACE_BETWEEN_ASSOCIATED_CONTROL_HORIZONTAL: es el espacio que separa a dos controles relacionados dispuestos en horizontal.
  • SPACE_BETWEEN_ASSOCIATED_CONTROL_VERTICAL: lo mismo que en el caso anterior, pero en disposiciones verticales.

Funciones de guiHelper

A día de hoy, guiHelper sólo dispone de una función a nivel de módulo: associateElements. Esta función introduce dos controles en un objeto Sizer de wx, situándolos en horizontal o vertical y separándolos adecuadamente según su tipo. Su cabecera es la siguiente:
def associateElements( firstElement, secondElement)
Los controles deben pasarse en el orden en que queremos que se asocien. Las posibles asociaciones son:

  • wx.StaticText y wx.Choice, wx.TextCtrl o wx.Button: asocia una etiqueta con un cuadro combinado, un cuadro de edición o un botón, en disposición horizontal.
  • wx.StaticText y wx.ListCtrl o wx.ListBox o wx.TreeCtrl: asocia una etiqueta con una presentación en lista, un cuadro de lista o una vista en árbol, en disposición vertical.
  • wx.Button y wx.CheckBox: asocia un botón y una casilla de verificación, disposición horizontal.
  • wx.TextCtrl y wx.Button: asocia un cuadro de texto y un botón en posición horizontal.

En todos los casos, los controles deben ser objetos ya instanciados. La función devuelve el objeto Sizer que los contiene, listo para añadirlo a un diálogo u otro Sizer.

Clases de guiHelper

El módulo guiHelper dispone de cuatro clases que nos ayudan a construir nuestra interfaz. Aunque vamos a verlas todas, la que más se usa es BoxSizerHelper. Todas ellas tienen el atributo sizer, empleado al construir el resto de la interfaz.

La clase ButtonHelper

Esta clase sirve para añadir el espacio adecuado entre botones, tanto en horizontal como en vertical. Al instanciar objetos a partir de ella, se debe especificar la orientación del Sizer que va a generar, ya sea wx.VERTICAL o wx.HORIZONTAL. Por ejemplo:
bh=guiHelper.ButtonHelper(wx.VERTICAL)
Una vez construido el objeto, podemos agregar botones llamando al método addButton:
bh.addButton(mydialog, label=_("Test button 1"))
El método addButton construye un nuevo botón con los parámetros que le pasemos, o también puede añadir un botón previamente creado. Es imprescindible indicar en el primer caso el diálogo o ventana padre que contendrá al botón, y una etiqueta por razones de accesibilidad con el parámetro label. Al acabar, se devuelve el botón creado para que podamos hacer cosas con él, como asociarle acciones.

La clase LabeledControlHelper

Esta clase permite crear controles etiquetados y asociar etiqueta y control entre sí en un Sizer. Se apoya en la función associateElements que vimos más arriba. La cabecera de su constructor es:
def __init__(self, parent, labelText, wxCtrlClass, **kwargs)
Por lo tanto, para construir un objeto de tipo LabeledControlHelper necesitamos pasar como parámetros el diálogo o ventana padre, el texto de la etiqueta que acompañará al control, la clase del control (cuidado, aquí no valen controles previamente creados), y cualquier argumento que necesite el control para construirse. Veámoslo de forma más clara con un ejemplo:
lch=guiHelper.LabeledControlHelper(mydialog, "Selecciona una fruta", wx.Choice, choices=['pera', 'manzana', 'fresa'])
En el ejemplo anterior hemos pasado como clase wx.Choice para crear un cuadro combinado, y como parámetros adicionales las opciones que presentará.
La clase LabeledControlHelper dispone de dos atributos para que podamos trabajar cómodamente: sizer, igual que en el resto de clases, y control, que hace referencia al control de wx que hemos creado.

La clase PathSelectionHelper

Esta clase nos permite crear de una forma rápida, sencilla y abstrayéndonos de todos los detalles, un cuadro de edición y un botón «Examinar…» como los que aparecen en muchos programas, con el objetivo de que podamos fabricar un selector de rutas. En el constructor le pasamos el padre, como siempre, el texto del botón Examinar, y el título del diálogo que se desplegará para seleccionar una ruta cuando pulsemos dicho botón. Por ejemplo:
psh=guiHelper.PathSelectionHelper(mydialog, "Examinar...", "Selecciona la carpeta que contiene los documentos")
Como en los casos anteriores, tenemos la propiedad sizer, pero además aquí nos acompaña otra: pathControl, que contiene una referencia al cuadro de texto donde está escrita la ruta.
En caso de que sea necesario, se podría crear una clase que herede de esta y sobreescribir o extender los métodos getDefaultBrowseForDirectoryPath y onBrowseForDirectory. El primero devuelve la ruta por defecto que muestra el diálogo de seleccionar carpeta, y el segundo muestra este diálogo y almacena el resultado en el cuadro de edición.

La clase BoxSizerHelper

Llegamos a la clase más importante de este módulo, la más usada, y la que emplea la funcionalidad expuesta en casi todas las otras. BoxSizerHelper permite configurar la disposición interna de un objeto Sizer. La cabecera de su constructor es:
def __init__(self, parent, orientation=None, sizer=None)
Como siempre, el primer argumento que espera recibir es la ventana padre. Después, podemos pasar una orientación (wx.VERTICAL o wx.HORIZONTAL), en cuyo caso se creará internamente un objeto Sizer, o un Sizer ya creado, a ser posible vacío. Si pasamos ambos parámetros, se produce un error.
Al igual que sucede en los casos anteriores, tenemos un atributo sizer. Esta clase, además, presenta los siguientes métodos:

  • addItem(self, item, **keywordArgs): añade un control wx ya creado y lo sitúa adecuadamente. El último argumento es opcional y sólo se usa en raras ocasiones. El método devuelve el elemento que se pasa como parámetro, para que podamos asociarle acciones y hacer otras cosas con él.
  • addLabeledControl(self, labelText, wxCtrlClass, **kwargs): añade un control etiquetado. El primer parámetro que recibe es el texto con la etiqueta del control, seguido de la clase del control y los parámetros adicionales que se quieran pasar. Fíjate en el ejemplo anterior del cuadro combinado. Este método devuelve el control que se acaba de agregar.
  • addDialogDismissButtons(self, buttons): agrega y alinea los botones Aceptar, Cancelar y Aplicar de los diálogos estándar. Este método debería llamarse cuando ya se han añadido todos los demás controles. Buttons puede ser un objeto wx.Button, un objeto wx.Sizer o un objeto guiHelper.ButtonHelper. Devuelve el mismo objeto que se le pasa como parámetro.

Aplicaciones prácticas

Al igual que en una entrada anterior, vamos a poner como ejemplo el complemento Enhanced Aria (aunque esta vez no vendrá solo), para demostrar lo fácil que es adaptar nuestros complementos para que se apoyen en guiHelper. En la versión 1.3, para agregar la primera casilla de verificación del diálogo de ajustes de aria mejorada, se hacía esto:
self.bannerenabled=wx.CheckBox(self, wx.NewId(), label=(u"Report banners")) # Como self es una clase que hereda de wx.Dialog, se pasa como padre
self.bannerenabled.SetValue(config.conf['aria']['reportBanner']) # Se establece el valor de la casilla

sizer.Add(self.bannerenabled,border=10,flag=wx.BOTTOM) # se añade la casilla sizer
Como se puede comprobar, hay que crear la casilla con su etiqueta correspondiente, asignarle el valor adecuado y añadirla al objeto que va a contenerla, con indicadores de borde y alineación. Sin embargo, en la versión 2.0 basta con hacer esto:
def createSettings(obj, sizer):
helper=guiHelper.BoxSizerHelper(obj, sizer=sizer)
obj.bannerenabled=helper.addItem(wx.CheckBox(obj, wx.NewId(), label=
("Report banners")))
obj.bannerenabled.SetValue(config.conf['aria']['reportBanner'])

Como se puede ver, creamos un BoxSizerHelper pasando como parámetro el Sizer que nos dan en el método makeSettings, y que en el caso particular de esta implementación se pasa a createSettings. A continuación, agregamos una nueva casilla de verificación llamando a addItem, y luego establecemos su valor.
Veamos el diálogo de Windows 10 App Essentials, que también se apoya en este módulo. Lo podemos encontrar en el archivo w10config.py. Se trata de un diálogo completo, una clase que hereda de wx.Dialog. Por lo tanto, construirlo implica más esfuerzo, al no tener a nuestra disposición la clase SettingsDialog de NVDA o la clase SettingsPanel. En lugar del método makeSettings, que ya nos da un Sizer, las operaciones de construcción se hacen en el constructor del diálogo.
En primer lugar, se crea un objeto de tipo BoxSizer:
mainSizer = wx.BoxSizer(wx.VERTICAL)
Y a continuación, se crea un BoxSizerHelper con un Sizer nuevo, que será hijo del que se acaba de crear:
w10Helper = gui.guiHelper.BoxSizerHelper(self, orientation=wx.VERTICAL)
Teniendo el BoxSizerHelper, ya se pueden añadir controles. Vamos a ver dos de ellos, la casilla de verificación y el cuadro combinado.
self.autoUpdateCheckbox=w10Helper.addItem(wx.CheckBox(self,label=_("Automatically check for add-on &updates"))) # Se crea la casilla
self.autoUpdateCheckbox.SetValue(config.conf["wintenApps"]["autoUpdateCheck"]) # Se establece su valor
labelText = _("&Add-on update channel:") # Etiqueta del cuadro combinado
self.channels=w10Helper.addLabeledControl(labelText, wx.Choice, choices=["development", "stable"]) # Cuadro combinado

Ya para acabar, se añaden los botones Aceptar y cancelar, y se hace de una forma muy particular, ya predefinida en wx:
w10Helper.addDialogDismissButtons(self.CreateButtonSizer(wx.OK | wx.CANCEL))
En este caso no existe acceso directo a los botones, como sí pasa con el resto de los controles, así que las asociaciones se hacen de esta manera:
self.Bind(wx.EVT_BUTTON, self.onOk, id=wx.ID_OK)
self.Bind(wx.EVT_BUTTON, self.onCancel, id=wx.ID_CANCEL)

El BoxSizerHelper ya está completo, hay que añadirlo al Sizer principal. Una vez más, se pide ayuda a guiHelper, y al propio motor wx para centrarlo y posicionarlo:
mainSizer.Add(w10Helper.sizer, border=gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
mainSizer.Fit(self)
self.Center(wx.BOTH | (wx.CENTER_ON_SCREEN if hasattr(wx, "CENTER_ON_SCREEN") else 2))

Conclusión

Es importante que nuestros complementos e interfaces gráficas en general sean visualmente usables. Aunque NVDA es un lector de pantalla empleado mayoritariamente por personas con discapacidad visual, estas personas suelen estar acompañadas por otras que ven perfectamente, especialmente cuando se introducen en el mundo de la informática. Por tanto, debemos tener en cuenta a todos los posibles usuarios.
En esta entrada hemos conocido el módulo guiHelper, que nos ayuda precisamente en esta tarea. GuiHelper no hace magia, no tiene ningún tipo de «inteligencia artificial» que coloque nuestros controles exactamente como deberían estar para que nuestra interfaz sea atractiva. Sin embargo, nos ayuda un poco a conseguirlo, simplifica nuestro código y por lo tanto facilita el mantenimiento.
Si tus complementos no se apoyan todavía en este módulo, no esperes más para adaptarlos. Tus usuarios lo agradecerán, ¡y tú también!

Esta mañana, NV Access ha anunciado en una publicación que van a producirse cambios en la metodología de desarrollo de NVDA que afectarán tanto a los desarrolladores como a aquellos usuarios que prueban las versiones de desarrollo. Estos cambios se llevan a cabo para aprovechar mejor la infraestructura de Github, y porque existen cada vez más pruebas unitarias que garantizan que el código siempre tendrá cierta calidad. El principal cambio que se llevará pronto a cabo es la descontinuación de la rama next, así como sus versiones de desarrollo. La rama next ya no es necesaria porque las solicitudes de cambios (pull requests) pasan una serie de controles automatizados antes de que los desarrolladores decidan si las mezclan o no. Esto, junto al creciente número de pruebas unitarias automatizadas, hace que ya no sea necesario probar de forma tan exhaustiva el código. Aquellos usuarios que tengan instalada la versión de desarrollo next de NVDA comenzarán a recibir actualizaciones de la versión de desarrollo master. Los que utilicen las versiones de desarrollo master, por su parte, seguirán recibiendo actualizaciones por este canal de desarrollo. Pero cuidado, porque el código que antes llegaba a next ahora se recibe en master, lo que significa que estas versiones dejarán de ser tan estables como hasta ahora.
Pero entonces, ¿qué ocurre con aquellos que quieran ir por delante de las versiones rc y oficiales, pero sin arriesgarse a tener un lector de pantalla lleno de fallos?
Aproximadamente siete semanas antes de la liberación estable de NVDA, comenzarán a ponerse a disposición del público versiones beta. Habrá una rama beta en el repositorio de NVDA. El código de estas versiones de desarrollo será tan estable como el de las versiones master actuales. Para acabar, los traductores y los usuarios de versiones estables no se verán afectados por ninguno de estos cambios.
Hay más cambios específicos para desarrolladores, relacionados con la gestión de solicitudes de cambios. Ya se encuentran disponibles en nuestra traducción del artículo El proceso de liberación de versiones, disponible en inglés en la wiki de NVDA en GitHub.
Por otro lado, NV Access le ha dado un lavado de cara a su sitio web, renovándolo por completo. Ahora, entre otras cosas, ya no es obligatorio introducir una dirección de correo electrónico para descargar NVDA desde allí, los textos de la página de inicio han cambiado para mostrar la filosofía de la organización, y hay nuevas secciones con enlaces para que tengamos todos sus recursos más a mano. ¡Bien hecho!
Esto es todo por el momento. Pronto volveremos con más artículos para desarrolladores, complementos no oficiales descubiertos y detalles sobre nuestro encuentro anual.
¡Hasta la próxima!

En las últimas horas, Joseph Lee y Noelia Ruiz han actualizado varios de sus complementos. Veamos cuáles son en detalle:

Todos estos complementos llevan traducciones actualizadas. Como siempre, se recomienda instalar las últimas versiones.
Por otro lado, los complementos Team Viewer y Console timer dejan de ser estables y vuelven a la categoría de desarrollo. Esto es debido a que sus autores no disponen del tiempo o los recursos necesarios para mantenerlos, o que parte de su funcionalidad se ha integrado en NVDA. De momento siguen funcionando, pero en el futuro podrían dejar de hacerlo si el núcleo de NVDA cambia.
En nuestra web hemos reflejado este cambio retirándolos de la categoría «Complementos estables», tal y como se ha hecho en la web de la comunidad internacional.

El complemento que mejora la accesibilidad con el reproductor multimedia VLC Media Player se actualiza a la versión 2.4. En esta actualización se siguen solucionando fallos y se mejora la experiencia con VLC Media Player 3.x. Además, su autor ha liberado también la versión 2.5-dev, que permite explorar los cuadros de edición en la interfaz del reproductor.
Más información y descarga del complemento para VLC
Como siempre, te recordamos que mantener tus complementos actualizados es muy importante, ya que esto garantiza una experiencia óptima con NVDA y te permite disponer de las últimas mejoras de calidad, estabilidad y seguridad.
¡Feliz viernes!

¡Hola!
Como dijimos el otro día en una entrada anterior, estamos organizando el primer encuentro de la comunidad de NVDA en español. Si quieres participar hablando de algún tema, ¡te esperamos!
La entrada de hoy vamos a dedicarla a Teamtalk, un conocido sistema de conferencias por chat, voz y vídeo, ya que lo utilizaremos para realizar el encuentro de forma remota. Daremos una breve descripción del programa, un resumen de sus características, y los primeros pasos que se deben llevar a cabo para conectarse al servidor que ya tenemos preparado para la ocasión. ¡Comencemos!

Descripción de Teamtalk

Teamtalk es un software multiplataforma que permite comunicarse a través de Internet mediante chat, voz y vídeo. Mucha gente lo compara con Skype, e incluso llega a utilizarlo como alternativa a este. Sin embargo, sus diferencias son tantas que aquí sólo podremos citar unas pocas:

  • En vez de llamadas de usuario a usuario o grupales, en Teamtalk existen canales. Los usuarios no llaman o contestan una llamada. Simplemente buscan un canal donde haya otro usuario y se unen a él.
  • Teamtalk es totalmente descentralizado. No hay un servidor único, tú puedes montar tu propio servidor.
  • La calidad de sonido es constante, con todo lo que ello implica. Si la conexión a Internet es mala, la calidad no se rebaja automáticamente, sino que el sonido se entrecorta.

Algunas de sus características más destacables son:

  • Canales: aunque la calidad sea constante, esto no significa que no se pueda regular. Cada servidor puede tener distintos canales, cada uno con unas características distintas (velocidad en bits del audio, códec utilizado, tasa de muestreo, etc.)
  • Capacidad para regular el sonido: se pueden configurar aspectos tales como la reducción de ruido, posicionamiento de los usuarios en el canal (escuchar algunos a la izquierda y otros a la derecha, por ejemplo), o el volumen de los altavoces y el micrófono sin tocar los ajustes del sistema. Además se puede elegir el motor de sonido, el nivel de activación del micrófono, y muchas más cosas
  • Capacidad para transmitir y recibir vídeo utilizando una WebCam
  • Capacidad para compartir el escritorio o controlar el escritorio compartido de otro usuario
  • Capacidad de emitir archivos multimedia
  • Opciones para compartir archivos subiéndolos al canal
  • Mensajes de chat tanto en el canal como privados con otros usuarios
  • Un cliente específico para usuarios de lectores de pantalla, que se mantiene al día con los últimos avances. Y por si fuera poco, hay un complemento para hacerlo un poco más accesible con NVDA!
  • Muchas otras funciones: grabación de conversaciones, posibilidad de gestionar las suscripciones a lo que envía un usuario concreto, etc.

Descarga de Teamtalk

Ahora que ya sabemos qué es, ¡toca pasar a la acción! La web oficial de Teamtalk es bearware.dk. Para ahorrar tiempo, vamos a poner los enlaces directos de la última versión, que en el momento de última actualización de esta entrada (septiembre de 2021) es la 5.8.1.

Instalación y configuración

Procedimiento automático

Teamtalk es un software tan potente como complejo. Por este motivo, se puede perder mucho tiempo configurándolo, así que hemos decidido facilitarte la tarea.
Si utilizas Windows, ponemos a tu disposición el cliente «Arranca y conecta». Descárgalo, ejecútalo, y aterrizarás directamente en nuestra sala de conferencias, listo para escuchar y participar en el encuentro. Este cliente no tienen ningún misterio: es una copia del cliente accesible de Teamtalk (versión 5.8.1), configurada de una forma determinada y empaquetada para facilitar su ejecución. Y todo ello, sin que tengas que instalar nada:

  • Cliente estándar: utilízalo si asistes como espectador a cualquiera de las ponencias. En este cliente se han desactivado todos los reductores de ruido, se ha configurado el nivel de activación por voz a 0, se ha cambiado el idioma a español y se han eliminado todos los demás idiomas, a excepción del inglés.
  • En el modo específico para ponentes, además de todo lo anterior, se han desactivado todos los eventos de texto a voz, se ha ocultado el panel de chat y se han suprimido los sonidos.

Cuando abras este cliente y llegues a la sala de conferencias, haz lo siguiente:

  • Pulsa f4, navega a la pestaña Sistema de sonido y comprueba que el micrófono y los altavoces sean los correctos. Si no lo son, cámbialos utilizando los cuadros combinados correspondientes y pulsa el botón Aceptar.

Como no todo puede ser perfecto, este cliente tampoco lo es: deberás realizar estos cambios cada vez que lo abras.
Si ya tienes TeamTalk instalado, o usas una plataforma distinta a Windows, disponemos también de un archivo de configuración que te llevará a nuestra sala de conferencias. Puedes abrirlo directamente desde cualquier plataforma para conectarte, o importarlo en tu lista de servidores si usas una de las aplicaciones de escritorio. Si utilizas el cliente para Android, deberás importar el archivo, ya que al abrirlo directamente el programa produce un error.
Pincha aquí para descargar el archivo de configuración.
Si TeamTalk no se abre al descargar el archivo, situación que se da en dispositivos como el iPhone, puedes utilizar este enlace directo para conectarte.

Procedimiento manual

La instalación de Teamtalk en Android, iOs y Windows es relativamente sencilla. En este último caso, tras abrir el instalador, aparecerá el asistente de instalación en inglés y nos irá guiando por el proceso. Podemos pulsar el botón next en la mayoría de las pantallas, pero es importante que en una de ellas, que contiene un cuadro combinado, seleccionemos la opción TeamTalk Classic for Accessibility. De lo contrario se instalará la versión no accesible del programa, que resulta más difícil de manejar.
Si no desmarcamos la casilla correspondiente, el instalador abrirá Teamtalk al finalizar. En ese momento se nos preguntará si queremos agregar una excepción al firewall de Windows. Debemos responder que sí, y aceptar los avisos del control de cuentas de usuario, si aparecen. Al hacerlo, llegaremos por fin a la ventana principal de la aplicación.
Lo primero que haremos ahora que tenemos Teamtalk abierto es ir a sus preferencias y modificar algunos ajustes. Para ello, pulsaremos f4 desde la ventana de la aplicación.
En la pestaña general podemos escribir nuestro nombre, seleccionar nuestro sexo y las opciones de activación de voz. Se recomienda activar ambas, tanto la de activación por voz como la de pulsar para hablar (push to talk). En este último caso habrá que configurar un atajo de teclado, que deberemos mantener pulsado mientras hablemos.
La pestaña Display nos permite cambiar el idioma de Teamtalk y ponerlo en español, elegir si queremos minimizarlo a la bandeja y si queremos que se inicie minimizado, entre otras opciones. Se recomienda desmarcar una casilla llamada «Enable VU-meter updates» para evitar que se muestre una molesta barra de progreso.
La pestaña Sound System nos permite configurar los dispositivos de sonido. En la documentación de Teamtalk nos recomiendan que nos quedemos con Windows Audio Session como motor de sonido. Podemos elegir otros que nos dan más opciones, como Direct Sound, pero hay que tener en cuenta que si lo hacemos se deben elegir los dispositivos de sonido en los cuadros combinados que hay después, no se pueden dejar por defecto.
El resto de pestañas contienen valores que pueden dejarse como están, no es necesario modificarlos. Una vez hayamos configurado Teamtalk a nuestro gusto, podemos pulsar en Aceptar y conectarnos al servidor.

Conexión al servidor

Para abrir el diálogo de conexión puedes ir a la barra de menús, o directamente pulsar f2. Al hacerlo aparecerás en una lista. Pulsa tabulador hasta llegar a un cuadro de edición llamado Dirección del host. Escribe teamtalk.nvda.es y pulsa intro. ¡Tan sencillo como eso! Cuidado, no pulses las flechas en la lista, de lo contrario alterarás los valores por defecto y no podrás conectarte. Si ya te ha ocurrido esto, pulsa escape para cerrar el diálogo de conexión y vuelve a pulsar f2.
Al conectarte, verás mensajes en el cuadro de edición del historial del chat, y algunos elementos en el árbol. El primero de ellos es el canal raíz. Si pulsas flecha abajo, verás a los usuarios conectados, incluido tú. Si sigues bajando, verás el resto de canales. Pulsa ctrl+j o intro para unirte a ellos, o accede al menú de contexto para ver las opciones disponibles.
Si utilizas las aplicaciones de iPhone o Android, el procedimiento de conexión varía ligeramente. Deberás agregar un nuevo servidor a tu lista de servidores guardados. En nuestro caso, sólo es necesario que rellenes los dos primeros campos: un nombre que te permita reconocer el servidor, y la dirección del mismo, teamtalk.nvda.es. Después podrás conectarte utilizando el botón situado en la lista a tal efecto.

Breve recorrido por la ventana del cliente accesible para Windows

La ventana de Teamtalk está formada por los siguientes elementos, presentados como aparecen al tabular por ellos:

  • Un árbol, en el que aparecerán tanto los canales como los usuarios cuando estemos conectados a un servidor.
  • Una barra deslizante para ajustar el volumen de los altavoces.
  • Una barra deslizante para ajustar la ganancia del micrófono. Se recomienda que su valor no supere el 50%, de lo contrario el ruido generado puede ser catastrófico para el resto de los usuarios.
  • Una barra deslizante para ajustar el nivel de activación del micrófono. Se recomienda ponerla a 0, de lo contrario hay que hacer mucho ruido para que Teamtalk decida transmitir.
  • Un control de pestañas, que permite seleccionar entre chat o archivos. Por el momento, no nos interesa la carga y descarga de archivos, por lo que ignoraremos la segunda pestaña.
  • Un cuadro de edición con el historial de mensajes.
  • Un cuadro de edición para escribir mensajes.
  • Una barra de menús en la que se encuentran muchísimas opciones que podrás utilizar más adelante.

Los canales del servidor de Teamtalk de NVDA.es

Además del canal raíz, hay otros tres canales, y es importante que conozcas algunas particularidades de ellos. Eso sí, ten en cuenta que el chat está disponible en todos.

  • Canal raíz: tiene el códec de audio desactivado por defecto. Esto significa que en este canal sólo se puede usar el chat. Debes verlo como una «entrada» o zona de paso, ideal para permanecer mientras seleccionas otro canal.
  • Foro: es un canal libre para debatir sobre NVDA. Sin embargo, sólo se puede hablar utilizando el método pulsar para hablar (recuerda el atajo que configuraste antes), y no permite que ningún usuario grabe la conversación. Deberás desactivar «Usar activación por voz» desde el menú «yo» para poder hablar, de lo contrario los otros usuarios no te escucharán. Esto se hace para garantizar cierto orden, seguridad y privacidad.
  • Pruebas de sonido: este canal sólo permite tres usuarios conectados a la vez, y ha sido diseñado especialmente para los ponentes, aunque cualquiera puede entrar. Lo ideal es que entres a este canal, busques tu usuario en el árbol, pulses ctrl+4 para suscribirte a tu propia voz y te escuches. En cuanto hayas ajustado los parámetros de volumen, pulsa de nuevo ctrl+4 y únete a otro canal.
  • Sala de conferencias: en este canal hablarán los ponentes del encuentro de NVDA en español. Nadie más puede hablar, a no ser que obtenga permiso explícito del operador del canal, situación que se dará a la hora de hacer preguntas. Es posible que existan salas de conferencia de desdoble, que se señalizarán oportunamente y funcionarán de la misma manera.

Algunos atajos de teclado útiles en la aplicación de escritorio

  • f2: conecta y desconecta del servidor.
  • f4: abre las preferencias.
  • ctrl+shift+a: activa o desactiva la transmisión de voz. Imprescindible tenerla desactivada en el canal foro.
  • f5: permite cambiar rápidamente el nick.
  • f6: cambiar estado entre en línea o ausente, con mensaje opcional si fuera necesario.
  • ctrl+4: suscribirte o anular suscripción a tu propia voz.
  • ctrl+m: silenciar a todos los usuarios.
  • ctrl+j: unirse a un canal.
  • ctrl+l: abandonar el canal sin unirse a otro.

Conclusión

Después de hacer este breve recorrido por Teamtalk, toca despedir la entrada. Te recordamos que también buscamos a alguien que quiera transmitir el encuentro en su emisora de radio, ya que Teamtalk puede ser algo complejo para bastantes usuarios. Para cualquier pregunta o sugerencia, no dudes en escribirnos un comentario debajo, o contactar con nosotros en la lista de correo, las redes sociales o el formulario de contacto de esta web.
¡Hasta la próxima!

Este complemento de NVDA mejora la salida de voz y braille de contenido
matemático. Aunque NVDA ya se integra con MathPlayer, ciertos aspectos
necesitan mejoras, como la falta o incompletitud de traducciones específicas
del idioma, o navegación específica del idioma.

La navegación interactiva divide el contenido matemático en porciones más
pequeñas para la salida de voz o braille, permitiendo seleccionar el
fragmento deseado y el modo de entrega mediante órdenes de teclado. Esto
mejora la comprensión de la estructura y elementos de contenido matemático
extenso, y las relaciones jerárquicas entre elementos.

Además, este complemento de NVDA proporciona la capacidad de escribir
contenido matemático. Mediante el menú de comandos, se puede completar la
tarea sin memorizar el lenguaje LaTeX / AsciiMath. Después de completar el
contenido, se puede convertir el documento a HTML visualmente legible
gracias a la función de visualización y exportación. El documento HTML
facilita debates interactivos con otras personas.

Función de lectura

Access8Math es capaz de leer contenido MathML en navegadores web como
Mozilla Firefox, Google Chrome y Microsoft Edge, así como contenido MathType
en Microsoft Word.

Pulsando la barra espaciadora o la tecla intro en un objeto matemático
MathML, se puede entrar en modo navegación e interactuar con el contenido
moviéndose o haciendo zoom para leer fragmentos.

  • Analizar el significado matemático general del contenido: analiza la
    estructura de MathML, y cuando se cumple una regla específica, se lee en
    voz alta en el significado matemático de la regla
  • Analizar el significado matemático del elemento con contenido: al navegar
    y examinar, anunciará el significado del contenido bajo su contenido
    superior. Por ejemplo, hay dos elementos de marca, y al moverse entre
    ellos los tratará como denominador y numerador

orden de modo de navegación interactiva:

Las siguientes órdenes están disponibles en el modo interactivo de
navegación:

  • «Flecha abajo»: aumenta el zoom en una subparte más pequeña del contenido
    matemático.
  • «Flecha arriba»: saca el zoom hacia una subparte mayor del contenido
    matemático.
  • «Flecha izquierda»: se mueve al contenido matemático anterior.
  • «Flecha derecha»: se mueve al siguiente contenido matemático.
  • «Inicio»: se mueve al principio del contenido matemático completo.
  • «CTRL+c»: copia el código fuente del objeto MathML.
  • «Números del 1 al 9 del bloque numérico»: lee el contenido matemático como
    texto serializado usando las órdenes de revisión de texto de NVDA.
  • «ESC»: sale del modo de navegación.

Función de escritura

Contenido exhaustivo: incorporación de texto plano y contenido matemático

En Windows 11 se debe usar el editor de Access8Math, mientras que en Windows
10 o versiones anteriores se pueden usar tanto el bloc de notas como el
editor de Access8Math. Se recomienda usar el editor incorporado de
Access8Math para escribir contenido exhaustivo.

Para diferenciar entre contenido textual y contenido matemático, se deberían
usar marcadores de separación LaTeX/AsciiMath para encuadrar el área
matemática. En otras palabras, los datos dentro del área del marcador
matemático representan el contenido escrito en LaTeX/AsciiMath, y el
contenido textual fuera del área con marcadores matemáticos representa texto
normal.

| categoría | delimitador de inicio | delimitador de final | | — | — |
— | | LaTeX(paréntesis) | ( | ) | | LaTeX(dólar) | $ | $ | | AsciiMath |
| |

Puedes elegir usar corchetes o dólares para el delimitador LaTeX en las
opciones de escritura.

Gesto de comando (conmutador: NVDA+alt+c)

alt+m: se despliega la ventana de marcar comando, selecciona LaTeX /
AsciiMath y pulsa intro para añadir marcas LaTeX / AsciiMath antes y después
del texto seleccionado actualmente (el cursor actual si no hay texto
seleccionado) y mover el cursor automáticamente a su interior. Introduce el
contenido rápidamente.

alt+l: mostrar la ventana de órdenes de LaTeX. Selecciona el elemento con la
orden LaTeX que quieres añadir y pulsa intro para agregar la sintaxis LaTeX
correspondiente en la posición actual del cursor y desplazar el mismo al
punto de entrada adecuado para introducir el contenido con rapidez.

La ventana de órdenes de LaTeX

  • Muévete a cualquier elemento de comando LaTeX y pulsa letras en inglés
    (a-z) o f1-f12 para establecer atajos
  • Muévete a cualquier elemento de comando LaTeX y pulsa suprimir o retroceso
    para eliminar el atajo que se había configurado
  • Muévete a cualquier elemento de comando LaTeX y pulsa intro para añadir la
    sintaxis LaTeX en la posición del cursor

alt+i: cuando el cursor se detiene en el bloque matemático, puedes
interactuar con él y navegar por su interior

alt+h: se pueden ver y exportar documentos HTML con los datos matemáticos y
textuales convertidos. El contenido de los bloques matemáticos se convierte
a MathML, y se presenta junto al texto para facilitar la lectura visual.

  • Ver: abre el documento HTML convertido con el programa predeterminado del
    sistema que abra la extensión .html.
  • Exportar: empaqueta el documento HTML y el fichero de texto original en un
    archivo comprimido.

alt+t: se pueden convertir los datos del bloque sobre el que se encuentra el
cursor entre AsciiMath y LaTeX (el cursor debe estar sobre el bloque LaTeX o
AsciiMath)

En las opciones de escritura, puedes elegir si se habilitan los gestos de
comando al inicio. Pulsa NVDA+alt+c en el área de edición para activar o
desactivar los gestos de comando, que se pueden cambiar en los gestos de
entrada.

Gestos de navegación de escritura de bloques (conmutador: NVDA+alt+n)

  • alt+flecha izquierda: moverse al principio del bloque de datos anterior
  • alt+flecha abajo: leer el contenido del bloque de datos actual sin moverse
  • alt+flecha derecha: moverse al principio del siguiente bloque de datos
  • alt+inicio: moverse al principio del bloque de datos actual
  • alt+fin: moverse al final del bloque de datos actual
  • alt+shift+flecha izquierda: moverse al bloque de datos anterior y
    seleccionarlo
  • alt+shift+flecha abajo: seleccionar el contenido del bloque de datos
    actual sin moverse
  • alt+shift+flecha derecha: moverse al siguiente bloque de datos y
    seleccionarlo

En las opciones de escritura, puedes elegir si se habilitan los gestos de
navegación por bloques al inicio. Pulsa NVDA+alt+n en el área de edición
para activar o desactivar los gestos de navegación por bloques, que se
pueden cambiar en los gestos de entrada.

Gestos de atajo (conmutador: NVDA+alt+s)

Cuando el cursor esté en el bloque LaTeX, pulsa letras o teclas de f1 a f12
para insertar rápidamente la asociación LaTeX. Pulsa shift+letra o shift+f1
a f12 para leer el LaTeX asociado actualmente a ese atajo. (es necesario
configurar primero la tecla de atajo en el menú de comandos)

En las opciones de escritura, puedes elegir activar los gestos de navegación
rápida al inicio. Pulsa NVDA+alt+s en el área de edición para activar o
desactivar los gestos de navegación rápida, que se pueden cambiar en los
gestos de entrada.

Gestos de letras griegas (conmutador: NVDA+alt+g)

Cuando el cursor esté en el bloque LaTeX, pulsa la letra para insertar
rápidamente la letra griega correspondiente en LaTeX.

Tabla de correspondencia

| Letra en español | Letra griega | LaTeX | | — | — | — | | a | α |
\alpha | | b | β | \beta | | c | θ | \theta | | d | δ | \delta | | e | ε |
\epsilon | | f | φ | \phi | | g | γ | \gamma | | h | η | \eta | | i | ι |
\iota | | k | κ | \kappa | | l | λ | \lambda | | m | μ | \mu | | n | ν | \nu
| | o | ο | \omicron | | p | π | \pi | | r | ρ | \rho | | s | σ | \sigma | |
t | τ | \tau | | u | υ | \upsilon | | v | φ | \psi | | w | ω | \omega | | x
| χ | \chi | | y | ξ | \xi | | z | ζ | \zeta |

Modo de navegación por exploración (conmutador: NVDA+espacio)

Cuando el modo de navegación está activado, el bloque matemático leído por
el cursor móvil indicará el contenido en texto matemático en lugar de los
datos gramáticos originales

Puedes usar las siguientes teclas para mover el cursor de edición y la
navegación interactiva

  • Flecha izquierda: moverse al punto de inicio del bloque de datos anterior
    y leerlo
  • Flecha derecha: moverse al punto de inicio del siguiente bloque de datos y
    leerlo
  • Flecha arriba: se mueve a la línea anterior y lee el contenido de todos
    los bloques de datos de esa línea
  • Flecha abajo: se mueve a la línea siguiente y lee el contenido de todos
    los bloques de datos de esa línea
  • retroceso de página: se mueve diez líneas hacia arriba y lee el contenido
    de todos los bloques de datos de esa línea
  • avance página: se mueve diez líneas hacia abajo y lee el contenido de
    todos los bloques de datos de esa línea
  • inicio: se mueve al primer bloque de la línea donde se encuentra el cursor
  • fin: se mueve al último bloque de la línea donde se encuentra el cursor

Utiliza las teclas del cursor junto con la tecla shift para seleccionar
texto

espacio o intro: cuando el cursor se detiene en un bloque matemático, puede
interactuar con el contenido matemático del bloque de datos y navegar por él

Las siguientes teclas desplazan por sí mismas el cursor de edición al
siguiente bloque disponible, mientras que al añadirles shift se mueven al
bloque anterior:

  • l: moverse al siguiente bloque de datos LaTeX y leerlo
  • a: moverse al siguiente bloque de datos AsciiMath y leerlo
  • m: moverse al siguiente bloque de datos MathML y leerlo
  • t: moverse al siguiente bloque de texto y leerlo
  • tab: se mueve al siguiente bloque interactivo (bloque matemático) y lo lee

Se pueden usar los siguientes gestos para editar contenidos

  • ctrl+x: corta el bloque en el que se encuentra el cursor
  • ctrl+c: copia el bloque en el que se encuentra el cursor
  • ctrl+v: pega el contenido después del bloque en el que se encuentra el
    cursor
  • suprimir o retroceso: elimina el bloque sobre el que se encuentra el
    cursor

Editor de Access8Math y documento de Access8Math

El área de edición del bloc de notas en Windows 11 es un área de edición
enriquecida, no un área de edición tradicional. Por eso se debe usar el
editor de Access8Math en Windows 11 para emplear la función de
escritura. Este editor proporciona funciones como la apertura de archivos
antiguos, guardar archivos, y función de visualización.

Usa el editor de Access8Math para redactar documentos Markdown. Si el
documento dispone de recursos adicionales, se pueden añadir al espacio de
trabajo y referenciarlos. Al usar la función de exportación del editor, los
recursos referidos en el documento se empaquetarán en un archivo. El editor
se encargará de hacerlo.

La función de previsualizar y exportar del menú ver es la misma que la
función asociada al gesto de visualizar (alt+h), que puede generar un
documento de Access8Math. La única diferencia entre ambas es que el editor
de Access8Math empaquetará los recursos referenciados en un archivo

Para permitir importar y editar otra vez un documento exportado desde
Access8Math, el editor de Access8Math escribirá un archivo access8math.json
al exportar, que contiene los metadatos. Llamamos al archivo o carpeta que
contiene este fichero un documento Access8Math

En el explorador de archivos, se puede pulsar NVDA+aplicaciones si la ruta
seleccionada es un archivo de texto o un documento Access8Math, y se abrirá
un menú de contexto virtual que permitirá abrir o editar el archivo
rápidamente.

ejemplo de contenido:

  • LaTeX(con separador de paréntesis): La solución de la ecuación cuadrática
    en una variable (ax2+bx+c=0) es (\frac{-b\pm\sqrt{b2-4ac}}{2a}) .
  • LaTeX(con el separador de dólar): La solución de una ecuación cuadrática
    en una variable $ax2+bx+c=0$ es $\frac{-b\pm\sqrt{b2-4ac}}{2a}$ .
  • AsciiMath: La solución de la ecuación cuadrática en una variable
    ax^2+bx+c=0 es x=(-b+- \sqrt(b^2-4ac))/(2a) .
  • MathML: La solución de la ecuación cuadrática en una variable ax2+bx+c=0
    es −b±b2−4ac2a
    .

opciones

Todos los ajustes de Access8math están centralizados en Herramientas -> Access8math -> Opciones

Opciones de lectura

  • Idioma: idioma de lectura de Access8Math
  • Analizar el significado matemático del contenido: analiza el contenido
    matemático semánticamente, y cuando se cumpla una regla específica, se
    usará esa regla en la verbalización.
  • mostrar ventana de interacción de Access8math al entrar al modo
    interactivo: indica si se muestra la «ventana de interacción de
    Access8math» al activar el evento de modo de navegación de interacción en
    un objeto matemático
  • Leer significado predefinido en el diccionario al navegar en modo
    interactivo: si el patrón está definido en el diccionario, se usa para
    leer el significado de una subparte a nivel de capa superior.
  • Leer el significado autogenerado al navegar en modo interactivo: cuando el
    patrón no está bien definido o está incompleto en el diccionario, utiliza
    la función de generación automática para leer el significado de una parte
    en el nivel superior.
  • usar pitido para indicar que no hay movimiento en el modo de navegación
    por interacción
  • Intervalo de tiempo del elemento: establece el tiempo de pausa entre
    elementos. Admite valores entre 1 y 100. Cuanto menor sea el valor menos
    durará la pausa, y cuanto mayor sea más durará.

Opciones de escritura

  • Activar gestos de comando al arrancar
  • Activar gestos de navegación por bloques al arrancar
  • Activar gestos de atajo al arrancar
  • Usar indicación de audio cuando se alterne el modo de navegación
  • Mostrar documento HTML:
  • Mostrar HTML matemático:
  • Delimitador LaTeX:

Configuración de reglas: elige si se activan reglas específicas

Lector matemático

  • Origen de voz:
  • Origen de Braille:
  • Origen de interacción:

traducción

Si quieres que Access8Math proporcione salida de información en voz y braille en otros idiomas, debes crear un diccionario Unicode (unicode.dic) y reglas matemáticas (math.rule). Esto se puede hacer desde la interfaz de Access8Math -> Traducción, o consultando globalPlugins/Access8Math/locale en la carpeta del complemento.

El «Diccionario Unicode» permite personalizar la salida de voz y braille de
símbolos y caracteres. Las «reglas matemáticas» permiten personalizar la
salida de voz y braille de diferentes tipos de matemáticas.

El diálogo «Añadir nuevo idioma» permite añadir un nuevo idioma no
incorporado en Access8Math. El nuevo idioma aparecerá en la selección de
idiomas de las opciones de lectura, permitiendo la definición en voz y
braille mediante el diccionario Unicode y las reglas matemáticas, dando como
resultado una traducción.

Reglas matemáticas

Access8Math establece 46 reglas matemáticas según el tipo matemático y la
lógica para decidir el orden y método de lectura matemática. En función de
lógica local de lectura matemática, el texto y orden de lectura matemática
puede cambiarse. El método es como sigue:

Editar: tras entrar en la «regla matemática», la ventana lista 46 reglas
matemáticas. Elige cualquiera de ellas y pulsa «Editar» para modificar la
entrada.

La «edición de entrada» puede dividirse en dos bloques principales, el
«orden serializado» y el «rol del hijo».

  • Orden serializado: la regla matemática se divide en varios bloques según
    el orden de lectura. En este área, el orden de lectura del nodo hijo y el
    texto de delimitación del inicio, la mitad y el final puede
    cambiarse. Tomando la regla fraccional mfrac como ejemplo, esta regla se
    divide en cinco bloques de lectura. Los órdenes 0, 2 y 4 representan el
    símbolo inicial, el símbolo de proyección de la segmentación y el símbolo
    final, respectivamente, y sus textos de significado pueden cambiarse en
    cada campo. Los órdenes 1 y 3 ajustan la secuencia de lectura del nodo
    hijo, que puede modificarse en el menú desplegable.
  • Rol del hijo: el subelemento del siguiente nivel de la regla
    matemática. Tomando la regla fraccional mfrac como ejemplo, la regla
    contiene el numerador y el denominador. El significado del subcontenido
    dentro del contenido de nivel superior puede cambiarse en el campo de rol
    del nodo hijo.

Ejemplo: puedes probar el orden de lectura de la regla matemática tras
editarla. Después de pulsarlo, se presenta un contenido matemático que
contiene la regla elegida para confirmar si el método de lectura es el
esperado.

Restaurar por defecto: restaura la lista de reglas matemáticas a sus valores
por defecto.

Importar: importa archivos con reglas matemáticas, que pueden servir para
cargar reglas nuevas.

Exportar: guarda el fichero de reglas matemáticas a la ruta especificada
para que pueda compartirse o conservarse.

ejemplo

Los contenidos matemáticos en wikis están escritos en MathML.

  • Ecuación cuadrática: https://en.wikipedia.org/wiki/Quadratic_equation
  • Multiplicación de matrices (en inglés):
    https://en.wikipedia.org/wiki/Matrix_multiplication
  • Función cúbica (en inglés): https://en.wikipedia.org/wiki/Cubic_function

Ecuación de segundo grado

  • LaTeX: (ax2+bx+c=0)
  • MathML: -b±b2-4ac2a

github: https://github.com/tsengwoody/Access8Math

No dudes en informar de cualquier fallo que encuentres o comentar lo que
quieras, ¡gracias!

Registro de actualización de Access8Math

Actualización de Access8Math v3.5

  • Se pueden distinguir correctamente los vectores y las rayas
  • Se utiliza un diálogo para mostrar recursos de imagen, vídeo o audio en un
    documento HTML de Access8Math
  • Se usa una nueva ventana para abrir enlaces de un documento HTML de
    Access8Math
  • Se exporta el espacio de nombres MathML al copiar MathML desde el objeto
    matemático en el modo de navegación interactivo
  • Se muestran los ajustes de fuente y la función de buscar y reemplazar en
    el editor
  • Compatibilidad con NVDA 2023.1

Actualización de Access8Math v3.4

  • Se mueven las fuentes de habla, braille e interacción a Preferencias ->
    Opciones -> Categoría Math Reader.
  • Se ha integrado MathCat. Ahora puedes elegir qué fuente de habla, braille
    e interacción (Access8Math/Math Player/MathCAT) necesitas desde el panel
    de opciones de Math Reader al tener instalados Math Player o MathCAT.
  • Se usa un diálogo de categorías para recopilar todos los diálogos de
    opciones.
  • Pulsa NVDA+alt+e para abrir un archivo de texto con el editor incorporado
    en el explorador de archivos.
  • En los menús virtuales, los submenús pueden abrirse con intro
  • Se implementa la etiqueta de regla menclose de MathML
  • nueva función: menú de contexto virtual en el explorador de
    archivos. Puede abrir rápidamente documentos Access8Math para verlos o
    editarlos (consulta las secciones «Editor de Access8Math» y «Documentos de
    Access8Math» para obtener más detalles)

Actualización de Access8Math v3.3

  • Se añade un editor incorporado que utiliza el área de edición tradicional
    porque Windows 11 ha cambiado a un área de edición basada en UIA
  • función en el editor incorporado para crear nuevo / abrir / guardar
  • El ajuste inicial de idioma de Access8math se basa en el idioma
    configurado en NVDA
  • Se mejoran la voz y el braille en los menús virtuales
  • Compatibilidad con NVDA 2022.1
  • Corregido un problema por el que el menú marcado no se abría si el
    documento estaba vacío
  • Corregida la función de traducción entre LaTeX y AsciiMath
  • Corregido un problema de renderizado del documento HTML cuando se elige la
    opción de texto en los ajustes sobre cómo mostrar el documento HTML

Actualización de Access8Math v3.2

  • Nueva función «" para separar bloques de datos. Los bloques encerrados
    entre "
    » son datos AsciiMath
  • Nuevos atajos de edición en el modo de navegación de exploración cortar
    (ctrl+x), copiar (ctrl+c), pegar (ctrl+v) y eliminar (suprimir/retroceso)
  • Nuevo atajo para moverse entre bloques de datos interactivos en el modo de
    navegación por exploración (tab) y entre bloques de datos AsciiMath (a)
  • Se cambia el modo en el que se mueve el cursor en modo navegación por
    exploración. Ahora se usan las flechas arriba, abajo, izquierda y derecha,
    y se leen los contenidos del bloque de datos después del desplazamiento.
  • Cuando el cursor se mueve en el modo de navegación por exploración, el
    bloque de datos matemáticos leerá el contenido textual serializado de las
    matemáticas en lugar del código fuente
  • Cuando el cursor esté en el bloque de datos matemáticos en el modo de
    navegación por exploración, pulsa espacio o la tecla intro para
    interactuar con el bloque de contenido matemático.
  • Nueva función que permite configurar las teclas en inglés como atajos
  • Nueva función de gesto de atajo para el alfabeto griego
  • La entrada de la tecla de atajo sólo se aplica en el área LaTeX
  • se puede configurar la indicación mediante voz o sonidos cuando se alterne
    el modo de navegación por exploración
  • El menú de comandos de LaTeX se puede abrir en el área de texto y se
    pueden insertar separadores LaTeX al insertar comandos LaTeX
  • Nuevo menú de traducción, que puede convertir el formato de datos del
    bloque en el que se encuentra el cursor entre AsciiMath y LaTeX. Pertenece
    al grupo de gestos de comando. Cuando el cursor esté en el bloque
    AsciiMath o LaTeX, pulsa alt+t para abrir el menú de traducción (ctrl+t en
    el modo de navegación por exploración)
  • Nuevo menú de lotes, que puede convertir el formato de los datos del
    documento entero entre AsciiMath y LaTeX, y puede convertir el separador
    LaTeX entre paréntesis y dólar. Pertenece al grupo de gestos de
    comando. Pulsa alt+b para abrir el menú de lotes
  • Añadido tipo de bloque MathML, soporta alt+i, navegación de una sola letra
    con la «m», movimiento con el tabulador en el modo de navegación por
    exploración
  • Nueva función de reglas matemáticas en braille personalizadas y
    diccionario Unicode, que funcionan igual que con la voz
  • El HTML exportado se puede mostrar con Markdown
  • En el HTML exportado, se añaden el nombre de archivo y el título de la
    página a partir del título de la ventana del bloc de notas.

Actualización de Access8Math v3.1

  • Las ventanas HTML ahora se presentan como menú virtual
  • Corregido un problema por el que no se puede convertir la vista HTML
    cuando el texto incluye el carácter «`»
  • Si la cantidad de palabras en el documento supera las 4096, el contenido
    no se convertirá a la vista HTML
  • Añadidos comandos LaTeX de conjuntos matemáticos
  • Se actualiza alt+m para insertar las marcas LaTeX «(» y «)» antes y
    después del texto seleccionado (si no hay texto seleccionado, se hace en
    la posición actual del cursor)
  • En las opciones generales, se puede elegir si el contenido matemático
    exportado en HTML se presenta en una línea independiente (bloque o en
    línea)
  • Al exportar HTML, el fichero de texto original se guarda en el archivo
    comprimido
  • En las opciones generales, se puede elegir el uso de corchetes o símbolos
    monetarios como delimitador LaTeX
  • En las opciones generales, se puede elegir el origen de la voz, el braille
    y la interacción (Access8math o MathPlayer)
  • Gestos individuales para activar y desactivar los atajos, la navegación
    por bloques y la escritura
  • se puede cambiar el origen de voz, braille o interacción con un gesto
    (Access8math o MathPlayer)

Actualización de Access8Math v3.0

  • Escribir contenido matemático en AsciiMath
  • Escribir contenido matemático en LaTeX
  • Escribir contenido mixto (texto y matemáticas)
  • Usar atajos de teclado para mover el cursor a distintos tipos de bloques
    en el cuadro de edición
  • Usar el menú de órdenes para seleccionar órdenes en el cuadro de edición
  • Configurar atajos de teclado en el menú de órdenes de LaTeX
  • Revisar y exportar contenido del cuadro de edición en HTML

Actualización de Access8Math v2.6

  • Se entra automáticamente en el modo interactivo al mostrar la ventana de
    interacción de Access8Math.
  • Puedes elegir cómo avisar de que no hay movimiento en el modo interactivo:
    pitar o verbalizar «sin movimiento» dos veces.
  • El contenido del elemento actual se repetirá otra vez si no hay
    movimiento.

Actualización de Access8Math v2.5

  • Añadida traducción al ruso de reglas e interfaz de usuario. Gracias al
    trabajo de traducción de Futyn-Maker.
  • Corregido un fallo de traducción de símbolos compuestos.
  • Se eliminan duplicados de letras minúsculas y se añaden letras mayúsculas
    en el unicode.dic inglés (0370~03FF).

Actualización de Access8Math v2.4

  • Fallo corregido.

Actualización de Access8Math v2.3

  • Compatibilidad con Python 3
  • se refactoriza el módulo y se corrige el estilo del código
  • Se añade una regla de vector de un símbolo

Actualización de Access8Math v2.2

  • se corrige un fallo de verbalización incorrecta cuando un único nodo tiene
    más caracteres.
  • Se corrige un problema de compatibilidad en NVDA 2019.2, gracias a las
    solicitudes de cambio de CyrilleB79.
  • Se corrige un fallo en el diccionario Unicode con símbolos duplicados.
  • Se ha añadido la traducción al francés, gracias al trabajo de traducción
    de CyrilleB79.
  • Se ajustan los atajos de teclado.

Actualización de Access8Math v2.1

  • En «Opciones generales» se puede elegir si la «ventana de interacción de
    Access8Math» se muestra automáticamente al entrar en modo interacción.
  • En el modo interactivo, se puede mostrar manualmente la «ventana de
    interacción» pulsando ctrl+m cuando no se muestra por defecto.
  • Corregido fallo de cambio entre varios idiomas.
  • Se ha añadido la traducción al turco, gracias al trabajo de traducción de
    cagri (çağrı doğan).
  • Actualización de los indicadores del fichero manifest.ini para dar
    compatibilidad con NVDA 2019.1.
  • Optimización del código fuente de las ventanas de diálogo.

Actualización de Access8Math v2.0

  • Se han añadido ajustes multiidioma personalizables, y tres ventanas
    nuevas: «Diccionario Unicode», «Regla matemática» y «Añadir nuevo idioma»
  • El «diccionario Unicode» puede personalizar la forma de leer el texto de
    cada símbolo matemático.
  • «Regla matemática» puede personalizar el método de lectura y previsualizar
    la modificación mediante el botón de ejemplo antes de aplicar los cambios.
  • «Añadir nuevo idioma» permite añadir un nuevo idioma no incorporado en el
    sistema. El nuevo idioma se añadirá a las opciones generales, y la
    personalización multiidioma se puede llevar a cabo mediante las
    definiciones de lectura del «diccionario Unicode» y las «reglas
    matemáticas».
  • mejoras en el modo interactivo: se pueden usar las teclas numéricas del 7
    al 9 para leer secuencias de texto en la unidad de línea.

Registro de actualización de Access8Math v1.5

  • En el diálogo «Opciones generales» se añade un ajuste de pausa entre
    elementos. Admite valores entre 1 y 100. Cuanto más pequeño sea el valor
    más corta será la pausa, y cuanto más alto más larga.
  • Corregido un fallo que impedía que el diálogo de configuración guardara
    los ajustes en NVDA 2018.2.

Registro de actualización de Access8Math v1.4

  • El diálogo de configuración se divide en los diálogos «Opciones generales»
    y «configuración de reglas». «Opciones generales» es el antiguo diálogo
    «Ajustes de Access8Math», y el diálogo «Configuración de reglas» sirve
    para seleccionar si se habilitan ciertas reglas.
  • Nuevas reglas

    • regla de vector: cuando hay un símbolo «⇀» encima de dos
      identificadores, el elemento se lee como «vector…».
    • regla del ceño fruncido: cuando hay un símbolo » ⌢ » sobre dos
      identificadores, el elemento se lee como «ceño fruncido».
  • Fallo corregido.

Registro de actualización de Access8Math v1.3

  • Nueva regla

    • regla positivo: lee «positivo» en vez de «más» cuando haya un signo
      más en el primer elemento o el elemento anterior sea un operador
      concreto.
    • regla del cuadrado: cuando el exponente de la potencia sea 2, el
      elemento se lee como «al cuadrado».
    • regla cúbica: cuando el exponente de la potencia sea 3, el elemento se
      lee como «al cubo».
    • regla de línea: cuando haya un síbolo «↔» sobre dos identificadores,
      el elemento se lee como «línea…».
    • regla del segmento de línea: cuando haya un símbolo «¯» sobre dos
      identificadores, el elemento se lee como «segmento de línea…».
    • regla de la raya: cuando haya un símbolo «→» sobre dos
      identificadores, el elemento se lee como «raya…»
  • Se ha añadido una ventana de interacción: se puede pulsar «espacio» en el
    contenido matemático para abrir la «ventana de interacción de
    Access8Math», que contiene los botones «Copiar» e «Interactuar».

    • interacción: en el contenido matemático para navegar y explorar.
    • copiar: copia el código fuente del objeto MathML.
  • Añadido idioma de interfaz zh_CN (.po).

  • Ajuste de la relación de herencia entre reglas para asegurar el uso
    adecuado de las reglas apropiadas y evitar conflictos.
  • Fallo corregido.

Registro de actualización de Access8Math v1.2

  • Nueva regla

    • regla del número negativo: lee ‘negativo’ en vez de ‘signo menos’
      cuando el signo menos sea el primer elemento o su elemento anterior
      sea un operador concreto.
    • regla de suma de entero y fracción: lee ‘suma’ entre el entero y la
      fracción cuando el elemento anterior a una fracción sea un entero.
  • Mejora de la arquitectura del programa

    • se ha añadido una clase hermana
    • se ha añadido una clase de generación dinámica complementaria
  • Fallo corregido

Registro de actualización de Access8Math v1.1

  • En el modo de órdenes de navegación, «ctrl+c» copia el código fuente del
    objeto MathML.
  • Diálogo de Opciones en preferencias:

    • Idioma: idioma de lectura de Access8Math en el contenido matemático.
    • Analizar el significado matemático del contenido: analiza el contenido
      matemático semánticamente, siguiendo reglas específicas, leyendo el
      significado matemático de esas reglas.
    • Leer el significado del patrón definido en el diccionario: cuando hay
      un patrón definido en el diccionario, utiliza el diccionario para leer
      el significado de una parte en el nivel superior.
    • Leer el significado de patrón autogenerado: cuando el patrón no está
      bien definido o está incompleto en el diccionario, utiliza la función
      de generación automática para leer el significado de una parte en el
      nivel superior.
  • Se han añadido algunas reglas simples. Las reglas únicas son versiones
    simplificadas de diversas reglas. Cuando el contenido sólo tenga un
    elemento, para que se entienda mejor y se lea sin confusión, puedes omitir
    la lectura de los elementos anteriores y posteriores al contenido.

  • Actualizado unicode.dic.
  • Fallo corregido.