[orca/gnome-3-36] Chromium: Don't speak child position for popup menus
- From: Joanmarie Diggs <joanied src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [orca/gnome-3-36] Chromium: Don't speak child position for popup menus
- Date: Fri, 3 Apr 2020 17:05:20 +0000 (UTC)
commit aea5177fe47dc8923491c138463c53be0bd22f25
Author: Joanmarie Diggs <jdiggs igalia com>
Date: Fri Apr 3 13:01:48 2020 -0400
Chromium: Don't speak child position for popup menus
Popup menus for some reason live in a menu bar. This was causing us to
speak "1 of 1" each time a popup menu was announced and speak child
position enabled.
src/orca/script_utilities.py | 6 ++++++
src/orca/scripts/toolkits/Chromium/script_utilities.py | 6 ++++++
src/orca/speech_generator.py | 3 +--
3 files changed, 13 insertions(+), 2 deletions(-)
---
diff --git a/src/orca/script_utilities.py b/src/orca/script_utilities.py
index fccef8c35..57ca64e99 100644
--- a/src/orca/script_utilities.py
+++ b/src/orca/script_utilities.py
@@ -3929,6 +3929,12 @@ class Utilities:
return obj.parent and obj.parent.getRole() in self._contextMenuParentRoles()
+ def isTopLevelMenu(self, obj):
+ if obj.getRole() == pyatspi.ROLE_MENU:
+ return obj.parent == self.topLevelObject(obj)
+
+ return False
+
def isEntryCompletionPopupItem(self, obj):
return False
diff --git a/src/orca/scripts/toolkits/Chromium/script_utilities.py
b/src/orca/scripts/toolkits/Chromium/script_utilities.py
index d7ddf3798..25eb7ba13 100644
--- a/src/orca/scripts/toolkits/Chromium/script_utilities.py
+++ b/src/orca/scripts/toolkits/Chromium/script_utilities.py
@@ -234,6 +234,12 @@ class Utilities(web.Utilities):
return False
+ def isTopLevelMenu(self, obj):
+ if obj.getRole() == pyatspi.ROLE_MENU:
+ return self.isFrameForPopupMenu(self.topLevelObject(obj))
+
+ return False
+
def popupMenuForFrame(self, obj):
if not self.isFrameForPopupMenu(obj):
return None
diff --git a/src/orca/speech_generator.py b/src/orca/speech_generator.py
index cdd2848ef..ddfcab849 100644
--- a/src/orca/speech_generator.py
+++ b/src/orca/speech_generator.py
@@ -2193,8 +2193,7 @@ class SpeechGenerator(generator.Generator):
or args.get('forceList', False)):
return []
- if obj.getRole() == pyatspi.ROLE_MENU \
- and obj.parent == self._script.utilities.topLevelObject(obj):
+ if self._script.utilities.isTopLevelMenu(obj):
return []
if self._script.utilities.isEditableComboBox(obj):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]