Lectura de listas de definición en la web (técnico, fragmentos de código)

7 views
Skip to first unread message

José Manuel Delicado Alcolea

unread,
Sep 2, 2026, 3:03:57 AMSep 2
to nvd...@googlegroups.com

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
Experto certificado en NVDA

Logotipo de la comunidad hispanohablante de NVDA
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.***

OpenPGP_0xB1D2FAEB3B4FD3EF_and_old_rev.asc
OpenPGP_signature.asc
Reply all
Reply to author
Forward
0 new messages