[orca] Check for both focusable and focused states when determining text block elements



commit 21567b54a722d63422915eb4cf3c96489a31051d
Author: Joanmarie Diggs <jdiggs igalia com>
Date:   Sun Sep 21 20:31:08 2014 -0400

    Check for both focusable and focused states when determining text block elements
    
    Some widgets, such as the Dojo combo box list, lack state focusable even
    when focused. This check is a safe-enough workaround.

 .../scripts/toolkits/Gecko/script_utilities.py     |    5 ++++-
 test/keystrokes/firefox/aria_combobox_dojo.py      |    3 ++-
 test/keystrokes/firefox/line_nav_simple_form.py    |    4 ++--
 3 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/src/orca/scripts/toolkits/Gecko/script_utilities.py 
b/src/orca/scripts/toolkits/Gecko/script_utilities.py
index c563177..860f69a 100644
--- a/src/orca/scripts/toolkits/Gecko/script_utilities.py
+++ b/src/orca/scripts/toolkits/Gecko/script_utilities.py
@@ -867,8 +867,11 @@ class Utilities(script_utilities.Utilities):
         if state.contains(pyatspi.STATE_EDITABLE):
             return False
 
+        if role == pyatspi.ROLE_DOCUMENT_FRAME:
+            return True
+
         if not state.contains(pyatspi.STATE_FOCUSABLE) \
-           or role == pyatspi.ROLE_DOCUMENT_FRAME:
+           and not state.contains(pyatspi.STATE_FOCUSED):
             return True
 
         return False
diff --git a/test/keystrokes/firefox/aria_combobox_dojo.py b/test/keystrokes/firefox/aria_combobox_dojo.py
index 70c6382..4c6381e 100644
--- a/test/keystrokes/firefox/aria_combobox_dojo.py
+++ b/test/keystrokes/firefox/aria_combobox_dojo.py
@@ -7,6 +7,7 @@ import utils
 
 sequence = MacroSequence()
 
+sequence.append(PauseAction(5000))
 sequence.append(KeyComboAction("Tab"))
 sequence.append(KeyComboAction("Tab"))
 
@@ -118,7 +119,7 @@ sequence.append(utils.AssertPresentationAction(
     "10. Basic Where Am I - Combo box expanded",
     ["BRAILLE LINE:  'California (CA)'",
      "     VISIBLE:  'California (CA)', cursor=1",
-     "SPEECH OUTPUT: 'list item California (CA)'"]))
+     "SPEECH OUTPUT: 'list item California (CA) 1 of 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Escape"))
diff --git a/test/keystrokes/firefox/line_nav_simple_form.py b/test/keystrokes/firefox/line_nav_simple_form.py
index 3718704..9991227 100644
--- a/test/keystrokes/firefox/line_nav_simple_form.py
+++ b/test/keystrokes/firefox/line_nav_simple_form.py
@@ -176,7 +176,7 @@ sequence.append(utils.AssertPresentationAction(
     "20. line Up",
     ["BRAILLE LINE:  '      $l'",
      "     VISIBLE:  '      $l', cursor=1",
-     "SPEECH OUTPUT: '     '"]))
+     "SPEECH OUTPUT: 'Tell me a little more about yourself: entry      '"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -209,7 +209,7 @@ sequence.append(utils.AssertPresentationAction(
     "24. line Up",
     ["BRAILLE LINE:  'I am a monkey with a long tail.  I like  $l'",
      "     VISIBLE:  'I am a monkey with a long tail. ', cursor=1",
-     "SPEECH OUTPUT: 'Tell me a little more about yourself: entry I am a monkey with a long tail.  I like 
'"]))
+     "SPEECH OUTPUT: 'I am a monkey with a long tail.  I like '"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))


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