Index: src/orca/structural_navigation.py
===================================================================
--- src/orca/structural_navigation.py	(revision 4313)
+++ src/orca/structural_navigation.py	(working copy)
@@ -3149,7 +3149,7 @@
         """
 
         role = [pyatspi.ROLE_TABLE]
-        return MatchCriteria(collection, roles=role)
+        return MatchCriteria(collection, roles=role, applyPredicate=True)
 
     def _tablePredicate(self, obj, arg=None):
         """The predicate to be used for verifying that the object
@@ -3161,7 +3161,7 @@
           the criteria (e.g. the level of a heading).
         """
 
-        return (obj and obj.getRole() == pyatspi.ROLE_TABLE)
+        return (obj and obj.childCount and obj.getRole() == pyatspi.ROLE_TABLE)
 
     def _tablePresentation(self, obj, arg=None):
         """Presents the table or indicates that one was not found.
