orca r4399 - in trunk: . src/orca/scripts/toolkits/Gecko



Author: joanied
Date: Fri Jan  2 21:02:45 2009
New Revision: 4399
URL: http://svn.gnome.org/viewvc/orca?rev=4399&view=rev

Log:
* src/orca/scripts/toolkits/Gecko/speech_generator.py:
  Fix for bug #566361 - Orca inappropriately announces the name of
  table cells as part of the context in Firefox 3.2.



Modified:
   trunk/ChangeLog
   trunk/src/orca/scripts/toolkits/Gecko/speech_generator.py

Modified: trunk/src/orca/scripts/toolkits/Gecko/speech_generator.py
==============================================================================
--- trunk/src/orca/scripts/toolkits/Gecko/speech_generator.py	(original)
+++ trunk/src/orca/scripts/toolkits/Gecko/speech_generator.py	Fri Jan  2 21:02:45 2009
@@ -698,12 +698,21 @@
             # Also skip the parent if its accessible text is a single 
             # EMBEDDED_OBJECT_CHARACTER: Script.getDisplayedText will
             # end up coming back to the child of an object for the text
-            # if an object's text contains a single EOC.
+            # if an object's text contains a single EOC. In addition,
+            # beginning with Firefox 3.2, a table cell may derive its
+            # accessible name from focusable objects it contains (e.g.
+            # links, form fields). getDisplayedText will return the
+            # object's name in this case (because of the presence of
+            # the EOC and other characters). This causes us to be
+            # chatty. So if it's a table cell which contains an EOC,
+            # we will also skip the parent.
             #
             parentText = self._script.queryNonEmptyText(parent)
             if parentText:
                 unicodeText = parentText.getText(0, -1).decode("UTF-8")
-                if unicodeText == self._script.EMBEDDED_OBJECT_CHARACTER:
+                if self._script.EMBEDDED_OBJECT_CHARACTER in unicodeText \
+                   and (len(unicodeText) == 1 \
+                        or role == pyatspi.ROLE_TABLE_CELL):
                     parent = parent.parent
                     continue
 



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