[orca] Web: Announce when rows, columns get reordered due to aria-sort changing
- From: Joanmarie Diggs <joanied src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [orca] Web: Announce when rows, columns get reordered due to aria-sort changing
- Date: Fri, 7 Aug 2020 09:41:57 +0000 (UTC)
commit bdb0fd3eae8d3fb955c5cc27c7fb7e3cfbd99bf2
Author: Joanmarie Diggs <jdiggs igalia com>
Date: Fri Aug 7 11:40:35 2020 +0200
Web: Announce when rows, columns get reordered due to aria-sort changing
Note: This support requires browsers to emit the expected signals.
Chromium will soon; Firefox doesn't yet.
src/orca/scripts/toolkits/Chromium/script.py | 20 ++++++++++++++++
src/orca/scripts/toolkits/Gecko/script.py | 20 ++++++++++++++++
src/orca/scripts/web/script.py | 34 ++++++++++++++++++++++++++++
3 files changed, 74 insertions(+)
---
diff --git a/src/orca/scripts/toolkits/Chromium/script.py b/src/orca/scripts/toolkits/Chromium/script.py
index 5cd9147d5..1c5fd77ab 100644
--- a/src/orca/scripts/toolkits/Chromium/script.py
+++ b/src/orca/scripts/toolkits/Chromium/script.py
@@ -165,6 +165,16 @@ class Script(web.Script):
debug.println(debug.LEVEL_INFO, msg, True)
default.Script.onCheckedChanged(self, event)
+ def onColumnReordered(self, event):
+ """Callback for object:column-reordered accessibility events."""
+
+ if super().onColumnReordered(event):
+ return
+
+ msg = "CHROMIUM: Passing along event to default script"
+ debug.println(debug.LEVEL_INFO, msg, True)
+ default.Script.onColumnReordered(self, event)
+
def onChildrenAdded(self, event):
"""Callback for object:children-changed:add accessibility events."""
@@ -299,6 +309,16 @@ class Script(web.Script):
debug.println(debug.LEVEL_INFO, msg, True)
default.Script.onNameChanged(self, event)
+ def onRowReordered(self, event):
+ """Callback for object:row-reordered accessibility events."""
+
+ if super().onRowReordered(event):
+ return
+
+ msg = "CHROMIUM: Passing along event to default script"
+ debug.println(debug.LEVEL_INFO, msg, True)
+ default.Script.onRowReordered(self, event)
+
def onSelectedChanged(self, event):
"""Callback for object:state-changed:selected accessibility events."""
diff --git a/src/orca/scripts/toolkits/Gecko/script.py b/src/orca/scripts/toolkits/Gecko/script.py
index d75b96ecc..4ff369f5b 100644
--- a/src/orca/scripts/toolkits/Gecko/script.py
+++ b/src/orca/scripts/toolkits/Gecko/script.py
@@ -131,6 +131,16 @@ class Script(web.Script):
debug.println(debug.LEVEL_INFO, msg, True)
default.Script.onCheckedChanged(self, event)
+ def onColumnReordered(self, event):
+ """Callback for object:column-reordered accessibility events."""
+
+ if super().onColumnReordered(event):
+ return
+
+ msg = "GECKO: Passing along event to default script"
+ debug.println(debug.LEVEL_INFO, msg, True)
+ default.Script.onColumnReordered(self, event)
+
def onChildrenAdded(self, event):
"""Callback for object:children-changed:add accessibility events."""
@@ -255,6 +265,16 @@ class Script(web.Script):
debug.println(debug.LEVEL_INFO, msg, True)
default.Script.onNameChanged(self, event)
+ def onRowReordered(self, event):
+ """Callback for object:row-reordered accessibility events."""
+
+ if super().onRowReordered(event):
+ return
+
+ msg = "GECKO: Passing along event to default script"
+ debug.println(debug.LEVEL_INFO, msg, True)
+ default.Script.onRowReordered(self, event)
+
def onSelectedChanged(self, event):
"""Callback for object:state-changed:selected accessibility events."""
diff --git a/src/orca/scripts/web/script.py b/src/orca/scripts/web/script.py
index e84682347..eadaf2eba 100644
--- a/src/orca/scripts/web/script.py
+++ b/src/orca/scripts/web/script.py
@@ -1792,6 +1792,23 @@ class Script(default.Script):
return False
+ def onColumnReordered(self, event):
+ """Callback for object:column-reordered accessibility events."""
+
+ if not self.utilities.inDocumentContent(event.source):
+ msg = "WEB: Event source is not in document content"
+ debug.println(debug.LEVEL_INFO, msg, True)
+ return False
+
+ if event.source != self.utilities.getTable(orca_state.locusOfFocus):
+ msg = "WEB: locusOfFocus (%s) is not in this table" % orca_state.locusOfFocus
+ debug.println(debug.LEVEL_INFO, msg, True)
+ return False
+
+ self.pointOfReference['last-table-sort-time'] = time.time()
+ self.presentMessage(messages.TABLE_REORDERED_COLUMNS)
+ return True
+
def onDocumentLoadComplete(self, event):
"""Callback for document:load-complete accessibility events."""
@@ -2006,6 +2023,23 @@ class Script(default.Script):
return True
+ def onRowReordered(self, event):
+ """Callback for object:row-reordered accessibility events."""
+
+ if not self.utilities.inDocumentContent(event.source):
+ msg = "WEB: Event source is not in document content"
+ debug.println(debug.LEVEL_INFO, msg, True)
+ return False
+
+ if event.source != self.utilities.getTable(orca_state.locusOfFocus):
+ msg = "WEB: locusOfFocus (%s) is not in this table" % orca_state.locusOfFocus
+ debug.println(debug.LEVEL_INFO, msg, True)
+ return False
+
+ self.pointOfReference['last-table-sort-time'] = time.time()
+ self.presentMessage(messages.TABLE_REORDERED_ROWS)
+ return True
+
def onSelectedChanged(self, event):
"""Callback for object:state-changed:selected accessibility events."""
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]