def _generateNumberOfChildren(self, obj, **args): if _settingsManager.getSetting('onlySpeakDisplayedText'): return [] result = [] acss = self.voice(speech_generator.SYSTEM) role = args.get('role', obj.getRole()) if role == pyatspi.ROLE_LIST: result.append(messages.listItemCount(obj.childCount)) result.extend(acss) else: result.extend( speech_generator.SpeechGenerator._generateNumberOfChildren( self, obj, **args)) return result
def _generateNumberOfChildren(self, obj, **args): if _settingsManager.getSetting('onlySpeakDisplayedText'): return [] # We handle things even for non-document content due to issues in # other toolkits (e.g. exposing list items to us that are not # exposed to sighted users) role = args.get('role', obj.getRole()) if role not in [pyatspi.ROLE_LIST, pyatspi.ROLE_LIST_BOX]: return super()._generateNumberOfChildren(obj, **args) children = [x for x in obj if x.getRole() == pyatspi.ROLE_LIST_ITEM] if not children: return [] result = [messages.listItemCount(len(children))] result.extend(self.voice(speech_generator.SYSTEM)) return result
def _generateNumberOfChildren(self, obj, **args): if _settingsManager.getSetting("onlySpeakDisplayedText"): return [] # We handle things even for non-document content due to issues in # other toolkits (e.g. exposing list items to us that are not # exposed to sighted users) role = args.get("role", obj.getRole()) if role not in [pyatspi.ROLE_LIST, pyatspi.ROLE_LIST_BOX]: return super()._generateNumberOfChildren(obj, **args) setsize = self._script.utilities.getSetSize(obj[0]) if setsize is None: children = [x for x in obj if x.getRole() == pyatspi.ROLE_LIST_ITEM] setsize = len(children) if not setsize: return [] result = [messages.listItemCount(setsize)] result.extend(self.voice(speech_generator.SYSTEM)) return result