Index: src/orca/flat_review.py
===================================================================
--- src/orca/flat_review.py	(revision 4041)
+++ src/orca/flat_review.py	(working copy)
@@ -1557,13 +1557,50 @@
            or (not self.lines[self.lineIndex].zones):
             return
 
-        [string, x, y, width, height] = self.getCurrent(Context.CHAR)
+        obj = self.getCurrentAccessible()
+        area = Context.CHAR
         try:
+            # Pylint is confused and flags this and similar lines, with the 
+            # following error:
+            #
+            # E1103:1563:Context.clickCurrent: Instance of 'list' has no
+            # 'queryAction' member (but some types could not be inferred)
+            #
+            # But it does, so we'll just tell pylint that we know what we
+            # are doing.
+            #
+            # pylint: disable-msg=E1103
+            #
+            action = obj.queryAction()
+        except:
+            pass
+        else:
+            for i in range(0, action.nActions):
+                name = action.getName(i)
+                # Translators: this is the action name for the 'click'
+                # action associated with a widget.
+                #
+                clickableActions = ["click", _("click")]
+                # Translators: this is the action name for the 'press'
+                # action associated with a widget.
+                #
+                clickableActions.extend(["press", _("press")])
+                if name in clickableActions:
+                    area = Context.WORD
+                    break
 
-            # We try to click to the left of center.  This is to
-            # handle toolkits that will offset the caret position to
-            # the right if you click dead on center of a character.
-            #
+        [string, x, y, width, height] = self.getCurrent(area)
+        # We try to click to the left of center for items which
+        # do not have a click-related action. This is to handle
+        # toolkits that will offset the caret position to the
+        # right if you click dead on center of a character. For
+        # items which do have an associated click-related action,
+        # we want to aim for the center to ensure that we click
+        # on the item.
+        #
+        if area == Context.WORD:
+            x = x + width / 2
+        try:
             eventsynthesizer.clickPoint(x,
                                         y + height/ 2,
                                         button)
