This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

Focus-caret tracking in GNOME Shell 3.9.x

In earlier versions of GNOME, the GNOME Shell magnifier had been relying upon on the Orca screen reader to track the current keyboard focus, scrolling the view of the magnified content to include the focused UI element or caret position. This would be acceptable for the very few users who require both a screen reader and screen magnifier simultaneously. However, for the majority of magnifier users, who want to use only a magnifier, it is overkill to launch a screen reader as well. The GNOME Shell magnifier should have its own caret and focus tracking mechanism, as is done on other platforms.

Owner

Joseph Scheuhammer, Magdalen Berns

Involved Parties

GNOME Shell team, gsettings-desktop-schemas maintainers (for different modes of focus-tracking), gnome-control-center (for providing UI for focus-tracking preferences), a11y team

Current Status

September 7 2013

Focus and caret tracking has been pushed to GNOME Shell master.

September 5, 2013

Merged !

June 18 2013

Sep 5, 2012

Prototype JavaScript has been implemented. The "FocusCaretTracker" object runs within GNOME Shell, and makes use of AT-SPI's event system.

The tracker receives notifications of focus and caret events from AT-SPI, and relays them to any interested party. It does the latter using gjs's signal system (signal.js).

However, there is a problem with focus and caret events when generated from within GNOME Shell itself; for example, from an St widget. In that case, there is an apparent UI freeze, but the system is again responsive 5 - 10 seconds later. Also, after the freeze, the event object sent back from AT-SPI is incomplete.

If the FocusCaretTracker code is run outside of GNOME Shell in a separate GJS process, the problem does not occur.

From 3.4 features page.

Started.

Next steps

Bugzilla:


2024-10-23 11:47