[orca] Fall back on the description for displayed text in dialogs and alerts



commit a1db040299eaa2c4d70d49e5df919deb5b50be43
Author: Joanmarie Diggs <jdiggs igalia com>
Date:   Mon Jan 15 13:20:09 2018 -0500

    Fall back on the description for displayed text in dialogs and alerts

 src/orca/formatting.py                   |    6 +++---
 src/orca/scripts/web/speech_generator.py |   10 +++++++---
 2 files changed, 10 insertions(+), 6 deletions(-)
---
diff --git a/src/orca/formatting.py b/src/orca/formatting.py
index 36f21eb..7382122 100644
--- a/src/orca/formatting.py
+++ b/src/orca/formatting.py
@@ -127,7 +127,7 @@ formatting = {
             'detailedWhereAmI' : 'pageSummary'
             },
         pyatspi.ROLE_ALERT: {
-            'unfocused': 'labelOrName + roleName + pause + (expandedEOCs or unrelatedLabels)'
+            'unfocused': 'labelOrName + roleName + pause + (expandedEOCs or unrelatedLabels or description)'
             },
         pyatspi.ROLE_ANIMATION: {
             'unfocused': 'labelAndName'
@@ -182,8 +182,8 @@ formatting = {
             'basicWhereAmI': 'labelOrName + roleName + value + percentage + ' + MNEMONIC + ' + accelerator + 
required'
             },
         pyatspi.ROLE_DIALOG: {
-            'focused': 'labelOrName + roleName',
-            'unfocused': 'expandedEOCs or (labelOrName + unrelatedLabels)'
+            'focused': 'labelOrName + roleName + description',
+            'unfocused': 'expandedEOCs or (labelOrName + (unrelatedLabels or description))'
             },
         pyatspi.ROLE_DOCUMENT_FRAME: {
             'unfocused': 'label + readOnly + textRole + currentLineText + anyTextSelection + ' + MNEMONIC,
diff --git a/src/orca/scripts/web/speech_generator.py b/src/orca/scripts/web/speech_generator.py
index eed2462..837f2f9 100644
--- a/src/orca/scripts/web/speech_generator.py
+++ b/src/orca/scripts/web/speech_generator.py
@@ -113,15 +113,19 @@ class SpeechGenerator(speech_generator.SpeechGenerator):
         return []
 
     def _generateDescription(self, obj, **args):
-        if self._script.utilities.isZombie(obj) \
-           or obj != orca_state.locusOfFocus:
+        if self._script.utilities.isZombie(obj):
+            return []
+
+        role = args.get('role', obj.getRole())
+        if obj != orca_state.locusOfFocus:
+            if role in [pyatspi.ROLE_ALERT, pyatspi.ROLE_DIALOG]:
+                return super()._generateDescription(obj, **args)
             return []
 
         formatType = args.get('formatType')
         if formatType == 'basicWhereAmI' and self._script.utilities.isLiveRegion(obj):
             return self._script.liveRegionManager.generateLiveRegionDescription(obj, **args)
 
-        role = args.get('role', obj.getRole())
         if role == pyatspi.ROLE_TEXT and formatType != 'basicWhereAmI':
             return []
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]