[orca] Add initial support for aria-braillelabel and aria-brailleroledescription



commit ea210feb50994c04c4dc8aff307e53c9cded0617
Author: Joanmarie Diggs <jdiggs igalia com>
Date:   Thu Nov 12 14:41:15 2020 +0100

    Add initial support for aria-braillelabel and aria-brailleroledescription

 src/orca/script_utilities.py              | 2 +-
 src/orca/scripts/web/braille_generator.py | 8 ++++++--
 src/orca/scripts/web/script_utilities.py  | 8 ++++++--
 3 files changed, 13 insertions(+), 5 deletions(-)
---
diff --git a/src/orca/script_utilities.py b/src/orca/script_utilities.py
index bc27bb5f4..5dff59abc 100644
--- a/src/orca/script_utilities.py
+++ b/src/orca/script_utilities.py
@@ -5008,7 +5008,7 @@ class Utilities:
         setSize = len(siblings)
         return position, setSize
 
-    def getRoleDescription(self, obj):
+    def getRoleDescription(self, obj, isBraille=False):
         return ""
 
     def getCachedTextSelection(self, obj):
diff --git a/src/orca/scripts/web/braille_generator.py b/src/orca/scripts/web/braille_generator.py
index 9626d3cbf..deb27d149 100644
--- a/src/orca/scripts/web/braille_generator.py
+++ b/src/orca/scripts/web/braille_generator.py
@@ -46,7 +46,7 @@ class BrailleGenerator(braille_generator.BrailleGenerator):
         if not self._script.utilities.inDocumentContent(obj):
             return super().getLocalizedRoleName(obj, **args)
 
-        roledescription = self._script.utilities.getRoleDescription(obj)
+        roledescription = self._script.utilities.getRoleDescription(obj, True)
         if roledescription:
             return roledescription
 
@@ -58,7 +58,7 @@ class BrailleGenerator(braille_generator.BrailleGenerator):
         if not self._script.utilities.inDocumentContent(obj):
             return super()._generateRoleName(obj, **args)
 
-        roledescription = self._script.utilities.getRoleDescription(obj)
+        roledescription = self._script.utilities.getRoleDescription(obj, True)
         if roledescription:
             return [roledescription]
 
@@ -165,6 +165,10 @@ class BrailleGenerator(braille_generator.BrailleGenerator):
         if not self._script.utilities.inDocumentContent(obj):
             return super()._generateName(obj, **args)
 
+        brailleLabel = self._script.utilities.objectAttributes(obj).get("braillelabel")
+        if brailleLabel:
+            return [brailleLabel]
+
         if self._script.utilities.preferDescriptionOverName(obj):
             return [obj.description]
 
diff --git a/src/orca/scripts/web/script_utilities.py b/src/orca/scripts/web/script_utilities.py
index 4de05f992..dc1f33290 100644
--- a/src/orca/scripts/web/script_utilities.py
+++ b/src/orca/scripts/web/script_utilities.py
@@ -523,9 +523,13 @@ class Utilities(script_utilities.Utilities):
         self._objectAttributes[hash(obj)] = rv
         return rv
 
-    def getRoleDescription(self, obj):
+    def getRoleDescription(self, obj, isBraille=False):
         attrs = self.objectAttributes(obj)
-        return attrs.get('roledescription', '')
+        rv = attrs.get('roledescription', '')
+        if isBraille:
+            rv = attrs.get('brailleroledescription', rv)
+
+        return rv
 
     def nodeLevel(self, obj):
         if not (obj and self.inDocumentContent(obj)):


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