Accessibility issues when editing the tag values
The whole app is easy to navigate with the keyboard alone without a mouse and almost fully accessible when using with orca screen reader. Huge compliments for this achievement. However there is an issue that when navigating text entries by character using left and right arrow keys screen reader is not reporting the character pointed to by the insertion point.
Steps:
- Launch Ear tag with orca running and open the file for testing
- Use tab or shift+tab to navigate until the single file in the list receives the focus.
- Expand by pressing the enter key.
- Use tab to navigate again until the focus stops in the track number text entry.
- Write in any value e.g. 10 just for testing.
- Use left and right arrow key to navigate.
Actual: The caret / insertion moves when performing the last point of my steps however screen reader is not reporting the characters.
Expected: The individual characters should be reported through the text to speech when arrowing in the text entry.
Notes: I've attempted to build a minimalist app with EditableLabel while finding out if this is an eartag issue or not and I am unable to reproduce the problem with the plain GTK Entry or the EditableLabel. Of course you need to adjust the steps for the EditableLabel. Having said all of this I am not sure where the problem might be.
import sys
import gi
gi.require_version('Gtk', '4.0')
gi.require_version('Adw', '1')
from gi.repository import Gtk, Adw
class MainWindow(Gtk.ApplicationWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.box1 = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL)
#self.entry = Gtk.EditableLabel()
self.entry = Gtk.Entry()
self.set_child(self.box1) # Horizontal box to window
self.box1.append(self.entry)
class MyApp(Adw.Application):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.connect('activate', self.on_activate)
def on_activate(self, app):
self.win = MainWindow(application=app)
self.win.present()
app = MyApp(application_id="com.example.GtkApplication")
app.run(sys.argv)