Hola a todos.
Como sabéis, NVDA no lee las listas de definición al navegar por la web, como sí hacen Jaws, Orca o VoiceOver. Estoy intentando ponerle remedio, pero no conozco lo suficiente el código del modo exploración. Estoy dando vueltas entre los módulos browseMode, textInfos y treeInterceptor. Mientras tanto, he tenido un gran éxito con el navegador de objetos. Las listas de definición ya se leen adecuadamente con él tanto en Mozilla como en Chromium. Dejo el fragmento relevante que tengo en el scratchpad, todavía sin cadenas traducibles ni nada.
class DefinitionList(List):
roleText = "Lista de definición"
class DefinitionTerm(IAccessible):
roleText = "Término"
class DefinitionDescription(IAccessible):
roleText = "Descripción"
En la clase GlobalPlugin:
def chooseNVDAObjectOverlayClasses(self, obj, clsList):
if hasattr(obj, 'IA2Attributes') and "tag" in
list(obj.IA2Attributes.keys()) and obj.IA2Attributes['tag']=='dl':
clsList.append(DefinitionList)
clsList.remove(List)
if hasattr(obj, 'IA2Attributes') and "tag" in
list(obj.IA2Attributes.keys()) and obj.IA2Attributes['tag']=='dt':
clsList.append(DefinitionTerm)
if hasattr(obj, 'IA2Attributes') and "tag" in
list(obj.IA2Attributes.keys()) and obj.IA2Attributes['tag']=='dd':
clsList.append(DefinitionDescription)
Estoy usando atributos de clase porque los de objeto en el
constructor no hacían efecto. A ver si con un poco de ayuda lo
sacamos adelante.
Un saludo.
José Manuel Delicado Alcolea
Equipo de gestión web y desarrollo


Asociación Comunidad Hispanohablante de NVDA
- Tel.: (+34) 910 05 33 25 ext.
2001
- jm.de...@nvda.es
- www.NVDA.es
- @nvda_es
***Este mensaje y sus adjuntos están dirigidos a su destinatario
y pueden contener información exclusiva o confidencial. La
utilización, copia o divulgación de los mismos por parte de
alguien diferente a dicho destinatario no está permitida sin
autorización. Si ha recibido este mensaje por error, le rogamos
que lo comunique por esta misma vía y seguidamente lo
destruya.***